diff --git a/.devcontainer/swift/Dockerfile b/.devcontainer/swift/Dockerfile new file mode 100644 index 00000000000..9b43eaf4f34 --- /dev/null +++ b/.devcontainer/swift/Dockerfile @@ -0,0 +1,9 @@ +# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.236.0/containers/cpp/.devcontainer/base.Dockerfile + +# [Choice] Debian / Ubuntu version (use Debian 11, Ubuntu 18.04/22.04 on local arm64/Apple Silicon): debian-11, debian-10, ubuntu-22.04, ubuntu-20.04, ubuntu-18.04 +FROM mcr.microsoft.com/vscode/devcontainers/cpp:0-ubuntu-22.04 + +USER root +ADD root.sh /tmp/root.sh +ADD update-codeql.sh /usr/local/bin/update-codeql +RUN bash /tmp/root.sh && rm /tmp/root.sh diff --git a/.devcontainer/swift/devcontainer.json b/.devcontainer/swift/devcontainer.json new file mode 100644 index 00000000000..97cd1bd022a --- /dev/null +++ b/.devcontainer/swift/devcontainer.json @@ -0,0 +1,25 @@ +{ + "extensions": [ + "github.vscode-codeql", + "hbenl.vscode-test-explorer", + "ms-vscode.test-adapter-converter", + "slevesque.vscode-zipexplorer", + "ms-vscode.cpptools" + ], + "settings": { + "files.watcherExclude": { + "**/target/**": true + }, + "codeQL.runningQueries.memory": 2048 + }, + "build": { + "dockerfile": "Dockerfile", + }, + "runArgs": [ + "--cap-add=SYS_PTRACE", + "--security-opt", + "seccomp=unconfined" + ], + "remoteUser": "vscode", + "onCreateCommand": ".devcontainer/swift/user.sh" +} diff --git a/.devcontainer/swift/root.sh b/.devcontainer/swift/root.sh new file mode 100644 index 00000000000..5f9648ce3e8 --- /dev/null +++ b/.devcontainer/swift/root.sh @@ -0,0 +1,22 @@ +set -xe + +BAZELISK_VERSION=v1.12.0 +BAZELISK_DOWNLOAD_SHA=6b0bcb2ea15bca16fffabe6fda75803440375354c085480fe361d2cbf32501db + +apt-get update +export DEBIAN_FRONTEND=noninteractive +apt-get -y install --no-install-recommends \ + zlib1g-dev \ + uuid-dev \ + python3-distutils \ + python3-pip \ + bash-completion + +# Install Bazel +curl -fSsL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/${BAZELISK_VERSION}/bazelisk-linux-amd64 +echo "${BAZELISK_DOWNLOAD_SHA} */usr/local/bin/bazelisk" | sha256sum --check - +chmod 0755 /usr/local/bin/bazelisk +ln -s bazelisk /usr/local/bin/bazel + +# install latest codeql +update-codeql diff --git a/.devcontainer/swift/update-codeql.sh b/.devcontainer/swift/update-codeql.sh new file mode 100755 index 00000000000..51fd7a612d3 --- /dev/null +++ b/.devcontainer/swift/update-codeql.sh @@ -0,0 +1,20 @@ +#!/bin/bash -e + +URL=https://github.com/github/codeql-cli-binaries/releases +LATEST_VERSION=$(curl -L -s -H 'Accept: application/json' $URL/latest | sed -e 's/.*"tag_name":"\([^"]*\)".*/\1/') +CURRENT_VERSION=v$(codeql version 2>/dev/null | sed -ne 's/.*release \([0-9.]*\)\./\1/p') +if [[ $CURRENT_VERSION != $LATEST_VERSION ]]; then + if [[ $UID != 0 ]]; then + echo "update required, please run this script with sudo:" + echo " sudo $0" + exit 1 + fi + ZIP=$(mktemp codeql.XXXX.zip) + curl -fSqL -o $ZIP $URL/download/$LATEST_VERSION/codeql-linux64.zip + unzip -q $ZIP -d /opt + rm $ZIP + ln -sf /opt/codeql/codeql /usr/local/bin/codeql + echo installed version $LATEST_VERSION +else + echo current version $CURRENT_VERSION is up-to-date +fi diff --git a/.devcontainer/swift/user.sh b/.devcontainer/swift/user.sh new file mode 100755 index 00000000000..fbf8aca57a7 --- /dev/null +++ b/.devcontainer/swift/user.sh @@ -0,0 +1,13 @@ +set -xe + +# add the workspace to the codeql search path +mkdir -p /home/vscode/.config/codeql +echo "--search-path /workspaces/codeql" > /home/vscode/.config/codeql/config + +# create a swift extractor pack with the current state +cd /workspaces/codeql +bazel run swift/create-extractor-pack + +#install and set up pre-commit +python3 -m pip install pre-commit --no-warn-script-location +$HOME/.local/bin/pre-commit install diff --git a/.github/actions/fetch-codeql/action.yml b/.github/actions/fetch-codeql/action.yml index 13b91525237..02098892663 100644 --- a/.github/actions/fetch-codeql/action.yml +++ b/.github/actions/fetch-codeql/action.yml @@ -3,22 +3,12 @@ description: Fetches the latest version of CodeQL runs: using: composite steps: - - name: Select platform - Linux - if: runner.os == 'Linux' - shell: bash - run: echo "GA_CODEQL_CLI_PLATFORM=linux64" >> $GITHUB_ENV - - - name: Select platform - MacOS - if: runner.os == 'MacOS' - shell: bash - run: echo "GA_CODEQL_CLI_PLATFORM=osx64" >> $GITHUB_ENV - - name: Fetch CodeQL shell: bash run: | - LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | grep -v beta | sort --version-sort | tail -1) - gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql-$GA_CODEQL_CLI_PLATFORM.zip "$LATEST" - unzip -q -d "${RUNNER_TEMP}" codeql-$GA_CODEQL_CLI_PLATFORM.zip - echo "${RUNNER_TEMP}/codeql" >> "${GITHUB_PATH}" + gh extension install github/gh-codeql + gh codeql set-channel nightly + gh codeql version + gh codeql version --format=json | jq -r .unpackedLocation >> "${GITHUB_PATH}" env: GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/check-change-note.yml b/.github/workflows/check-change-note.yml index 672202444bb..b60a590ab09 100644 --- a/.github/workflows/check-change-note.yml +++ b/.github/workflows/check-change-note.yml @@ -10,6 +10,7 @@ on: - "*/ql/lib/**/*.qll" - "!**/experimental/**" - "!ql/**" + - "!swift/**" - ".github/workflows/check-change-note.yml" jobs: diff --git a/.github/workflows/check-qldoc.yml b/.github/workflows/check-qldoc.yml index 77f524b73e7..cc7523162aa 100644 --- a/.github/workflows/check-qldoc.yml +++ b/.github/workflows/check-qldoc.yml @@ -5,6 +5,7 @@ on: paths: - "*/ql/lib/**" - .github/workflows/check-qldoc.yml + - .github/actions/fetch-codeql/action.yml branches: - main - "rc/*" @@ -14,18 +15,13 @@ jobs: runs-on: ubuntu-latest steps: - - name: Install CodeQL - run: | - gh extension install github/gh-codeql - gh codeql set-channel nightly - gh codeql version - env: - GITHUB_TOKEN: ${{ github.token }} - - uses: actions/checkout@v3 with: fetch-depth: 2 + - name: Install CodeQL + uses: ./.github/actions/fetch-codeql + - name: Check QLdoc coverage shell: bash run: | @@ -34,7 +30,7 @@ jobs: changed_lib_packs="$(git diff --name-only --diff-filter=ACMRT HEAD^ HEAD | { grep -Po '^(?!swift)[a-z]*/ql/lib' || true; } | sort -u)" for pack_dir in ${changed_lib_packs}; do lang="${pack_dir%/ql/lib}" - gh codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-current.txt" --dir="${pack_dir}" + codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-current.txt" --dir="${pack_dir}" done git checkout HEAD^ for pack_dir in ${changed_lib_packs}; do @@ -42,7 +38,7 @@ jobs: # In this case the right thing to do is to skip the check. [[ ! -d "${pack_dir}" ]] && continue lang="${pack_dir%/ql/lib}" - gh codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-baseline.txt" --dir="${pack_dir}" + codeql generate library-doc-coverage --output="${RUNNER_TEMP}/${lang}-baseline.txt" --dir="${pack_dir}" awk -F, '{gsub(/"/,""); if ($4==0 && $6=="public") print "\""$3"\"" }' "${RUNNER_TEMP}/${lang}-current.txt" | sort -u > "${RUNNER_TEMP}/current-undocumented.txt" awk -F, '{gsub(/"/,""); if ($4==0 && $6=="public") print "\""$3"\"" }' "${RUNNER_TEMP}/${lang}-baseline.txt" | sort -u > "${RUNNER_TEMP}/baseline-undocumented.txt" UNDOCUMENTED="$(grep -f <(comm -13 "${RUNNER_TEMP}/baseline-undocumented.txt" "${RUNNER_TEMP}/current-undocumented.txt") "${RUNNER_TEMP}/${lang}-current.txt" || true)" diff --git a/.github/workflows/csv-coverage-metrics.yml b/.github/workflows/csv-coverage-metrics.yml index 7778221dc2f..7555533ab98 100644 --- a/.github/workflows/csv-coverage-metrics.yml +++ b/.github/workflows/csv-coverage-metrics.yml @@ -12,6 +12,7 @@ on: - main paths: - ".github/workflows/csv-coverage-metrics.yml" + - ".github/actions/fetch-codeql/action.yml" jobs: publish-java: diff --git a/.github/workflows/csv-coverage-pr-artifacts.yml b/.github/workflows/csv-coverage-pr-artifacts.yml index 379b3c5aad8..19ad488a3ab 100644 --- a/.github/workflows/csv-coverage-pr-artifacts.yml +++ b/.github/workflows/csv-coverage-pr-artifacts.yml @@ -3,18 +3,20 @@ name: Check framework coverage changes on: pull_request: paths: - - '.github/workflows/csv-coverage-pr-comment.yml' - - '*/ql/src/**/*.ql' - - '*/ql/src/**/*.qll' - - '*/ql/lib/**/*.ql' - - '*/ql/lib/**/*.qll' - - 'misc/scripts/library-coverage/*.py' + - ".github/workflows/csv-coverage-pr-comment.yml" + - ".github/workflows/csv-coverage-pr-artifacts.yml" + - ".github/actions/fetch-codeql/action.yml" + - "*/ql/src/**/*.ql" + - "*/ql/src/**/*.qll" + - "*/ql/lib/**/*.ql" + - "*/ql/lib/**/*.qll" + - "misc/scripts/library-coverage/*.py" # input data files - - '*/documentation/library-coverage/cwe-sink.csv' - - '*/documentation/library-coverage/frameworks.csv' + - "*/documentation/library-coverage/cwe-sink.csv" + - "*/documentation/library-coverage/frameworks.csv" branches: - main - - 'rc/*' + - "rc/*" jobs: generate: @@ -23,77 +25,72 @@ jobs: runs-on: ubuntu-latest steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJSON(github.event) }} - run: echo "$GITHUB_CONTEXT" - - name: Clone self (github/codeql) - MERGE - uses: actions/checkout@v3 - with: - path: merge - - name: Clone self (github/codeql) - BASE - uses: actions/checkout@v3 - with: - fetch-depth: 2 - path: base - - run: | - git checkout HEAD^1 - git log -1 --format='%H' - working-directory: base - - name: Set up Python 3.8 - uses: actions/setup-python@v4 - with: - python-version: 3.8 - - name: Download CodeQL CLI - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release download --repo "github/codeql-cli-binaries" --pattern "codeql-linux64.zip" - - name: Unzip CodeQL CLI - run: unzip -d codeql-cli codeql-linux64.zip - - name: Generate CSV files on merge commit of the PR - run: | - echo "Running generator on merge" - PATH="$PATH:codeql-cli/codeql" python merge/misc/scripts/library-coverage/generate-report.py ci merge merge - mkdir out_merge - cp framework-coverage-*.csv out_merge/ - cp framework-coverage-*.rst out_merge/ - - name: Generate CSV files on base commit of the PR - run: | - echo "Running generator on base" - PATH="$PATH:codeql-cli/codeql" python base/misc/scripts/library-coverage/generate-report.py ci base base - mkdir out_base - cp framework-coverage-*.csv out_base/ - cp framework-coverage-*.rst out_base/ - - name: Generate diff of coverage reports - run: | - python base/misc/scripts/library-coverage/compare-folders.py out_base out_merge comparison.md - - name: Upload CSV package list - uses: actions/upload-artifact@v3 - with: - name: csv-framework-coverage-merge - path: | - out_merge/framework-coverage-*.csv - out_merge/framework-coverage-*.rst - - name: Upload CSV package list - uses: actions/upload-artifact@v3 - with: - name: csv-framework-coverage-base - path: | - out_base/framework-coverage-*.csv - out_base/framework-coverage-*.rst - - name: Upload comparison results - uses: actions/upload-artifact@v3 - with: - name: comparison - path: | - comparison.md - - name: Save PR number - run: | - mkdir -p pr - echo ${{ github.event.pull_request.number }} > pr/NR - - name: Upload PR number - uses: actions/upload-artifact@v3 - with: - name: pr - path: pr/ + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJSON(github.event) }} + run: echo "$GITHUB_CONTEXT" + - name: Clone self (github/codeql) - MERGE + uses: actions/checkout@v3 + with: + path: merge + - name: Clone self (github/codeql) - BASE + uses: actions/checkout@v3 + with: + fetch-depth: 2 + path: base + - run: | + git checkout HEAD^1 + git log -1 --format='%H' + working-directory: base + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + - name: Download CodeQL CLI + uses: ./merge/.github/actions/fetch-codeql + - name: Generate CSV files on merge commit of the PR + run: | + echo "Running generator on merge" + python merge/misc/scripts/library-coverage/generate-report.py ci merge merge + mkdir out_merge + cp framework-coverage-*.csv out_merge/ + cp framework-coverage-*.rst out_merge/ + - name: Generate CSV files on base commit of the PR + run: | + echo "Running generator on base" + python base/misc/scripts/library-coverage/generate-report.py ci base base + mkdir out_base + cp framework-coverage-*.csv out_base/ + cp framework-coverage-*.rst out_base/ + - name: Generate diff of coverage reports + run: | + python base/misc/scripts/library-coverage/compare-folders.py out_base out_merge comparison.md + - name: Upload CSV package list + uses: actions/upload-artifact@v3 + with: + name: csv-framework-coverage-merge + path: | + out_merge/framework-coverage-*.csv + out_merge/framework-coverage-*.rst + - name: Upload CSV package list + uses: actions/upload-artifact@v3 + with: + name: csv-framework-coverage-base + path: | + out_base/framework-coverage-*.csv + out_base/framework-coverage-*.rst + - name: Upload comparison results + uses: actions/upload-artifact@v3 + with: + name: comparison + path: | + comparison.md + - name: Save PR number + run: | + mkdir -p pr + echo ${{ github.event.pull_request.number }} > pr/NR + - name: Upload PR number + uses: actions/upload-artifact@v3 + with: + name: pr + path: pr/ diff --git a/.github/workflows/csv-coverage-timeseries.yml b/.github/workflows/csv-coverage-timeseries.yml index 95b084ea215..ea216f68949 100644 --- a/.github/workflows/csv-coverage-timeseries.yml +++ b/.github/workflows/csv-coverage-timeseries.yml @@ -5,38 +5,29 @@ on: jobs: build: - runs-on: ubuntu-latest steps: - - name: Clone self (github/codeql) - uses: actions/checkout@v3 - with: - path: script - - name: Clone self (github/codeql) for analysis - uses: actions/checkout@v3 - with: - path: codeqlModels - fetch-depth: 0 - - name: Set up Python 3.8 - uses: actions/setup-python@v4 - with: - python-version: 3.8 - - name: Download CodeQL CLI - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release download --repo "github/codeql-cli-binaries" --pattern "codeql-linux64.zip" - - name: Unzip CodeQL CLI - run: unzip -d codeql-cli codeql-linux64.zip - - name: Build modeled package list - run: | - CLI=$(realpath "codeql-cli/codeql") - echo $CLI - PATH="$PATH:$CLI" python script/misc/scripts/library-coverage/generate-timeseries.py codeqlModels - - name: Upload timeseries CSV - uses: actions/upload-artifact@v3 - with: - name: framework-coverage-timeseries - path: framework-coverage-timeseries-*.csv - + - name: Clone self (github/codeql) + uses: actions/checkout@v3 + with: + path: script + - name: Clone self (github/codeql) for analysis + uses: actions/checkout@v3 + with: + path: codeqlModels + fetch-depth: 0 + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + - name: Download CodeQL CLI + uses: ./.github/actions/fetch-codeql + - name: Build modeled package list + run: | + python script/misc/scripts/library-coverage/generate-timeseries.py codeqlModels + - name: Upload timeseries CSV + uses: actions/upload-artifact@v3 + with: + name: framework-coverage-timeseries + path: framework-coverage-timeseries-*.csv diff --git a/.github/workflows/csv-coverage-update.yml b/.github/workflows/csv-coverage-update.yml index c57056b6de1..1de2149ce2e 100644 --- a/.github/workflows/csv-coverage-update.yml +++ b/.github/workflows/csv-coverage-update.yml @@ -12,33 +12,27 @@ jobs: runs-on: ubuntu-latest steps: - - name: Dump GitHub context - env: - GITHUB_CONTEXT: ${{ toJSON(github.event) }} - run: echo "$GITHUB_CONTEXT" - - name: Clone self (github/codeql) - uses: actions/checkout@v3 - with: - path: ql - fetch-depth: 0 - - name: Set up Python 3.8 - uses: actions/setup-python@v4 - with: - python-version: 3.8 - - name: Download CodeQL CLI - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release download --repo "github/codeql-cli-binaries" --pattern "codeql-linux64.zip" - - name: Unzip CodeQL CLI - run: unzip -d codeql-cli codeql-linux64.zip + - name: Dump GitHub context + env: + GITHUB_CONTEXT: ${{ toJSON(github.event) }} + run: echo "$GITHUB_CONTEXT" + - name: Clone self (github/codeql) + uses: actions/checkout@v3 + with: + path: ql + fetch-depth: 0 + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + - name: Download CodeQL CLI + uses: ./.github/actions/fetch-codeql + - name: Generate coverage files + run: | + python ql/misc/scripts/library-coverage/generate-report.py ci ql ql - - name: Generate coverage files - run: | - PATH="$PATH:codeql-cli/codeql" python ql/misc/scripts/library-coverage/generate-report.py ci ql ql - - - name: Create pull request with changes - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - python ql/misc/scripts/library-coverage/create-pr.py ql "$GITHUB_REPOSITORY" + - name: Create pull request with changes + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + python ql/misc/scripts/library-coverage/create-pr.py ql "$GITHUB_REPOSITORY" diff --git a/.github/workflows/csv-coverage.yml b/.github/workflows/csv-coverage.yml index 9a308d50265..e829957a0d3 100644 --- a/.github/workflows/csv-coverage.yml +++ b/.github/workflows/csv-coverage.yml @@ -4,46 +4,39 @@ on: workflow_dispatch: inputs: qlModelShaOverride: - description: 'github/codeql repo SHA used for looking up the CSV models' + description: "github/codeql repo SHA used for looking up the CSV models" required: false jobs: build: - runs-on: ubuntu-latest steps: - - name: Clone self (github/codeql) - uses: actions/checkout@v3 - with: - path: script - - name: Clone self (github/codeql) for analysis - uses: actions/checkout@v3 - with: - path: codeqlModels - ref: ${{ github.event.inputs.qlModelShaOverride || github.ref }} - - name: Set up Python 3.8 - uses: actions/setup-python@v4 - with: - python-version: 3.8 - - name: Download CodeQL CLI - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - gh release download --repo "github/codeql-cli-binaries" --pattern "codeql-linux64.zip" - - name: Unzip CodeQL CLI - run: unzip -d codeql-cli codeql-linux64.zip - - name: Build modeled package list - run: | - PATH="$PATH:codeql-cli/codeql" python script/misc/scripts/library-coverage/generate-report.py ci codeqlModels script - - name: Upload CSV package list - uses: actions/upload-artifact@v3 - with: - name: framework-coverage-csv - path: framework-coverage-*.csv - - name: Upload RST package list - uses: actions/upload-artifact@v3 - with: - name: framework-coverage-rst - path: framework-coverage-*.rst - + - name: Clone self (github/codeql) + uses: actions/checkout@v3 + with: + path: script + - name: Clone self (github/codeql) for analysis + uses: actions/checkout@v3 + with: + path: codeqlModels + ref: ${{ github.event.inputs.qlModelShaOverride || github.ref }} + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: 3.8 + - name: Download CodeQL CLI + uses: ./.github/actions/fetch-codeql + - name: Build modeled package list + run: | + python script/misc/scripts/library-coverage/generate-report.py ci codeqlModels script + - name: Upload CSV package list + uses: actions/upload-artifact@v3 + with: + name: framework-coverage-csv + path: framework-coverage-*.csv + - name: Upload RST package list + uses: actions/upload-artifact@v3 + with: + name: framework-coverage-rst + path: framework-coverage-*.rst diff --git a/.github/workflows/go-tests.yml b/.github/workflows/go-tests.yml index ca126d1a3ee..26055bd71da 100644 --- a/.github/workflows/go-tests.yml +++ b/.github/workflows/go-tests.yml @@ -4,159 +4,111 @@ on: paths: - "go/**" - .github/workflows/go-tests.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml jobs: - test-linux: name: Test Linux (Ubuntu) runs-on: ubuntu-latest steps: + - name: Set up Go 1.18.1 + uses: actions/setup-go@v3 + with: + go-version: 1.18.1 + id: go - - name: Set up Go 1.18.1 - uses: actions/setup-go@v3 - with: - go-version: 1.18.1 - id: go + - name: Check out code + uses: actions/checkout@v2 - - name: Set up CodeQL CLI - run: | - echo "Removing old CodeQL Directory..." - rm -rf $HOME/codeql - echo "Done" - cd $HOME - echo "Downloading CodeQL CLI..." - LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | sort --version-sort | grep -v beta | tail -1) - gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql-linux64.zip "$LATEST" - echo "Done" - echo "Unpacking CodeQL CLI..." - unzip -q codeql-linux64.zip - rm -f codeql-linux64.zip - echo "Done" - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Set up CodeQL CLI + uses: ./.github/actions/fetch-codeql - - name: Check out code - uses: actions/checkout@v2 + - name: Enable problem matchers in repository + shell: bash + run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' - - name: Enable problem matchers in repository - shell: bash - run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' + - name: Build + run: | + cd go + make - - name: Build - run: | - cd go - env PATH=$PATH:$HOME/codeql make + - name: Check that all QL and Go code is autoformatted + run: | + cd go + make check-formatting - - name: Check that all QL and Go code is autoformatted - run: | - cd go - env PATH=$PATH:$HOME/codeql make check-formatting + - name: Compile qhelp files to markdown + run: | + cd go + env QHELP_OUT_DIR=qhelp-out make qhelp-to-markdown - - name: Compile qhelp files to markdown - run: | - cd go - env PATH=$PATH:$HOME/codeql QHELP_OUT_DIR=qhelp-out make qhelp-to-markdown + - name: Upload qhelp markdown + uses: actions/upload-artifact@v2 + with: + name: qhelp-markdown + path: go/qhelp-out/**/*.md - - name: Upload qhelp markdown - uses: actions/upload-artifact@v2 - with: - name: qhelp-markdown - path: go/qhelp-out/**/*.md - - - name: Test - run: | - cd go - env PATH=$PATH:$HOME/codeql make test + - name: Test + run: | + cd go + make test test-mac: name: Test MacOS - runs-on: macOS-latest + runs-on: macos-latest steps: - - name: Set up Go 1.18.1 - uses: actions/setup-go@v3 - with: - go-version: 1.18.1 - id: go + - name: Set up Go 1.18.1 + uses: actions/setup-go@v3 + with: + go-version: 1.18.1 + id: go - - name: Set up CodeQL CLI - run: | - echo "Removing old CodeQL Directory..." - rm -rf $HOME/codeql - echo "Done" - cd $HOME - echo "Downloading CodeQL CLI..." - LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | sort --version-sort | grep -v beta | tail -1) - gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql-osx64.zip "$LATEST" - echo "Done" - echo "Unpacking CodeQL CLI..." - unzip -q codeql-osx64.zip - rm -f codeql-osx64.zip - echo "Done" - env: - GITHUB_TOKEN: ${{ github.token }} + - name: Check out code + uses: actions/checkout@v2 - - name: Check out code - uses: actions/checkout@v2 + - name: Set up CodeQL CLI + uses: ./.github/actions/fetch-codeql - - name: Enable problem matchers in repository - shell: bash - run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' + - name: Enable problem matchers in repository + shell: bash + run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' - - name: Build - run: | - cd go - env PATH=$PATH:$HOME/codeql make + - name: Build + run: | + cd go + make - - name: Test - run: | - cd go - env PATH=$PATH:$HOME/codeql make test + - name: Test + run: | + cd go + make test test-win: name: Test Windows runs-on: windows-2019 steps: - - name: Set up Go 1.18.1 - uses: actions/setup-go@v3 - with: - go-version: 1.18.1 - id: go + - name: Set up Go 1.18.1 + uses: actions/setup-go@v3 + with: + go-version: 1.18.1 + id: go - - name: Set up CodeQL CLI - run: | - echo "Removing old CodeQL Directory..." - rm -rf $HOME/codeql - echo "Done" - cd "$HOME" - echo "Downloading CodeQL CLI..." - LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | sort --version-sort | grep -v beta | tail -1) - gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql-win64.zip "$LATEST" - echo "Done" - echo "Unpacking CodeQL CLI..." - unzip -q -o codeql-win64.zip - unzip -q -o codeql-win64.zip codeql/codeql.exe - rm -f codeql-win64.zip - echo "Done" - env: - GITHUB_TOKEN: ${{ github.token }} - shell: - bash + - name: Check out code + uses: actions/checkout@v2 - - name: Check out code - uses: actions/checkout@v2 + - name: Set up CodeQL CLI + uses: ./.github/actions/fetch-codeql - - name: Enable problem matchers in repository - shell: bash - run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' + - name: Enable problem matchers in repository + shell: bash + run: 'find .github/problem-matchers -name \*.json -exec echo "::add-matcher::{}" \;' - - name: Build - run: | - $Env:Path += ";$HOME\codeql" - cd go - make + - name: Build + run: | + cd go + make - - name: Test - run: | - $Env:Path += ";$HOME\codeql" - cd go - make test + - name: Test + run: | + cd go + make test diff --git a/.github/workflows/js-ml-tests.yml b/.github/workflows/js-ml-tests.yml index 65db215d8c3..c932432530b 100644 --- a/.github/workflows/js-ml-tests.yml +++ b/.github/workflows/js-ml-tests.yml @@ -5,6 +5,7 @@ on: paths: - "javascript/ql/experimental/adaptivethreatmodeling/**" - .github/workflows/js-ml-tests.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml branches: - main @@ -13,6 +14,7 @@ on: paths: - "javascript/ql/experimental/adaptivethreatmodeling/**" - .github/workflows/js-ml-tests.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml workflow_dispatch: diff --git a/.github/workflows/mad_regenerate-models.yml b/.github/workflows/mad_regenerate-models.yml index d1d7e6e3791..0abc8936911 100644 --- a/.github/workflows/mad_regenerate-models.yml +++ b/.github/workflows/mad_regenerate-models.yml @@ -9,6 +9,7 @@ on: - main paths: - ".github/workflows/mad_regenerate-models.yml" + - ".github/actions/fetch-codeql/action.yml" jobs: regenerate-models: diff --git a/.github/workflows/ql-for-ql-build.yml b/.github/workflows/ql-for-ql-build.yml index 6b4f6a0abee..f5df6291b62 100644 --- a/.github/workflows/ql-for-ql-build.yml +++ b/.github/workflows/ql-for-ql-build.yml @@ -10,16 +10,16 @@ env: CARGO_TERM_COLOR: always jobs: - queries: - runs-on: ubuntu-latest + analyze: + runs-on: ubuntu-latest-xl steps: + ### Build the queries ### - uses: actions/checkout@v3 - name: Find codeql id: find-codeql uses: github/codeql-action/init@aa93aea877e5fb8841bcb1193f672abf6e9f2980 with: languages: javascript # does not matter - tools: latest - name: Get CodeQL version id: get-codeql-version run: | @@ -49,14 +49,7 @@ jobs: name: query-pack-zip path: ${{ runner.temp }}/query-pack.zip - extractors: - strategy: - fail-fast: false - - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 + ### Build the extractor ### - name: Cache entire extractor id: cache-extractor uses: actions/cache@v3 @@ -100,15 +93,8 @@ jobs: ql/target/release/ql-extractor ql/target/release/ql-extractor.exe retention-days: 1 - package: - runs-on: ubuntu-latest - needs: - - extractors - - queries - - steps: - - uses: actions/checkout@v3 + ### Package the queries and extractor ### - uses: actions/download-artifact@v3 with: name: query-pack-zip @@ -136,16 +122,8 @@ jobs: name: codeql-ql-pack path: codeql-ql.zip retention-days: 1 - analyze: - runs-on: ubuntu-latest - strategy: - matrix: - folder: [cpp, csharp, java, javascript, python, ql, ruby, swift, go] - needs: - - package - - steps: + ### Run the analysis ### - name: Download pack uses: actions/download-artifact@v3 with: @@ -165,14 +143,11 @@ jobs: env: PACK: ${{ runner.temp }}/pack - - name: Checkout repository - uses: actions/checkout@v3 - name: Create CodeQL config file run: | - echo "paths:" > ${CONF} - echo " - ${FOLDER}" >> ${CONF} echo "paths-ignore:" >> ${CONF} echo " - ql/ql/test" >> ${CONF} + echo " - \"*/ql/lib/upgrades/\"" >> ${CONF} echo "disable-default-queries: true" >> ${CONF} echo "packs:" >> ${CONF} echo " - codeql/ql" >> ${CONF} @@ -180,24 +155,34 @@ jobs: cat ${CONF} env: CONF: ./ql-for-ql-config.yml - FOLDER: ${{ matrix.folder }} - name: Initialize CodeQL uses: github/codeql-action/init@aa93aea877e5fb8841bcb1193f672abf6e9f2980 with: languages: ql db-location: ${{ runner.temp }}/db config-file: ./ql-for-ql-config.yml - tools: latest - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@aa93aea877e5fb8841bcb1193f672abf6e9f2980 with: - category: "ql-for-ql-${{ matrix.folder }}" + category: "ql-for-ql" - name: Copy sarif file to CWD - run: cp ../results/ql.sarif ./${{ matrix.folder }}.sarif + run: cp ../results/ql.sarif ./ql-for-ql.sarif + - name: Fixup the $scema in sarif # Until https://github.com/microsoft/sarif-vscode-extension/pull/436/ is part in a stable release + run: | + sed -i 's/\$schema.*/\$schema": "https:\/\/raw.githubusercontent.com\/oasis-tcs\/sarif-spec\/master\/Schemata\/sarif-schema-2.1.0",/' ql-for-ql.sarif - name: Sarif as artifact uses: actions/upload-artifact@v3 with: - name: ${{ matrix.folder }}.sarif - path: ${{ matrix.folder }}.sarif - + name: ql-for-ql.sarif + path: ql-for-ql.sarif + - name: Split out the sarif file into langs + run: | + mkdir split-sarif + node ./ql/scripts/split-sarif.js ql-for-ql.sarif split-sarif + - name: Upload langs as artifacts + uses: actions/upload-artifact@v3 + with: + name: ql-for-ql-langs + path: split-sarif + retention-days: 1 \ No newline at end of file diff --git a/.github/workflows/ql-for-ql-dataset_measure.yml b/.github/workflows/ql-for-ql-dataset_measure.yml index cf3b696f3b8..a5ed2e9b266 100644 --- a/.github/workflows/ql-for-ql-dataset_measure.yml +++ b/.github/workflows/ql-for-ql-dataset_measure.yml @@ -36,7 +36,7 @@ jobs: ql/target key: ${{ runner.os }}-qltest-cargo-${{ hashFiles('ql/**/Cargo.lock') }} - name: Build Extractor - run: cd ql; env "PATH=$PATH:`dirname ${CODEQL}`" ./create-extractor-pack.sh + run: cd ql; env "PATH=$PATH:`dirname ${CODEQL}`" ./scripts/create-extractor-pack.sh env: CODEQL: ${{ steps.find-codeql.outputs.codeql-path }} - name: Checkout ${{ matrix.repo }} diff --git a/.github/workflows/ql-for-ql-tests.yml b/.github/workflows/ql-for-ql-tests.yml index 3b0a4963b79..b016f21f2b9 100644 --- a/.github/workflows/ql-for-ql-tests.yml +++ b/.github/workflows/ql-for-ql-tests.yml @@ -36,7 +36,7 @@ jobs: run: | cd ql; codeqlpath=$(dirname ${{ steps.find-codeql.outputs.codeql-path }}); - env "PATH=$PATH:$codeqlpath" ./create-extractor-pack.sh + env "PATH=$PATH:$codeqlpath" ./scripts/create-extractor-pack.sh - name: Run QL tests run: | "${CODEQL}" test run --check-databases --check-unused-labels --check-repeated-labels --check-redefined-labels --check-use-before-definition --search-path "${{ github.workspace }}/ql/extractor-pack" --consistency-queries ql/ql/consistency-queries ql/ql/test diff --git a/.github/workflows/query-list.yml b/.github/workflows/query-list.yml index 9416b740c99..efb295dfcf8 100644 --- a/.github/workflows/query-list.yml +++ b/.github/workflows/query-list.yml @@ -10,6 +10,7 @@ on: pull_request: paths: - '.github/workflows/query-list.yml' + - '.github/actions/fetch-codeql/action.yml' - 'misc/scripts/generate-code-scanning-query-list.py' jobs: @@ -29,8 +30,6 @@ jobs: - name: Download CodeQL CLI # Look under the `codeql` directory, as this is where we checked out the `github/codeql` repo uses: ./codeql/.github/actions/fetch-codeql - - name: Unzip CodeQL CLI - run: unzip -d codeql-cli codeql-linux64.zip - name: Build code scanning query list run: | python codeql/misc/scripts/generate-code-scanning-query-list.py > code-scanning-query-list.csv diff --git a/.github/workflows/ruby-build.yml b/.github/workflows/ruby-build.yml index c402312db0e..6ad627aab48 100644 --- a/.github/workflows/ruby-build.yml +++ b/.github/workflows/ruby-build.yml @@ -5,6 +5,7 @@ on: paths: - "ruby/**" - .github/workflows/ruby-build.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml branches: - main @@ -13,6 +14,7 @@ on: paths: - "ruby/**" - .github/workflows/ruby-build.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml branches: - main @@ -90,19 +92,14 @@ jobs: steps: - uses: actions/checkout@v3 - name: Fetch CodeQL - run: | - LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | grep -v beta | sort --version-sort | tail -1) - gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql-linux64.zip "$LATEST" - unzip -q codeql-linux64.zip - env: - GITHUB_TOKEN: ${{ github.token }} + uses: ./.github/actions/fetch-codeql - name: Build Query Pack run: | - codeql/codeql pack create ql/lib --output target/packs - codeql/codeql pack install ql/src - codeql/codeql pack create ql/src --output target/packs + codeql pack create ql/lib --output target/packs + codeql pack install ql/src + codeql pack create ql/src --output target/packs PACK_FOLDER=$(readlink -f target/packs/codeql/ruby-queries/*) - codeql/codeql generate query-help --format=sarifv2.1.0 --output="${PACK_FOLDER}/rules.sarif" ql/src + codeql generate query-help --format=sarifv2.1.0 --output="${PACK_FOLDER}/rules.sarif" ql/src (cd ql/src; find queries \( -name '*.qhelp' -o -name '*.rb' -o -name '*.erb' \) -exec bash -c 'mkdir -p "'"${PACK_FOLDER}"'/$(dirname "{}")"' \; -exec cp "{}" "${PACK_FOLDER}/{}" \;) - uses: actions/upload-artifact@v3 with: @@ -179,19 +176,15 @@ jobs: runs-on: ${{ matrix.os }} needs: [package] steps: + - uses: actions/checkout@v3 + - name: Fetch CodeQL + uses: ./.github/actions/fetch-codeql + - uses: actions/checkout@v3 with: repository: Shopify/example-ruby-app ref: 67a0decc5eb550f3a9228eda53925c3afd40dfe9 - - name: Fetch CodeQL - shell: bash - run: | - LATEST=$(gh release list --repo https://github.com/github/codeql-cli-binaries | cut -f 1 | grep -v beta | sort --version-sort | tail -1) - gh release download --repo https://github.com/github/codeql-cli-binaries --pattern codeql.zip "$LATEST" - unzip -q codeql.zip - env: - GITHUB_TOKEN: ${{ github.token }} - working-directory: ${{ runner.temp }} + - name: Download Ruby bundle uses: actions/download-artifact@v3 with: @@ -215,12 +208,12 @@ jobs: - name: Run QL test shell: bash run: | - "${{ runner.temp }}/codeql/codeql" test run --search-path "${{ runner.temp }}/ruby-bundle" --additional-packs "${{ runner.temp }}/ruby-bundle" . + codeql test run --search-path "${{ runner.temp }}/ruby-bundle" --additional-packs "${{ runner.temp }}/ruby-bundle" . - name: Create database shell: bash run: | - "${{ runner.temp }}/codeql/codeql" database create --search-path "${{ runner.temp }}/ruby-bundle" --language ruby --source-root . ../database + codeql database create --search-path "${{ runner.temp }}/ruby-bundle" --language ruby --source-root . ../database - name: Analyze database shell: bash run: | - "${{ runner.temp }}/codeql/codeql" database analyze --search-path "${{ runner.temp }}/ruby-bundle" --format=sarifv2.1.0 --output=out.sarif ../database ruby-code-scanning.qls + codeql database analyze --search-path "${{ runner.temp }}/ruby-bundle" --format=sarifv2.1.0 --output=out.sarif ../database ruby-code-scanning.qls diff --git a/.github/workflows/ruby-qltest.yml b/.github/workflows/ruby-qltest.yml index 0cf8860d8f1..97235b722ba 100644 --- a/.github/workflows/ruby-qltest.yml +++ b/.github/workflows/ruby-qltest.yml @@ -5,6 +5,7 @@ on: paths: - "ruby/**" - .github/workflows/ruby-qltest.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml branches: - main @@ -13,6 +14,7 @@ on: paths: - "ruby/**" - .github/workflows/ruby-qltest.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml branches: - main diff --git a/.github/workflows/swift-codegen.yml b/.github/workflows/swift-codegen.yml index d5d74af87c2..5700045430d 100644 --- a/.github/workflows/swift-codegen.yml +++ b/.github/workflows/swift-codegen.yml @@ -5,6 +5,7 @@ on: paths: - "swift/**" - .github/workflows/swift-codegen.yml + - .github/actions/fetch-codeql/action.yml branches: - main @@ -15,18 +16,22 @@ jobs: - uses: actions/checkout@v3 - uses: ./.github/actions/fetch-codeql - uses: bazelbuild/setup-bazelisk@v2 + - uses: actions/setup-python@v3 + - uses: pre-commit/action@v3.0.0 + name: Check that python code is properly formatted + with: + extra_args: autopep8 --all-files - name: Run unit tests run: | bazel test //swift/codegen/test --test_output=errors - - name: Check that QL generated code was checked in - run: | - bazel run //swift/codegen - git add swift - git diff --exit-code HEAD + - uses: pre-commit/action@v3.0.0 + name: Check that QL generated code was checked in + with: + extra_args: swift-codegen --all-files - name: Generate C++ files run: | - bazel run //swift/codegen:codegen -- --generate=trap,cpp --cpp-output=$PWD/swift-generated-headers + bazel run //swift/codegen:codegen -- --generate=trap,cpp --cpp-output=$PWD/swift-generated-cpp-files - uses: actions/upload-artifact@v3 with: - name: swift-generated-headers - path: swift-generated-headers/*.h + name: swift-generated-cpp-files + path: swift-generated-cpp-files/** diff --git a/.github/workflows/swift-integration-tests.yml b/.github/workflows/swift-integration-tests.yml new file mode 100644 index 00000000000..4d4248b64e3 --- /dev/null +++ b/.github/workflows/swift-integration-tests.yml @@ -0,0 +1,35 @@ +name: "Swift: Run Integration Tests" + +on: + pull_request: + paths: + - "swift/**" + - .github/workflows/swift-integration-tests.yml + - .github/actions/fetch-codeql/action.yml + - codeql-workspace.yml + branches: + - main +defaults: + run: + working-directory: swift + +jobs: + integration-tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: + - ubuntu-20.04 +# - macos-latest TODO + steps: + - uses: actions/checkout@v3 + - uses: ./.github/actions/fetch-codeql + - uses: bazelbuild/setup-bazelisk@v2 + - uses: actions/setup-python@v3 + - name: Build Swift extractor + run: | + bazel run //swift:create-extractor-pack + - name: Run integration tests + run: | + python integration-tests/runner.py diff --git a/.github/workflows/swift-qltest.yml b/.github/workflows/swift-qltest.yml index 915e1f331a5..3cbcf629c98 100644 --- a/.github/workflows/swift-qltest.yml +++ b/.github/workflows/swift-qltest.yml @@ -5,6 +5,7 @@ on: paths: - "swift/**" - .github/workflows/swift-qltest.yml + - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml branches: - main diff --git a/.github/workflows/validate-change-notes.yml b/.github/workflows/validate-change-notes.yml index 798913746be..44e0dc6df29 100644 --- a/.github/workflows/validate-change-notes.yml +++ b/.github/workflows/validate-change-notes.yml @@ -5,6 +5,7 @@ on: paths: - "*/ql/*/change-notes/**/*" - ".github/workflows/validate-change-notes.yml" + - ".github/actions/fetch-codeql/action.yml" branches: - main - "rc/*" @@ -12,6 +13,7 @@ on: paths: - "*/ql/*/change-notes/**/*" - ".github/workflows/validate-change-notes.yml" + - ".github/actions/fetch-codeql/action.yml" jobs: check-change-note: diff --git a/.gitignore b/.gitignore index 165d549cee2..7b8532b00d2 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,6 @@ go/main # node_modules folders except in the JS test suite node_modules/ !/javascript/ql/test/**/node_modules/ + +# Temporary folders for working with generated models +.model-temp diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d9beda01b10..d51681aa65c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,6 +15,12 @@ repos: - id: clang-format files: ^swift/.*\.(h|c|cpp)$ + - repo: https://github.com/pre-commit/mirrors-autopep8 + rev: v1.6.0 + hooks: + - id: autopep8 + files: ^swift/codegen/.*\.py + - repo: local hooks: - id: codeql-format @@ -40,7 +46,7 @@ repos: name: Run Swift checked in code generation files: ^swift/(codegen/|.*/generated/|ql/lib/(swift\.dbscheme$|codeql/swift/elements)) language: system - entry: bazel run //swift/codegen + entry: bazel run //swift/codegen -- --quiet pass_filenames: false - id: swift-codegen-unit-tests diff --git a/CODEOWNERS b/CODEOWNERS index da71d1ec5d8..1754d58af63 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -42,3 +42,4 @@ WORKSPACE.bazel @github/codeql-ci-reviewers /.github/workflows/js-ml-tests.yml @github/codeql-ml-powered-queries-reviewers /.github/workflows/ql-for-ql-* @github/codeql-ql-for-ql-reviewers /.github/workflows/ruby-* @github/codeql-ruby +/.github/workflows/swift-* @github/codeql-c diff --git a/config/identical-files.json b/config/identical-files.json index 62472fc9ed8..403e6b91c2f 100644 --- a/config/identical-files.json +++ b/config/identical-files.json @@ -75,7 +75,8 @@ "DataFlow Java/C# Flow Summaries": [ "java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll", "csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll", - "ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll" + "ruby/ql/lib/codeql/ruby/dataflow/internal/FlowSummaryImpl.qll", + "swift/ql/lib/codeql/swift/dataflow/internal/FlowSummaryImpl.qll" ], "SsaReadPosition Java/C#": [ "java/ql/lib/semmle/code/java/dataflow/internal/rangeanalysis/SsaReadPositionCommon.qll", @@ -391,7 +392,8 @@ "python/ql/test/TestUtilities/InlineExpectationsTest.qll", "ruby/ql/test/TestUtilities/InlineExpectationsTest.qll", "ql/ql/test/TestUtilities/InlineExpectationsTest.qll", - "go/ql/test/TestUtilities/InlineExpectationsTest.qll" + "go/ql/test/TestUtilities/InlineExpectationsTest.qll", + "swift/ql/test/TestUtilities/InlineExpectationsTest.qll" ], "C++ ExternalAPIs": [ "cpp/ql/src/Security/CWE/CWE-020/ExternalAPIs.qll", @@ -452,11 +454,11 @@ "python/ql/src/Lexical/CommentedOutCodeReferences.inc.qhelp" ], "IDE Contextual Queries": [ - "cpp/ql/src/IDEContextual.qll", - "csharp/ql/src/IDEContextual.qll", - "java/ql/src/IDEContextual.qll", - "javascript/ql/src/IDEContextual.qll", - "python/ql/src/analysis/IDEContextual.qll" + "cpp/ql/lib/IDEContextual.qll", + "csharp/ql/lib/IDEContextual.qll", + "java/ql/lib/IDEContextual.qll", + "javascript/ql/lib/IDEContextual.qll", + "python/ql/lib/analysis/IDEContextual.qll" ], "SSA C#": [ "csharp/ql/lib/semmle/code/csharp/dataflow/internal/SsaImplCommon.qll", @@ -527,7 +529,8 @@ "java/ql/lib/semmle/code/java/dataflow/internal/AccessPathSyntax.qll", "javascript/ql/lib/semmle/javascript/frameworks/data/internal/AccessPathSyntax.qll", "ruby/ql/lib/codeql/ruby/dataflow/internal/AccessPathSyntax.qll", - "python/ql/lib/semmle/python/frameworks/data/internal/AccessPathSyntax.qll" + "python/ql/lib/semmle/python/frameworks/data/internal/AccessPathSyntax.qll", + "swift/ql/lib/codeql/swift/dataflow/internal/AccessPathSyntax.qll" ], "IncompleteUrlSubstringSanitization": [ "javascript/ql/src/Security/CWE-020/IncompleteUrlSubstringSanitization.qll", diff --git a/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/exprs.ql b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/exprs.ql new file mode 100644 index 00000000000..d00685e7cc6 --- /dev/null +++ b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/exprs.ql @@ -0,0 +1,17 @@ +class Expr extends @expr { + string toString() { none() } +} + +class Location extends @location_expr { + string toString() { none() } +} + +predicate isExprWithNewBuiltin(Expr expr) { + exists(int kind | exprs(expr, kind, _) | 330 <= kind and kind <= 334) +} + +from Expr expr, int kind, int kind_new, Location location +where + exprs(expr, kind, location) and + if isExprWithNewBuiltin(expr) then kind_new = 0 else kind_new = kind +select expr, kind_new, location diff --git a/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/old.dbscheme b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/old.dbscheme new file mode 100644 index 00000000000..23f7cbb88a4 --- /dev/null +++ b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/old.dbscheme @@ -0,0 +1,2125 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +/* + case @macroinvocations.kind of + 1 = macro expansion + | 2 = other macro reference + ; +*/ +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* + case @function.kind of + 1 = normal + | 2 = constructor + | 3 = destructor + | 4 = conversion + | 5 = operator + | 6 = builtin // GCC built-in functions, e.g. __builtin___memcpy_chk + ; +*/ +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point(int id: @function ref, unique int entry_point: @stmt ref); + +function_return_type(int id: @function ref, int return_type: @type ref); + +/** If `function` is a coroutine, then this gives the + std::experimental::resumable_traits instance associated with it, + and the variables representing the `handle` and `promise` for it. */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +member_function_this_type(unique int id: @function ref, int this_type: @type ref); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides(int new: @function ref, int old: @function ref); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/* + Built-in types are the fundamental types, e.g., integral, floating, and void. + + case @builtintype.kind of + 1 = error + | 2 = unknown + | 3 = void + | 4 = boolean + | 5 = char + | 6 = unsigned_char + | 7 = signed_char + | 8 = short + | 9 = unsigned_short + | 10 = signed_short + | 11 = int + | 12 = unsigned_int + | 13 = signed_int + | 14 = long + | 15 = unsigned_long + | 16 = signed_long + | 17 = long_long + | 18 = unsigned_long_long + | 19 = signed_long_long + | 20 = __int8 // Microsoft-specific + | 21 = __int16 // Microsoft-specific + | 22 = __int32 // Microsoft-specific + | 23 = __int64 // Microsoft-specific + | 24 = float + | 25 = double + | 26 = long_double + | 27 = _Complex_float // C99-specific + | 28 = _Complex_double // C99-specific + | 29 = _Complex_long double // C99-specific + | 30 = _Imaginary_float // C99-specific + | 31 = _Imaginary_double // C99-specific + | 32 = _Imaginary_long_double // C99-specific + | 33 = wchar_t // Microsoft-specific + | 34 = decltype_nullptr // C++11 + | 35 = __int128 + | 36 = unsigned___int128 + | 37 = signed___int128 + | 38 = __float128 + | 39 = _Complex___float128 + | 40 = _Decimal32 + | 41 = _Decimal64 + | 42 = _Decimal128 + | 43 = char16_t + | 44 = char32_t + | 45 = _Float32 + | 46 = _Float32x + | 47 = _Float64 + | 48 = _Float64x + | 49 = _Float128 + | 50 = _Float128x + | 51 = char8_t + ; +*/ +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/* + Derived types are types that are directly derived from existing types and + point to, refer to, transform type data to return a new type. + + case @derivedtype.kind of + 1 = pointer + | 2 = reference + | 3 = type_with_specifiers + | 4 = array + | 5 = gnu_vector + | 6 = routineptr + | 7 = routinereference + | 8 = rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated + | 10 = block + ; +*/ +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* + case @usertype.kind of + 1 = struct + | 2 = class + | 3 = union + | 4 = enum + | 5 = typedef // classic C: typedef typedef type name + | 6 = template + | 7 = template_parameter + | 8 = template_template_parameter + | 9 = proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated + | 13 = scoped_enum + | 14 = using_alias // a using name = type style typedef + ; +*/ +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the EDG frontend. See symbol_ref.h there. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall(unique int caller: @funbindexpr ref, int kind: int ref); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr | @assign_bitwise_expr + +@assign_expr = @assignexpr | @assign_op_expr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // EDG internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. + */ +#keyset[aggregate, field] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. + */ +#keyset[aggregate, element_index] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +for_initialization( + unique int for_stmt: @stmt_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + unique int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/semmlecode.cpp.dbscheme b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..19e31bf071f --- /dev/null +++ b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/semmlecode.cpp.dbscheme @@ -0,0 +1,2115 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +/* + case @macroinvocations.kind of + 1 = macro expansion + | 2 = other macro reference + ; +*/ +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* + case @function.kind of + 1 = normal + | 2 = constructor + | 3 = destructor + | 4 = conversion + | 5 = operator + | 6 = builtin // GCC built-in functions, e.g. __builtin___memcpy_chk + ; +*/ +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point(int id: @function ref, unique int entry_point: @stmt ref); + +function_return_type(int id: @function ref, int return_type: @type ref); + +/** If `function` is a coroutine, then this gives the + std::experimental::resumable_traits instance associated with it, + and the variables representing the `handle` and `promise` for it. */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +member_function_this_type(unique int id: @function ref, int this_type: @type ref); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides(int new: @function ref, int old: @function ref); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/* + Built-in types are the fundamental types, e.g., integral, floating, and void. + + case @builtintype.kind of + 1 = error + | 2 = unknown + | 3 = void + | 4 = boolean + | 5 = char + | 6 = unsigned_char + | 7 = signed_char + | 8 = short + | 9 = unsigned_short + | 10 = signed_short + | 11 = int + | 12 = unsigned_int + | 13 = signed_int + | 14 = long + | 15 = unsigned_long + | 16 = signed_long + | 17 = long_long + | 18 = unsigned_long_long + | 19 = signed_long_long + | 20 = __int8 // Microsoft-specific + | 21 = __int16 // Microsoft-specific + | 22 = __int32 // Microsoft-specific + | 23 = __int64 // Microsoft-specific + | 24 = float + | 25 = double + | 26 = long_double + | 27 = _Complex_float // C99-specific + | 28 = _Complex_double // C99-specific + | 29 = _Complex_long double // C99-specific + | 30 = _Imaginary_float // C99-specific + | 31 = _Imaginary_double // C99-specific + | 32 = _Imaginary_long_double // C99-specific + | 33 = wchar_t // Microsoft-specific + | 34 = decltype_nullptr // C++11 + | 35 = __int128 + | 36 = unsigned___int128 + | 37 = signed___int128 + | 38 = __float128 + | 39 = _Complex___float128 + | 40 = _Decimal32 + | 41 = _Decimal64 + | 42 = _Decimal128 + | 43 = char16_t + | 44 = char32_t + | 45 = _Float32 + | 46 = _Float32x + | 47 = _Float64 + | 48 = _Float64x + | 49 = _Float128 + | 50 = _Float128x + | 51 = char8_t + ; +*/ +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/* + Derived types are types that are directly derived from existing types and + point to, refer to, transform type data to return a new type. + + case @derivedtype.kind of + 1 = pointer + | 2 = reference + | 3 = type_with_specifiers + | 4 = array + | 5 = gnu_vector + | 6 = routineptr + | 7 = routinereference + | 8 = rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated + | 10 = block + ; +*/ +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* + case @usertype.kind of + 1 = struct + | 2 = class + | 3 = union + | 4 = enum + | 5 = typedef // classic C: typedef typedef type name + | 6 = template + | 7 = template_parameter + | 8 = template_template_parameter + | 9 = proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated + | 13 = scoped_enum + | 14 = using_alias // a using name = type style typedef + ; +*/ +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the EDG frontend. See symbol_ref.h there. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall(unique int caller: @funbindexpr ref, int kind: int ref); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr | @assign_bitwise_expr + +@assign_expr = @assignexpr | @assign_op_expr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // EDG internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. + */ +#keyset[aggregate, field] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. + */ +#keyset[aggregate, element_index] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +for_initialization( + unique int for_stmt: @stmt_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + unique int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/upgrade.properties b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/upgrade.properties new file mode 100644 index 00000000000..d697a16a42f --- /dev/null +++ b/cpp/downgrades/23f7cbb88a4eb29f30c3490363dc201bc054c5ff/upgrade.properties @@ -0,0 +1,3 @@ +description: Add new builtin operations +compatibility: partial +exprs.rel: run exprs.qlo diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 0ad3f658760..9b4761ec2ce 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,31 @@ +## 0.3.2 + +### Bug Fixes + +* Under certain circumstances a variable declaration that is not also a definition could be associated with a `Variable` that did not have the definition as a `VariableDeclarationEntry`. This is now fixed, and a unique `Variable` will exist that has both the declaration and the definition as a `VariableDeclarationEntry`. + +## 0.3.1 + +### Minor Analysis Improvements + +* `AnalysedExpr::isNullCheck` and `AnalysedExpr::isValidCheck` have been updated to handle variable accesses on the left-hand side of the C++ logical "and", and variable declarations in conditions. + +## 0.3.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. + +### Bug Fixes + +* `UserType.getADeclarationEntry()` now yields all forward declarations when the user type is a `class`, `struct`, or `union`. + +## 0.2.3 + +### New Features + +* An `isBraced` predicate was added to the `Initializer` class which holds when a C++ braced initializer was used in the initialization. + ## 0.2.2 ### Deprecated APIs diff --git a/cpp/ql/src/IDEContextual.qll b/cpp/ql/lib/IDEContextual.qll similarity index 100% rename from cpp/ql/src/IDEContextual.qll rename to cpp/ql/lib/IDEContextual.qll diff --git a/cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md b/cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md new file mode 100644 index 00000000000..ce931ef8de0 --- /dev/null +++ b/cpp/ql/lib/change-notes/2022-06-23-global-var-flow.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* The IR dataflow library now includes flow through global variables. This enables new findings in many scenarios. diff --git a/cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md b/cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md new file mode 100644 index 00000000000..2e4d7db69a5 --- /dev/null +++ b/cpp/ql/lib/change-notes/2022-07-26-additional-builtin-support.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added subclasses of `BuiltInOperations` for `__builtin_bit_cast`, `__builtin_shuffle`, `__has_unique_object_representations`, `__is_aggregate`, and `__is_assignable`. diff --git a/cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md b/cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md new file mode 100644 index 00000000000..820822a5396 --- /dev/null +++ b/cpp/ql/lib/change-notes/2022-08-02-must-flow-local-only-flow.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* A new class predicate `MustFlowConfiguration::allowInterproceduralFlow` has been added to the `semmle.code.cpp.ir.dataflow.MustFlow` library. The new predicate can be overridden to disable interprocedural flow. diff --git a/cpp/ql/lib/change-notes/2022-05-30-braced-initializers.md b/cpp/ql/lib/change-notes/released/0.2.3.md similarity index 83% rename from cpp/ql/lib/change-notes/2022-05-30-braced-initializers.md rename to cpp/ql/lib/change-notes/released/0.2.3.md index 8a31f06ab98..87374099dc2 100644 --- a/cpp/ql/lib/change-notes/2022-05-30-braced-initializers.md +++ b/cpp/ql/lib/change-notes/released/0.2.3.md @@ -1,4 +1,5 @@ ---- -category: feature ---- +## 0.2.3 + +### New Features + * An `isBraced` predicate was added to the `Initializer` class which holds when a C++ braced initializer was used in the initialization. diff --git a/cpp/ql/lib/change-notes/released/0.3.0.md b/cpp/ql/lib/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..8c45dc21817 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/0.3.0.md @@ -0,0 +1,9 @@ +## 0.3.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. + +### Bug Fixes + +* `UserType.getADeclarationEntry()` now yields all forward declarations when the user type is a `class`, `struct`, or `union`. diff --git a/cpp/ql/lib/change-notes/released/0.3.1.md b/cpp/ql/lib/change-notes/released/0.3.1.md new file mode 100644 index 00000000000..d5b251c42ab --- /dev/null +++ b/cpp/ql/lib/change-notes/released/0.3.1.md @@ -0,0 +1,5 @@ +## 0.3.1 + +### Minor Analysis Improvements + +* `AnalysedExpr::isNullCheck` and `AnalysedExpr::isValidCheck` have been updated to handle variable accesses on the left-hand side of the C++ logical "and", and variable declarations in conditions. diff --git a/cpp/ql/lib/change-notes/released/0.3.2.md b/cpp/ql/lib/change-notes/released/0.3.2.md new file mode 100644 index 00000000000..9d3ca0cca67 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/0.3.2.md @@ -0,0 +1,5 @@ +## 0.3.2 + +### Bug Fixes + +* Under certain circumstances a variable declaration that is not also a definition could be associated with a `Variable` that did not have the definition as a `VariableDeclarationEntry`. This is now fixed, and a unique `Variable` will exist that has both the declaration and the definition as a `VariableDeclarationEntry`. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 16a06790aa8..18c64250f42 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.2 +lastReleaseVersion: 0.3.2 diff --git a/cpp/ql/src/definitions.qll b/cpp/ql/lib/definitions.qll similarity index 100% rename from cpp/ql/src/definitions.qll rename to cpp/ql/lib/definitions.qll diff --git a/cpp/ql/src/localDefinitions.ql b/cpp/ql/lib/localDefinitions.ql similarity index 100% rename from cpp/ql/src/localDefinitions.ql rename to cpp/ql/lib/localDefinitions.ql diff --git a/cpp/ql/src/localReferences.ql b/cpp/ql/lib/localReferences.ql similarity index 100% rename from cpp/ql/src/localReferences.ql rename to cpp/ql/lib/localReferences.ql diff --git a/cpp/ql/src/printAst.ql b/cpp/ql/lib/printAst.ql similarity index 100% rename from cpp/ql/src/printAst.ql rename to cpp/ql/lib/printAst.ql diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 59dbe66d65c..06e68dba48c 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 0.2.3-dev +version: 0.3.3-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/lib/semmle/code/cpp/Element.qll b/cpp/ql/lib/semmle/code/cpp/Element.qll index 9e4ef7f5f8d..79df774d80f 100644 --- a/cpp/ql/lib/semmle/code/cpp/Element.qll +++ b/cpp/ql/lib/semmle/code/cpp/Element.qll @@ -6,6 +6,7 @@ import semmle.code.cpp.Location private import semmle.code.cpp.Enclosing private import semmle.code.cpp.internal.ResolveClass +private import semmle.code.cpp.internal.ResolveGlobalVariable /** * Get the `Element` that represents this `@element`. @@ -28,9 +29,12 @@ Element mkElement(@element e) { unresolveElement(result) = e } pragma[inline] @element unresolveElement(Element e) { not result instanceof @usertype and + not result instanceof @variable and result = e or e = resolveClass(result) + or + e = resolveGlobalVariable(result) } /** diff --git a/cpp/ql/lib/semmle/code/cpp/UserType.qll b/cpp/ql/lib/semmle/code/cpp/UserType.qll index 13697722190..9d85f555ec1 100644 --- a/cpp/ql/lib/semmle/code/cpp/UserType.qll +++ b/cpp/ql/lib/semmle/code/cpp/UserType.qll @@ -48,8 +48,8 @@ class UserType extends Type, Declaration, NameQualifyingElement, AccessHolder, @ } override TypeDeclarationEntry getADeclarationEntry() { - if type_decls(_, underlyingElement(this), _) - then type_decls(unresolveElement(result), underlyingElement(this), _) + if type_decls(_, unresolveElement(this), _) + then type_decls(underlyingElement(result), unresolveElement(this), _) else exists(Class t | this.(Class).isConstructedFrom(t) and result = t.getADeclarationEntry()) } diff --git a/cpp/ql/lib/semmle/code/cpp/Variable.qll b/cpp/ql/lib/semmle/code/cpp/Variable.qll index 2e3d6bf3ca2..7e188980b9c 100644 --- a/cpp/ql/lib/semmle/code/cpp/Variable.qll +++ b/cpp/ql/lib/semmle/code/cpp/Variable.qll @@ -6,6 +6,7 @@ import semmle.code.cpp.Element import semmle.code.cpp.exprs.Access import semmle.code.cpp.Initializer private import semmle.code.cpp.internal.ResolveClass +private import semmle.code.cpp.internal.ResolveGlobalVariable /** * A C/C++ variable. For example, in the following code there are four @@ -32,6 +33,8 @@ private import semmle.code.cpp.internal.ResolveClass * can have multiple declarations. */ class Variable extends Declaration, @variable { + Variable() { isVariable(underlyingElement(this)) } + override string getAPrimaryQlClass() { result = "Variable" } /** Gets the initializer of this variable, if any. */ diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/Nullness.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/Nullness.qll index 40c975873b4..0fb46f75c94 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/Nullness.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/Nullness.qll @@ -46,7 +46,7 @@ predicate nullCheckExpr(Expr checkExpr, Variable var) { or exists(LogicalAndExpr op, AnalysedExpr child | expr = op and - op.getRightOperand() = child and + op.getAnOperand() = child and nullCheckExpr(child, v) ) or @@ -99,7 +99,7 @@ predicate validCheckExpr(Expr checkExpr, Variable var) { or exists(LogicalAndExpr op, AnalysedExpr child | expr = op and - op.getRightOperand() = child and + op.getAnOperand() = child and validCheckExpr(child, v) ) or @@ -169,7 +169,10 @@ class AnalysedExpr extends Expr { */ predicate isDef(LocalScopeVariable v) { this.inCondition() and - this.(Assignment).getLValue() = v.getAnAccess() + ( + this.(Assignment).getLValue() = v.getAnAccess() or + this.(ConditionDeclExpr).getVariableAccess() = v.getAnAccess() + ) } /** diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl2.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl3.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImpl4.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowImplLocal.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll index af74d307cca..da8e7564b3e 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/DataFlowUtil.qll @@ -850,6 +850,34 @@ class ContentSet instanceof Content { } /** + * Holds if the guard `g` validates the expression `e` upon evaluating to `branch`. + * + * The expression `e` is expected to be a syntactic part of the guard `g`. + * For example, the guard `g` might be a call `isSafe(x)` and the expression `e` + * the argument `x`. + */ +signature predicate guardChecksSig(GuardCondition g, Expr e, boolean branch); + +/** + * Provides a set of barrier nodes for a guard that validates an expression. + * + * This is expected to be used in `isBarrier`/`isSanitizer` definitions + * in data flow and taint tracking. + */ +module BarrierGuard { + /** Gets a node that is safely guarded by the given guard check. */ + ExprNode getABarrierNode() { + exists(GuardCondition g, SsaDefinition def, Variable v, boolean branch | + result.getExpr() = def.getAUse(v) and + guardChecks(g, def.getAUse(v), branch) and + g.controls(result.getExpr().getBasicBlock(), branch) + ) + } +} + +/** + * DEPRECATED: Use `BarrierGuard` module instead. + * * A guard that validates some expression. * * To use this in a configuration, extend the class and provide a @@ -858,7 +886,7 @@ class ContentSet instanceof Content { * * It is important that all extending classes in scope are disjoint. */ -class BarrierGuard extends GuardCondition { +deprecated class BarrierGuard extends GuardCondition { /** Override this predicate to hold if this guard validates `e` upon evaluating to `b`. */ abstract predicate checks(Expr e, boolean b); diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingUtil.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingUtil.qll index 6fb13455286..6f19ad38d3d 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/TaintTrackingUtil.qll @@ -47,12 +47,6 @@ predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::Content c) { n */ predicate defaultTaintSanitizer(DataFlow::Node node) { none() } -/** - * Holds if `guard` should be a sanitizer guard in all global taint flow configurations - * but not in local taint. - */ -predicate defaultTaintSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - /** * Holds if taint can flow in one local step from `nodeFrom` to `nodeTo` excluding * local data flow steps. That is, `nodeFrom` and `nodeTo` are likely to represent diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll b/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll index 309d98cd694..979c9c03940 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/BuiltInOperations.qll @@ -1,5 +1,5 @@ /** - * Provides classes for modeling built-in operations. Built-in operations are + * Provides classes for modeling built-in operations. Built-in operations are * typically compiler specific and are used by libraries and generated code. */ @@ -120,8 +120,8 @@ class BuiltInNoOp extends BuiltInOperation, @noopexpr { /** * A C/C++ `__builtin_offsetof` built-in operation (used by some implementations - * of `offsetof`). The operation retains its semantics even in the presence - * of an overloaded `operator &`). This is a GNU/Clang extension. + * of `offsetof`). The operation retains its semantics even in the presence + * of an overloaded `operator &`). This is a gcc/clang extension. * ``` * struct S { * int a, b; @@ -137,8 +137,8 @@ class BuiltInOperationBuiltInOffsetOf extends BuiltInOperation, @offsetofexpr { /** * A C/C++ `__INTADDR__` built-in operation (used by some implementations - * of `offsetof`). The operation retains its semantics even in the presence - * of an overloaded `operator &`). This is an EDG extension. + * of `offsetof`). The operation retains its semantics even in the presence + * of an overloaded `operator &`). This is an EDG extension. * ``` * struct S { * int a, b; @@ -173,7 +173,7 @@ class BuiltInOperationHasAssign extends BuiltInOperation, @hasassignexpr { * * Returns `true` if the type has a copy constructor. * ``` - * std::integral_constant< bool, __has_copy(_Tp)> hc; + * std::integral_constant hc; * ``` */ class BuiltInOperationHasCopy extends BuiltInOperation, @hascopyexpr { @@ -189,7 +189,7 @@ class BuiltInOperationHasCopy extends BuiltInOperation, @hascopyexpr { * Returns `true` if a copy assignment operator has an empty exception * specification. * ``` - * std::integral_constant< bool, __has_nothrow_assign(_Tp)> hnta; + * std::integral_constant hnta; * ``` */ class BuiltInOperationHasNoThrowAssign extends BuiltInOperation, @hasnothrowassign { @@ -220,7 +220,7 @@ class BuiltInOperationHasNoThrowConstructor extends BuiltInOperation, @hasnothro * * Returns `true` if the copy constructor has an empty exception specification. * ``` - * std::integral_constant< bool, __has_nothrow_copy(MyType) >; + * std::integral_constant; * ``` */ class BuiltInOperationHasNoThrowCopy extends BuiltInOperation, @hasnothrowcopy { @@ -266,7 +266,7 @@ class BuiltInOperationHasTrivialConstructor extends BuiltInOperation, @hastrivia * * Returns true if the type has a trivial copy constructor. * ``` - * std::integral_constant< bool, __has_trivial_copy(MyType) > htc; + * std::integral_constant htc; * ``` */ class BuiltInOperationHasTrivialCopy extends BuiltInOperation, @hastrivialcopy { @@ -468,7 +468,7 @@ class BuiltInOperationIsUnion extends BuiltInOperation, @isunionexpr { * ``` * template * struct types_compatible - * : public integral_constant + * : public integral_constant * { }; * ``` */ @@ -479,8 +479,7 @@ class BuiltInOperationBuiltInTypesCompatibleP extends BuiltInOperation, @typesco /** * A clang `__builtin_shufflevector` expression. * - * It outputs a permutation of elements from one or two input vectors. - * Please see + * It outputs a permutation of elements from one or two input vectors. See * https://releases.llvm.org/3.7.0/tools/clang/docs/LanguageExtensions.html#langext-builtin-shufflevector * for more information. * ``` @@ -494,11 +493,29 @@ class BuiltInOperationBuiltInShuffleVector extends BuiltInOperation, @builtinshu override string getAPrimaryQlClass() { result = "BuiltInOperationBuiltInShuffleVector" } } +/** + * A gcc `__builtin_shuffle` expression. + * + * It outputs a permutation of elements from one or two input vectors. + * See https://gcc.gnu.org/onlinedocs/gcc/Vector-Extensions.html + * for more information. + * ``` + * // Concatenate every other element of 4-element vectors V1 and V2. + * M = {0, 2, 4, 6}; + * V3 = __builtin_shuffle(V1, V2, M); + * ``` + */ +class BuiltInOperationBuiltInShuffle extends BuiltInOperation, @builtinshuffle { + override string toString() { result = "__builtin_shuffle" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationBuiltInShuffle" } +} + /** * A clang `__builtin_convertvector` expression. * * Allows for conversion of vectors of equal element count and compatible - * element types. Please see + * element types. See * https://releases.llvm.org/3.7.0/tools/clang/docs/LanguageExtensions.html#builtin-convertvector * for more information. * ``` @@ -547,7 +564,7 @@ class BuiltInOperationBuiltInAddressOf extends UnaryOperation, BuiltInOperation, * ``` * template * struct is_trivially_constructible - * : public integral_constant + * : public integral_constant * { }; * ``` */ @@ -612,13 +629,10 @@ class BuiltInOperationIsTriviallyDestructible extends BuiltInOperation, @istrivi * The `__is_trivially_assignable` built-in operation (used by some * implementations of the `` header). * - * Returns `true` if the assignment operator `C::operator =(const C& c)` is - * trivial. + * Returns `true` if the assignment operator `C::operator =(const D& d)` is + * trivial (i.e., it will not call any operation that is non-trivial). * ``` - * template - * struct is_trivially_assignable - * : public integral_constant - * { }; + * bool v = __is_trivially_assignable(MyType1, MyType2); * ``` */ class BuiltInOperationIsTriviallyAssignable extends BuiltInOperation, @istriviallyassignableexpr { @@ -631,10 +645,10 @@ class BuiltInOperationIsTriviallyAssignable extends BuiltInOperation, @istrivial * The `__is_nothrow_assignable` built-in operation (used by some * implementations of the `` header). * - * Returns true if there exists a `C::operator =(const C& c) nothrow` + * Returns true if there exists a `C::operator =(const D& d) nothrow` * assignment operator (i.e, with an empty exception specification). * ``` - * bool v = __is_nothrow_assignable(MyType); + * bool v = __is_nothrow_assignable(MyType1, MyType2); * ``` */ class BuiltInOperationIsNothrowAssignable extends BuiltInOperation, @isnothrowassignableexpr { @@ -643,15 +657,30 @@ class BuiltInOperationIsNothrowAssignable extends BuiltInOperation, @isnothrowas override string getAPrimaryQlClass() { result = "BuiltInOperationIsNothrowAssignable" } } +/** + * The `__is_assignable` built-in operation (used by some implementations + * of the `` header). + * + * Returns true if there exists a `C::operator =(const D& d)` assignment + * operator. + * ``` + * bool v = __is_assignable(MyType1, MyType2); + * ``` + */ +class BuiltInOperationIsAssignable extends BuiltInOperation, @isassignable { + override string toString() { result = "__is_assignable" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsAssignable" } +} + /** * The `__is_standard_layout` built-in operation (used by some implementations * of the `` header). * * Returns `true` if the type is a primitive type, or a `class`, `struct` or - * `union` WITHOUT (1) virtual functions or base classes, (2) reference member - * variable or (3) multiple occurrences of base `class` objects, among other - * restrictions. Please see - * https://en.cppreference.com/w/cpp/named_req/StandardLayoutType + * `union` without (1) virtual functions or base classes, (2) reference member + * variable, or (3) multiple occurrences of base `class` objects, among other + * restrictions. See https://en.cppreference.com/w/cpp/named_req/StandardLayoutType * for more information. * ``` * bool v = __is_standard_layout(MyType); @@ -668,7 +697,7 @@ class BuiltInOperationIsStandardLayout extends BuiltInOperation, @isstandardlayo * implementations of the `` header). * * Returns `true` if instances of this type can be copied by trivial - * means. The copying is done in a manner similar to the `memcpy` + * means. The copying is done in a manner similar to the `memcpy` * function. */ class BuiltInOperationIsTriviallyCopyable extends BuiltInOperation, @istriviallycopyableexpr { @@ -682,13 +711,13 @@ class BuiltInOperationIsTriviallyCopyable extends BuiltInOperation, @istrivially * the `` header). * * Returns `true` if the type is a scalar type, a reference type or an array of - * literal types, among others. Please see + * literal types, among others. See * https://en.cppreference.com/w/cpp/named_req/LiteralType * for more information. * * ``` * template - * std::integral_constant< bool, __is_literal_type(_Tp)> ilt; + * std::integral_constant ilt; * ``` */ class BuiltInOperationIsLiteralType extends BuiltInOperation, @isliteraltypeexpr { @@ -705,7 +734,7 @@ class BuiltInOperationIsLiteralType extends BuiltInOperation, @isliteraltypeexpr * compiler, with semantics of the `memcpy` operation. * ``` * template - * std::integral_constant< bool, __has_trivial_move_constructor(_Tp)> htmc; + * std::integral_constant htmc; * ``` */ class BuiltInOperationHasTrivialMoveConstructor extends BuiltInOperation, @@ -723,7 +752,7 @@ class BuiltInOperationHasTrivialMoveConstructor extends BuiltInOperation, * ``` * template * struct has_trivial_move_assign - * : public integral_constant + * : public integral_constant * { }; * ``` */ @@ -758,7 +787,7 @@ class BuiltInOperationHasNothrowMoveAssign extends BuiltInOperation, @hasnothrow * ``` * template * struct is_constructible - * : public integral_constant + * : public integral_constant * { }; * ``` */ @@ -785,7 +814,7 @@ class BuiltInOperationIsNothrowConstructible extends BuiltInOperation, @isnothro } /** - * The `__has_finalizer` built-in operation. This is a Microsoft extension. + * The `__has_finalizer` built-in operation. This is a Microsoft extension. * * Returns `true` if the type defines a _finalizer_ `C::!C(void)`, to be called * from either the regular destructor or the garbage collector. @@ -800,10 +829,10 @@ class BuiltInOperationHasFinalizer extends BuiltInOperation, @hasfinalizerexpr { } /** - * The `__is_delegate` built-in operation. This is a Microsoft extension. + * The `__is_delegate` built-in operation. This is a Microsoft extension. * * Returns `true` if the function has been declared as a `delegate`, used in - * message forwarding. Please see + * message forwarding. See * https://docs.microsoft.com/en-us/cpp/extensions/delegate-cpp-component-extensions * for more information. */ @@ -814,9 +843,9 @@ class BuiltInOperationIsDelegate extends BuiltInOperation, @isdelegateexpr { } /** - * The `__is_interface_class` built-in operation. This is a Microsoft extension. + * The `__is_interface_class` built-in operation. This is a Microsoft extension. * - * Returns `true` if the type has been declared as an `interface`. Please see + * Returns `true` if the type has been declared as an `interface`. See * https://docs.microsoft.com/en-us/cpp/extensions/interface-class-cpp-component-extensions * for more information. */ @@ -827,9 +856,9 @@ class BuiltInOperationIsInterfaceClass extends BuiltInOperation, @isinterfacecla } /** - * The `__is_ref_array` built-in operation. This is a Microsoft extension. + * The `__is_ref_array` built-in operation. This is a Microsoft extension. * - * Returns `true` if the object passed in is a _platform array_. Please see + * Returns `true` if the object passed in is a _platform array_. See * https://docs.microsoft.com/en-us/cpp/extensions/arrays-cpp-component-extensions * for more information. * ``` @@ -844,9 +873,9 @@ class BuiltInOperationIsRefArray extends BuiltInOperation, @isrefarrayexpr { } /** - * The `__is_ref_class` built-in operation. This is a Microsoft extension. + * The `__is_ref_class` built-in operation. This is a Microsoft extension. * - * Returns `true` if the type is a _reference class_. Please see + * Returns `true` if the type is a _reference class_. See * https://docs.microsoft.com/en-us/cpp/extensions/classes-and-structs-cpp-component-extensions * for more information. * ``` @@ -861,10 +890,10 @@ class BuiltInOperationIsRefClass extends BuiltInOperation, @isrefclassexpr { } /** - * The `__is_sealed` built-in operation. This is a Microsoft extension. + * The `__is_sealed` built-in operation. This is a Microsoft extension. * * Returns `true` if a given class or virtual function is marked as `sealed`, - * meaning that it cannot be extended or overridden. The `sealed` keyword + * meaning that it cannot be extended or overridden. The `sealed` keyword * is similar to the C++11 `final` keyword. * ``` * ref class X sealed { @@ -879,7 +908,7 @@ class BuiltInOperationIsSealed extends BuiltInOperation, @issealedexpr { } /** - * The `__is_simple_value_class` built-in operation. This is a Microsoft extension. + * The `__is_simple_value_class` built-in operation. This is a Microsoft extension. * * Returns `true` if passed a value type that contains no references to the * garbage-collected heap. @@ -898,9 +927,9 @@ class BuiltInOperationIsSimpleValueClass extends BuiltInOperation, @issimplevalu } /** - * The `__is_value_class` built-in operation. This is a Microsoft extension. + * The `__is_value_class` built-in operation. This is a Microsoft extension. * - * Returns `true` if passed a value type. Please see + * Returns `true` if passed a value type. See * https://docs.microsoft.com/en-us/cpp/extensions/classes-and-structs-cpp-component-extensions * For more information. * ``` @@ -922,7 +951,7 @@ class BuiltInOperationIsValueClass extends BuiltInOperation, @isvalueclassexpr { * ``` * template * struct is_final - * : public integral_constant + * : public integral_constant * { }; * ``` */ @@ -933,7 +962,7 @@ class BuiltInOperationIsFinal extends BuiltInOperation, @isfinalexpr { } /** - * The `__builtin_choose_expr` expression. This is a GNU/Clang extension. + * The `__builtin_choose_expr` expression. This is a gcc/clang extension. * * The expression functions similarly to the ternary `?:` operator, except * that it is evaluated at compile-time. @@ -978,3 +1007,50 @@ class BuiltInComplexOperation extends BuiltInOperation, @builtincomplex { /** Gets the operand corresponding to the imaginary part of the complex number. */ Expr getImaginaryOperand() { this.hasChild(result, 1) } } + +/** + * A C++ `__is_aggregate` built-in operation (used by some implementations of the + * `` header). + * + * Returns `true` if the type has is an aggregate type. + * ``` + * std::integral_constant ia; + * ``` + */ +class BuiltInOperationIsAggregate extends BuiltInOperation, @isaggregate { + override string toString() { result = "__is_aggregate" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationIsAggregate" } +} + +/** + * A C++ `__has_unique_object_representations` built-in operation (used by some + * implementations of the `` header). + * + * Returns `true` if the type is trivially copyable and if the object representation + * is unique for two objects with the same value. + * ``` + * bool v = __has_unique_object_representations(MyType); + * ``` + */ +class BuiltInOperationHasUniqueObjectRepresentations extends BuiltInOperation, + @hasuniqueobjectrepresentations { + override string toString() { result = "__has_unique_object_representations" } + + override string getAPrimaryQlClass() { result = "BuiltInOperationHasUniqueObjectRepresentations" } +} + +/** + * A C/C++ `__builtin_bit_cast` built-in operation (used by some implementations + * of `std::bit_cast`). + * + * Performs a bit cast from a value to a type. + * ``` + * __builtin_bit_cast(Type, value); + * ``` + */ +class BuiltInBitCast extends BuiltInOperation, @builtinbitcast { + override string toString() { result = "__builtin_bit_cast" } + + override string getAPrimaryQlClass() { result = "BuiltInBitCast" } +} diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll index 7ceda8ddbff..dba3d16997f 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Call.qll @@ -255,8 +255,10 @@ class FunctionCall extends Call, @funbindexpr { /** * Gets the function called by this call. * - * In the case of virtual function calls, the result is the most-specific function in the override tree (as - * determined by the compiler) such that the target at runtime will be one of `result.getAnOverridingFunction*()`. + * In the case of virtual function calls, the result is the most-specific function in the override tree + * such that the target at runtime will be one of `result.getAnOverridingFunction*()`. The most-specific + * function is determined by the compiler based on the compile time type of the object the function is a + * member of. */ override Function getTarget() { funbind(underlyingElement(this), unresolveElement(result)) } diff --git a/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll b/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll index 14399078231..68973293425 100644 --- a/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll +++ b/cpp/ql/lib/semmle/code/cpp/exprs/Expr.qll @@ -49,6 +49,9 @@ class Expr extends StmtParent, @expr { /** Gets the enclosing variable of this expression, if any. */ Variable getEnclosingVariable() { result = exprEnclosingElement(this) } + /** Gets the enclosing variable or function of this expression. */ + Declaration getEnclosingDeclaration() { result = exprEnclosingElement(this) } + /** Gets a child of this expression. */ Expr getAChild() { exists(int n | result = this.getChild(n)) } @@ -593,9 +596,12 @@ class ParenthesisExpr extends Conversion, @parexpr { } /** - * A C/C++ expression that has not been resolved. + * A C/C++ expression that could not be resolved, or that can no longer be + * represented due to a database upgrade or downgrade. * - * It is assigned `ErroneousType` as its type. + * If the expression could not be resolved, it has type `ErroneousType`. In the + * case of a database upgrade or downgrade, the original type from before the + * upgrade or downgrade is kept if that type can be represented. */ class ErrorExpr extends Expr, @errorexpr { override string toString() { result = "" } diff --git a/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll b/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll index 7cf0c647142..6d795048734 100644 --- a/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll +++ b/cpp/ql/lib/semmle/code/cpp/internal/QualifiedName.qll @@ -4,11 +4,7 @@ * qualified. * * This file contains classes that mirror the standard AST classes for C++, but - * these classes are only concerned with naming. The other difference is that - * these classes don't use the `ResolveClass.qll` mechanisms like - * `unresolveElement` because these classes should eventually be part of the - * implementation of `ResolveClass.qll`, allowing it to match up classes when - * their qualified names and parameters match. + * these classes are only concerned with naming. */ private import semmle.code.cpp.Declaration as D diff --git a/cpp/ql/lib/semmle/code/cpp/internal/ResolveClass.qll b/cpp/ql/lib/semmle/code/cpp/internal/ResolveClass.qll index 42568a5c58d..e9882383dca 100644 --- a/cpp/ql/lib/semmle/code/cpp/internal/ResolveClass.qll +++ b/cpp/ql/lib/semmle/code/cpp/internal/ResolveClass.qll @@ -115,15 +115,13 @@ private module Cached { */ cached predicate isClass(@usertype t) { - ( - usertypes(t, _, 1) or - usertypes(t, _, 2) or - usertypes(t, _, 3) or - usertypes(t, _, 6) or - usertypes(t, _, 10) or - usertypes(t, _, 11) or - usertypes(t, _, 12) - ) + usertypes(t, _, 1) or + usertypes(t, _, 2) or + usertypes(t, _, 3) or + usertypes(t, _, 6) or + usertypes(t, _, 10) or + usertypes(t, _, 11) or + usertypes(t, _, 12) } cached diff --git a/cpp/ql/lib/semmle/code/cpp/internal/ResolveGlobalVariable.qll b/cpp/ql/lib/semmle/code/cpp/internal/ResolveGlobalVariable.qll new file mode 100644 index 00000000000..c11e1457dae --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/internal/ResolveGlobalVariable.qll @@ -0,0 +1,57 @@ +private predicate hasDefinition(@globalvariable g) { + exists(@var_decl vd | var_decls(vd, g, _, _, _) | var_def(vd)) +} + +private predicate onlyOneCompleteGlobalVariableExistsWithMangledName(@mangledname name) { + strictcount(@globalvariable g | hasDefinition(g) and mangled_name(g, name)) = 1 +} + +/** Holds if `g` is a unique global variable with a definition named `name`. */ +private predicate isGlobalWithMangledNameAndWithDefinition(@mangledname name, @globalvariable g) { + hasDefinition(g) and + mangled_name(g, name) and + onlyOneCompleteGlobalVariableExistsWithMangledName(name) +} + +/** Holds if `g` is a global variable without a definition named `name`. */ +private predicate isGlobalWithMangledNameAndWithoutDefinition(@mangledname name, @globalvariable g) { + not hasDefinition(g) and + mangled_name(g, name) +} + +/** + * Holds if `incomplete` is a global variable without a definition, and there exists + * a unique global variable `complete` with the same name that does have a definition. + */ +private predicate hasTwinWithDefinition(@globalvariable incomplete, @globalvariable complete) { + exists(@mangledname name | + not variable_instantiation(incomplete, complete) and + isGlobalWithMangledNameAndWithoutDefinition(name, incomplete) and + isGlobalWithMangledNameAndWithDefinition(name, complete) + ) +} + +import Cached + +cached +private module Cached { + /** + * If `v` is a global variable without a definition, and there exists a unique + * global variable with the same name that does have a definition, then the + * result is that unique global variable. Otherwise, the result is `v`. + */ + cached + @variable resolveGlobalVariable(@variable v) { + hasTwinWithDefinition(v, result) + or + not hasTwinWithDefinition(v, _) and + result = v + } + + cached + predicate isVariable(@variable v) { + not v instanceof @globalvariable + or + v = resolveGlobalVariable(_) + } +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll index 1f3ea2a4d3d..08ee06acdda 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/MustFlow.qll @@ -38,6 +38,9 @@ abstract class MustFlowConfiguration extends string { */ predicate isAdditionalFlowStep(DataFlow::Node node1, DataFlow::Node node2) { none() } + /** Holds if this configuration allows flow from arguments to parameters. */ + predicate allowInterproceduralFlow() { any() } + /** * Holds if data must flow from `source` to `sink` for this configuration. * @@ -204,10 +207,25 @@ private module Cached { } } +/** + * Gets the enclosing callable of `n`. Unlike `n.getEnclosingCallable()`, this + * predicate ensures that joins go from `n` to the result instead of the other + * way around. + */ +pragma[inline] +private Declaration getEnclosingCallable(DataFlow::Node n) { + pragma[only_bind_into](result) = pragma[only_bind_out](n).getEnclosingCallable() +} + /** Holds if `nodeFrom` flows to `nodeTo`. */ private predicate step(DataFlow::Node nodeFrom, DataFlow::Node nodeTo, MustFlowConfiguration config) { exists(config) and - Cached::step(nodeFrom, nodeTo) + Cached::step(pragma[only_bind_into](nodeFrom), pragma[only_bind_into](nodeTo)) and + ( + config.allowInterproceduralFlow() + or + getEnclosingCallable(nodeFrom) = getEnclosingCallable(nodeTo) + ) or config.isAdditionalFlowStep(nodeFrom, nodeTo) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl2.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl3.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll index e3602649581..340bfe280b7 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowImpl4.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll index 9dcd7f176df..e035df824e2 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowPrivate.qll @@ -244,7 +244,25 @@ OutNode getAnOutNode(DataFlowCall call, ReturnKind kind) { * calling context. For example, this would happen with flow through a * global or static variable. */ -predicate jumpStep(Node n1, Node n2) { none() } +predicate jumpStep(Node n1, Node n2) { + exists(GlobalOrNamespaceVariable v | + v = + n1.asInstruction() + .(StoreInstruction) + .getResultAddress() + .(VariableAddressInstruction) + .getAstVariable() and + v = n2.asVariable() + or + v = + n2.asInstruction() + .(LoadInstruction) + .getSourceAddress() + .(VariableAddressInstruction) + .getAstVariable() and + v = n1.asVariable() + ) +} /** * Holds if data can flow from `node1` to `node2` via an assignment to `f`. diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll index 4171f5a5227..184472c91a7 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/DataFlowUtil.qll @@ -100,7 +100,7 @@ class Node extends TIRDataFlowNode { Declaration getEnclosingCallable() { none() } // overridden in subclasses /** Gets the function to which this node belongs, if any. */ - Function getFunction() { none() } // overridden in subclasses + Declaration getFunction() { none() } // overridden in subclasses /** Gets the type of this node. */ IRType getType() { none() } // overridden in subclasses @@ -196,7 +196,7 @@ class InstructionNode extends Node, TInstructionNode { override Declaration getEnclosingCallable() { result = this.getFunction() } - override Function getFunction() { result = instr.getEnclosingFunction() } + override Declaration getFunction() { result = instr.getEnclosingFunction() } override IRType getType() { result = instr.getResultIRType() } @@ -222,7 +222,7 @@ class OperandNode extends Node, TOperandNode { override Declaration getEnclosingCallable() { result = this.getFunction() } - override Function getFunction() { result = op.getUse().getEnclosingFunction() } + override Declaration getFunction() { result = op.getUse().getEnclosingFunction() } override IRType getType() { result = op.getIRType() } @@ -274,7 +274,7 @@ class StoreNodeInstr extends StoreNode, TStoreNodeInstr { /** Gets the underlying instruction. */ Instruction getInstruction() { result = instr } - override Function getFunction() { result = this.getInstruction().getEnclosingFunction() } + override Declaration getFunction() { result = this.getInstruction().getEnclosingFunction() } override IRType getType() { result = this.getInstruction().getResultIRType() } @@ -328,7 +328,7 @@ class StoreNodeOperand extends StoreNode, TStoreNodeOperand { /** Gets the underlying operand. */ Operand getOperand() { result = operand } - override Function getFunction() { result = operand.getDef().getEnclosingFunction() } + override Declaration getFunction() { result = operand.getDef().getEnclosingFunction() } override IRType getType() { result = operand.getIRType() } @@ -384,7 +384,7 @@ class ReadNode extends Node, TReadNode { override Declaration getEnclosingCallable() { result = this.getFunction() } - override Function getFunction() { result = this.getInstruction().getEnclosingFunction() } + override Declaration getFunction() { result = this.getInstruction().getEnclosingFunction() } override IRType getType() { result = this.getInstruction().getResultIRType() } @@ -436,7 +436,7 @@ class SsaPhiNode extends Node, TSsaPhiNode { override Declaration getEnclosingCallable() { result = this.getFunction() } - override Function getFunction() { result = phi.getBasicBlock().getEnclosingFunction() } + override Declaration getFunction() { result = phi.getBasicBlock().getEnclosingFunction() } override IRType getType() { result instanceof IRVoidType } @@ -673,7 +673,7 @@ class VariableNode extends Node, TVariableNode { /** Gets the variable corresponding to this node. */ Variable getVariable() { result = v } - override Function getFunction() { none() } + override Declaration getFunction() { none() } override Declaration getEnclosingCallable() { // When flow crosses from one _enclosing callable_ to another, the @@ -1092,6 +1092,56 @@ class ContentSet instanceof Content { } /** + * Holds if the guard `g` validates the expression `e` upon evaluating to `branch`. + * + * The expression `e` is expected to be a syntactic part of the guard `g`. + * For example, the guard `g` might be a call `isSafe(x)` and the expression `e` + * the argument `x`. + */ +signature predicate guardChecksSig(IRGuardCondition g, Expr e, boolean branch); + +/** + * Provides a set of barrier nodes for a guard that validates an expression. + * + * This is expected to be used in `isBarrier`/`isSanitizer` definitions + * in data flow and taint tracking. + */ +module BarrierGuard { + /** Gets a node that is safely guarded by the given guard check. */ + ExprNode getABarrierNode() { + exists(IRGuardCondition g, ValueNumber value, boolean edge | + guardChecks(g, value.getAnInstruction().getConvertedResultExpression(), edge) and + result.asInstruction() = value.getAnInstruction() and + g.controls(result.asInstruction().getBlock(), edge) + ) + } +} + +/** + * Holds if the guard `g` validates the instruction `instr` upon evaluating to `branch`. + */ +signature predicate instructionGuardChecksSig(IRGuardCondition g, Instruction instr, boolean branch); + +/** + * Provides a set of barrier nodes for a guard that validates an instruction. + * + * This is expected to be used in `isBarrier`/`isSanitizer` definitions + * in data flow and taint tracking. + */ +module InstructionBarrierGuard { + /** Gets a node that is safely guarded by the given guard check. */ + ExprNode getABarrierNode() { + exists(IRGuardCondition g, ValueNumber value, boolean edge | + instructionGuardChecks(g, value.getAnInstruction(), edge) and + result.asInstruction() = value.getAnInstruction() and + g.controls(result.asInstruction().getBlock(), edge) + ) + } +} + +/** + * DEPRECATED: Use `BarrierGuard` module instead. + * * A guard that validates some instruction. * * To use this in a configuration, extend the class and provide a @@ -1100,7 +1150,7 @@ class ContentSet instanceof Content { * * It is important that all extending classes in scope are disjoint. */ -class BarrierGuard extends IRGuardCondition { +deprecated class BarrierGuard extends IRGuardCondition { /** Override this predicate to hold if this guard validates `instr` upon evaluating to `b`. */ predicate checksInstr(Instruction instr, boolean b) { none() } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/PrintIRLocalFlow.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/PrintIRLocalFlow.qll index 16182296e40..7359656e5a4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/PrintIRLocalFlow.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/PrintIRLocalFlow.qll @@ -94,12 +94,6 @@ private string getNodeProperty(DataFlow::Node node, string key) { any(DataFlow::Configuration cfg).isBarrierIn(node) and kind = "in" or any(DataFlow::Configuration cfg).isBarrierOut(node) and kind = "out" - or - exists(DataFlow::BarrierGuard guard | - any(DataFlow::Configuration cfg).isBarrierGuard(guard) and - node = guard.getAGuardedNode() and - kind = "guard(" + guard.getResultId() + ")" - ) | kind, ", " ) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll index 1086701a97f..4fe646a80af 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/TaintTrackingUtil.qll @@ -163,12 +163,6 @@ predicate defaultImplicitTaintRead(DataFlow::Node node, DataFlow::Content c) { n */ predicate defaultTaintSanitizer(DataFlow::Node node) { none() } -/** - * Holds if `guard` should be a sanitizer guard in all global taint flow configurations - * but not in local taint. - */ -predicate defaultTaintSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - /** * Holds if taint can flow from `instrIn` to `instrOut` through a call to a * modeled function. diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking1/TaintTrackingImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking1/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking1/TaintTrackingImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking1/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking2/TaintTrackingImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking2/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking2/TaintTrackingImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking2/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking3/TaintTrackingImpl.qll b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking3/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking3/TaintTrackingImpl.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/dataflow/internal/tainttracking3/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/IRConfiguration.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/IRConfiguration.qll index 37ac2fccdd9..90cdb9e0f5f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/IRConfiguration.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/IRConfiguration.qll @@ -16,7 +16,7 @@ class IRConfiguration extends TIRConfiguration { /** * Holds if IR should be created for function `func`. By default, holds for all functions. */ - predicate shouldCreateIRForFunction(Language::Function func) { any() } + predicate shouldCreateIRForFunction(Language::Declaration func) { any() } /** * Holds if the strings used as part of an IR dump should be generated for function `func`. @@ -25,7 +25,7 @@ class IRConfiguration extends TIRConfiguration { * of debug strings for IR that will not be dumped. We still generate the actual IR for these * functions, however, to preserve the results of any interprocedural analysis. */ - predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { any() } + predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { any() } } private newtype TIREscapeAnalysisConfiguration = MkIREscapeAnalysisConfiguration() diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll index bac7634cbd0..78008a6c69b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRBlock.qll @@ -97,7 +97,7 @@ class IRBlockBase extends TIRBlock { /** * Gets the `Function` that contains this block. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = getFirstInstruction(this).getEnclosingFunction() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll index 31983d34247..45b44b14a3c 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRConsistency.qll @@ -524,4 +524,23 @@ module InstructionConsistency { "' has a `this` argument operand that is not an address, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonUniqueIRVariable( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(VariableInstruction vi, IRVariable v1, IRVariable v2 | + instr = vi and vi.getIRVariable() = v1 and vi.getIRVariable() = v2 and v1 != v2 + ) and + message = + "Variable instruction '" + instr.toString() + + "' has multiple associated variables, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + or + instr.getOpcode() instanceof Opcode::VariableAddress and + not instr instanceof VariableInstruction and + message = + "Variable address instruction '" + instr.toString() + + "' has no associated variable, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll index ca4708857a7..c92082d767d 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/IRVariable.qll @@ -18,7 +18,7 @@ private import Imports::IRType * by the AST-to-IR translation (`IRTempVariable`). */ class IRVariable extends TIRVariable { - Language::Function func; + Language::Declaration func; IRVariable() { this = TIRUserVariable(_, _, func) or @@ -79,7 +79,7 @@ class IRVariable extends TIRVariable { /** * Gets the function that references this variable. */ - final Language::Function getEnclosingFunction() { result = func } + final Language::Declaration getEnclosingFunction() { result = func } } /** @@ -246,7 +246,7 @@ class IREllipsisVariable extends IRTempVariable, IRParameter { final override string toString() { result = "#ellipsis" } - final override int getIndex() { result = func.getNumberOfParameters() } + final override int getIndex() { result = func.(Language::Function).getNumberOfParameters() } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll index e5a908bbf9a..8e863ddf635 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/Instruction.qll @@ -194,7 +194,7 @@ class Instruction extends Construction::TStageInstruction { /** * Gets the function that contains this instruction. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = this.getEnclosingIRFunction().getFunction() } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll index 59dadee7154..53cdc75512b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/aliased_ssa/PrintIR.qll @@ -26,20 +26,20 @@ class PrintIRConfiguration extends TPrintIRConfiguration { * Holds if the IR for `func` should be printed. By default, holds for all * functions. */ - predicate shouldPrintFunction(Language::Function func) { any() } + predicate shouldPrintFunction(Language::Declaration decl) { any() } } /** * Override of `IRConfiguration` to only evaluate debug strings for the functions that are to be dumped. */ private class FilteredIRConfiguration extends IRConfiguration { - override predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { + override predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { shouldPrintFunction(func) } } -private predicate shouldPrintFunction(Language::Function func) { - exists(PrintIRConfiguration config | config.shouldPrintFunction(func)) +private predicate shouldPrintFunction(Language::Declaration decl) { + exists(PrintIRConfiguration config | config.shouldPrintFunction(decl)) } private string getAdditionalInstructionProperty(Instruction instr, string key) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/IRFunctionBase.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/IRFunctionBase.qll index 60895ce3d26..576b4f9adf1 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/IRFunctionBase.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/IRFunctionBase.qll @@ -5,23 +5,28 @@ private import IRFunctionBaseInternal private newtype TIRFunction = - MkIRFunction(Language::Function func) { IRConstruction::Raw::functionHasIR(func) } + TFunctionIRFunction(Language::Function func) { IRConstruction::Raw::functionHasIR(func) } or + TVarInitIRFunction(Language::GlobalVariable var) { IRConstruction::Raw::varHasIRFunc(var) } /** * The IR for a function. This base class contains only the predicates that are the same between all * phases of the IR. Each instantiation of `IRFunction` extends this class. */ class IRFunctionBase extends TIRFunction { - Language::Function func; + Language::Declaration decl; - IRFunctionBase() { this = MkIRFunction(func) } + IRFunctionBase() { + this = TFunctionIRFunction(decl) + or + this = TVarInitIRFunction(decl) + } /** Gets a textual representation of this element. */ - final string toString() { result = "IR: " + func.toString() } + final string toString() { result = "IR: " + decl.toString() } /** Gets the function whose IR is represented. */ - final Language::Function getFunction() { result = func } + final Language::Declaration getFunction() { result = decl } /** Gets the location of the function. */ - final Language::Location getLocation() { result = func.getLocation() } + final Language::Location getLocation() { result = decl.getLocation() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/TIRVariable.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/TIRVariable.qll index 12a0c6e7898..fe72263249f 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/TIRVariable.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/internal/TIRVariable.qll @@ -2,21 +2,21 @@ private import TIRVariableInternal private import Imports::TempVariableTag newtype TIRVariable = - TIRUserVariable(Language::Variable var, Language::LanguageType type, Language::Function func) { + TIRUserVariable(Language::Variable var, Language::LanguageType type, Language::Declaration func) { Construction::hasUserVariable(func, var, type) } or TIRTempVariable( - Language::Function func, Language::AST ast, TempVariableTag tag, Language::LanguageType type + Language::Declaration func, Language::AST ast, TempVariableTag tag, Language::LanguageType type ) { Construction::hasTempVariable(func, ast, tag, type) } or TIRDynamicInitializationFlag( - Language::Function func, Language::Variable var, Language::LanguageType type + Language::Declaration func, Language::Variable var, Language::LanguageType type ) { Construction::hasDynamicInitializationFlag(func, var, type) } or TIRStringLiteral( - Language::Function func, Language::AST ast, Language::LanguageType type, + Language::Declaration func, Language::AST ast, Language::LanguageType type, Language::StringLiteral literal ) { Construction::hasStringLiteral(func, ast, type, literal) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRBlock.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRBlock.qll index bac7634cbd0..78008a6c69b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRBlock.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRBlock.qll @@ -97,7 +97,7 @@ class IRBlockBase extends TIRBlock { /** * Gets the `Function` that contains this block. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = getFirstInstruction(this).getEnclosingFunction() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll index 31983d34247..45b44b14a3c 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRConsistency.qll @@ -524,4 +524,23 @@ module InstructionConsistency { "' has a `this` argument operand that is not an address, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonUniqueIRVariable( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(VariableInstruction vi, IRVariable v1, IRVariable v2 | + instr = vi and vi.getIRVariable() = v1 and vi.getIRVariable() = v2 and v1 != v2 + ) and + message = + "Variable instruction '" + instr.toString() + + "' has multiple associated variables, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + or + instr.getOpcode() instanceof Opcode::VariableAddress and + not instr instanceof VariableInstruction and + message = + "Variable address instruction '" + instr.toString() + + "' has no associated variable, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRVariable.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRVariable.qll index ca4708857a7..c92082d767d 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRVariable.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/IRVariable.qll @@ -18,7 +18,7 @@ private import Imports::IRType * by the AST-to-IR translation (`IRTempVariable`). */ class IRVariable extends TIRVariable { - Language::Function func; + Language::Declaration func; IRVariable() { this = TIRUserVariable(_, _, func) or @@ -79,7 +79,7 @@ class IRVariable extends TIRVariable { /** * Gets the function that references this variable. */ - final Language::Function getEnclosingFunction() { result = func } + final Language::Declaration getEnclosingFunction() { result = func } } /** @@ -246,7 +246,7 @@ class IREllipsisVariable extends IRTempVariable, IRParameter { final override string toString() { result = "#ellipsis" } - final override int getIndex() { result = func.getNumberOfParameters() } + final override int getIndex() { result = func.(Language::Function).getNumberOfParameters() } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll index e5a908bbf9a..8e863ddf635 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/Instruction.qll @@ -194,7 +194,7 @@ class Instruction extends Construction::TStageInstruction { /** * Gets the function that contains this instruction. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = this.getEnclosingIRFunction().getFunction() } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/PrintIR.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/PrintIR.qll index 59dadee7154..53cdc75512b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/PrintIR.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/PrintIR.qll @@ -26,20 +26,20 @@ class PrintIRConfiguration extends TPrintIRConfiguration { * Holds if the IR for `func` should be printed. By default, holds for all * functions. */ - predicate shouldPrintFunction(Language::Function func) { any() } + predicate shouldPrintFunction(Language::Declaration decl) { any() } } /** * Override of `IRConfiguration` to only evaluate debug strings for the functions that are to be dumped. */ private class FilteredIRConfiguration extends IRConfiguration { - override predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { + override predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { shouldPrintFunction(func) } } -private predicate shouldPrintFunction(Language::Function func) { - exists(PrintIRConfiguration config | config.shouldPrintFunction(func)) +private predicate shouldPrintFunction(Language::Declaration decl) { + exists(PrintIRConfiguration config | config.shouldPrintFunction(decl)) } private string getAdditionalInstructionProperty(Instruction instr, string key) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/IRConstruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/IRConstruction.qll index 94bfc53875f..44e9ecbfe5e 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/IRConstruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/IRConstruction.qll @@ -13,6 +13,7 @@ private import TranslatedElement private import TranslatedExpr private import TranslatedStmt private import TranslatedFunction +private import TranslatedGlobalVar TranslatedElement getInstructionTranslatedElement(Instruction instruction) { instruction = TRawInstruction(result, _) @@ -35,29 +36,41 @@ module Raw { cached predicate functionHasIR(Function func) { exists(getTranslatedFunction(func)) } + cached + predicate varHasIRFunc(GlobalOrNamespaceVariable var) { + var.hasInitializer() and + ( + not var.getType().isDeeplyConst() + or + var.getInitializer().getExpr() instanceof StringLiteral + ) + } + cached predicate hasInstruction(TranslatedElement element, InstructionTag tag) { element.hasInstruction(_, tag, _) } cached - predicate hasUserVariable(Function func, Variable var, CppType type) { - getTranslatedFunction(func).hasUserVariable(var, type) + predicate hasUserVariable(Declaration decl, Variable var, CppType type) { + getTranslatedFunction(decl).hasUserVariable(var, type) + or + getTranslatedVarInit(decl).hasUserVariable(var, type) } cached - predicate hasTempVariable(Function func, Locatable ast, TempVariableTag tag, CppType type) { + predicate hasTempVariable(Declaration decl, Locatable ast, TempVariableTag tag, CppType type) { exists(TranslatedElement element | element.getAst() = ast and - func = element.getFunction() and + decl = element.getFunction() and element.hasTempVariable(tag, type) ) } cached - predicate hasStringLiteral(Function func, Locatable ast, CppType type, StringLiteral literal) { + predicate hasStringLiteral(Declaration decl, Locatable ast, CppType type, StringLiteral literal) { literal = ast and - literal.getEnclosingFunction() = func and + literal.getEnclosingDeclaration() = decl and getTypeForPRValue(literal.getType()) = type } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index 66c601736af..f8960cd205d 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -180,7 +180,7 @@ abstract class TranslatedSideEffects extends TranslatedElement { /** DEPRECATED: Alias for getAst */ deprecated override Locatable getAST() { result = getAst() } - final override Function getFunction() { result = getExpr().getEnclosingFunction() } + final override Declaration getFunction() { result = getExpr().getEnclosingDeclaration() } final override TranslatedElement getChild(int i) { result = @@ -375,7 +375,7 @@ abstract class TranslatedSideEffect extends TranslatedElement { kind instanceof GotoEdge } - final override Function getFunction() { result = getParent().getFunction() } + final override Declaration getFunction() { result = getParent().getFunction() } final override Instruction getPrimaryInstructionForSideEffect(InstructionTag tag) { tag = OnlyInstructionTag() and @@ -436,13 +436,6 @@ abstract class TranslatedArgumentSideEffect extends TranslatedSideEffect { result = index } - /** - * Gets the `TranslatedFunction` containing this expression. - */ - final TranslatedFunction getEnclosingFunction() { - result = getTranslatedFunction(call.getEnclosingFunction()) - } - final override predicate sideEffectInstruction(Opcode opcode, CppType type) { opcode = sideEffectOpcode and ( diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll index d11d718e215..38a886746ab 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedElement.qll @@ -25,9 +25,9 @@ private Element getRealParent(Expr expr) { result.(Destructor).getADestruction() = expr } -IRUserVariable getIRUserVariable(Function func, Variable var) { +IRUserVariable getIRUserVariable(Declaration decl, Variable var) { result.getVariable() = var and - result.getEnclosingFunction() = func + result.getEnclosingFunction() = decl } IRTempVariable getIRTempVariable(Locatable ast, TempVariableTag tag) { @@ -67,7 +67,8 @@ private predicate ignoreExprAndDescendants(Expr expr) { exists(Initializer init, StaticStorageDurationVariable var | init = var.getInitializer() and not var.hasDynamicInitialization() and - expr = init.getExpr().getFullyConverted() + expr = init.getExpr().getFullyConverted() and + not var instanceof GlobalOrNamespaceVariable ) or // Ignore descendants of `__assume` expressions, since we translated these to `NoOp`. @@ -117,7 +118,8 @@ private predicate ignoreExprOnly(Expr expr) { // should not be translated. exists(NewOrNewArrayExpr new | expr = new.getAllocatorCall().getArgument(0)) or - not translateFunction(expr.getEnclosingFunction()) + not translateFunction(expr.getEnclosingFunction()) and + not Raw::varHasIRFunc(expr.getEnclosingVariable()) or // We do not yet translate destructors properly, so for now we ignore the // destructor call. We do, however, translate the expression being @@ -662,7 +664,8 @@ newtype TTranslatedElement = opcode = getASideEffectOpcode(call, -1) } or // The side effect that initializes newly-allocated memory. - TTranslatedAllocationSideEffect(AllocationExpr expr) { not ignoreSideEffects(expr) } + TTranslatedAllocationSideEffect(AllocationExpr expr) { not ignoreSideEffects(expr) } or + TTranslatedGlobalOrNamespaceVarInit(GlobalOrNamespaceVariable var) { Raw::varHasIRFunc(var) } /** * Gets the index of the first explicitly initialized element in `initList` @@ -792,7 +795,7 @@ abstract class TranslatedElement extends TTranslatedElement { /** * Gets the `Function` that contains this element. */ - abstract Function getFunction(); + abstract Declaration getFunction(); /** * Gets the successor instruction of the instruction that was generated by @@ -942,3 +945,14 @@ abstract class TranslatedElement extends TTranslatedElement { */ final TranslatedElement getParent() { result.getAChild() = this } } + +/** + * The IR translation of a root element, either a function or a global variable. + */ +abstract class TranslatedRootElement extends TranslatedElement { + TranslatedRootElement() { + this instanceof TTranslatedFunction + or + this instanceof TTranslatedGlobalOrNamespaceVarInit + } +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll index c81b7c5943a..f91486833ff 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedExpr.qll @@ -12,6 +12,7 @@ private import TranslatedElement private import TranslatedFunction private import TranslatedInitialization private import TranslatedStmt +private import TranslatedGlobalVar import TranslatedCall /** @@ -78,7 +79,7 @@ abstract class TranslatedExpr extends TranslatedElement { /** DEPRECATED: Alias for getAst */ deprecated override Locatable getAST() { result = this.getAst() } - final override Function getFunction() { result = expr.getEnclosingFunction() } + final override Declaration getFunction() { result = expr.getEnclosingDeclaration() } /** * Gets the expression from which this `TranslatedExpr` is generated. @@ -88,8 +89,10 @@ abstract class TranslatedExpr extends TranslatedElement { /** * Gets the `TranslatedFunction` containing this expression. */ - final TranslatedFunction getEnclosingFunction() { + final TranslatedRootElement getEnclosingFunction() { result = getTranslatedFunction(expr.getEnclosingFunction()) + or + result = getTranslatedVarInit(expr.getEnclosingVariable()) } } @@ -787,7 +790,7 @@ class TranslatedThisExpr extends TranslatedNonConstantExpr { override IRVariable getInstructionVariable(InstructionTag tag) { tag = ThisAddressTag() and - result = this.getEnclosingFunction().getThisVariable() + result = this.getEnclosingFunction().(TranslatedFunction).getThisVariable() } } @@ -838,7 +841,7 @@ class TranslatedNonFieldVariableAccess extends TranslatedVariableAccess { override IRVariable getInstructionVariable(InstructionTag tag) { tag = OnlyInstructionTag() and - result = getIRUserVariable(expr.getEnclosingFunction(), expr.getTarget()) + result = getIRUserVariable(expr.getEnclosingDeclaration(), expr.getTarget()) } } @@ -2522,7 +2525,7 @@ class TranslatedVarArgsStart extends TranslatedNonConstantExpr { final override IRVariable getInstructionVariable(InstructionTag tag) { tag = VarArgsStartEllipsisAddressTag() and - result = this.getEnclosingFunction().getEllipsisVariable() + result = this.getEnclosingFunction().(TranslatedFunction).getEllipsisVariable() } final override Instruction getInstructionRegisterOperand(InstructionTag tag, OperandTag operandTag) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedFunction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedFunction.qll index 0f781cb2244..b4746ae58de 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedFunction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedFunction.qll @@ -58,7 +58,7 @@ predicate hasReturnValue(Function func) { not func.getUnspecifiedType() instance * Represents the IR translation of a function. This is the root elements for * all other elements associated with this function. */ -class TranslatedFunction extends TranslatedElement, TTranslatedFunction { +class TranslatedFunction extends TranslatedRootElement, TTranslatedFunction { Function func; TranslatedFunction() { this = TTranslatedFunction(func) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedGlobalVar.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedGlobalVar.qll new file mode 100644 index 00000000000..dde5e00361a --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedGlobalVar.qll @@ -0,0 +1,132 @@ +import semmle.code.cpp.ir.implementation.raw.internal.TranslatedElement +private import cpp +private import semmle.code.cpp.ir.implementation.IRType +private import semmle.code.cpp.ir.implementation.Opcode +private import semmle.code.cpp.ir.implementation.internal.OperandTag +private import semmle.code.cpp.ir.internal.CppType +private import TranslatedInitialization +private import InstructionTag +private import semmle.code.cpp.ir.internal.IRUtilities + +class TranslatedGlobalOrNamespaceVarInit extends TranslatedRootElement, + TTranslatedGlobalOrNamespaceVarInit, InitializationContext { + GlobalOrNamespaceVariable var; + + TranslatedGlobalOrNamespaceVarInit() { this = TTranslatedGlobalOrNamespaceVarInit(var) } + + override string toString() { result = var.toString() } + + final override GlobalOrNamespaceVariable getAst() { result = var } + + final override Declaration getFunction() { result = var } + + final Location getLocation() { result = var.getLocation() } + + override Instruction getFirstInstruction() { result = this.getInstruction(EnterFunctionTag()) } + + override TranslatedElement getChild(int n) { + n = 1 and + result = getTranslatedInitialization(var.getInitializer().getExpr().getFullyConverted()) + } + + override predicate hasInstruction(Opcode op, InstructionTag tag, CppType type) { + op instanceof Opcode::EnterFunction and + tag = EnterFunctionTag() and + type = getVoidType() + or + op instanceof Opcode::AliasedDefinition and + tag = AliasedDefinitionTag() and + type = getUnknownType() + or + op instanceof Opcode::VariableAddress and + tag = InitializerVariableAddressTag() and + type = getTypeForGLValue(var.getType()) + or + op instanceof Opcode::ReturnVoid and + tag = ReturnTag() and + type = getVoidType() + or + op instanceof Opcode::AliasedUse and + tag = AliasedUseTag() and + type = getVoidType() + or + op instanceof Opcode::ExitFunction and + tag = ExitFunctionTag() and + type = getVoidType() + } + + override Instruction getInstructionSuccessor(InstructionTag tag, EdgeKind kind) { + kind instanceof GotoEdge and + ( + tag = EnterFunctionTag() and + result = this.getInstruction(AliasedDefinitionTag()) + or + tag = AliasedDefinitionTag() and + result = this.getInstruction(InitializerVariableAddressTag()) + or + tag = InitializerVariableAddressTag() and + result = this.getChild(1).getFirstInstruction() + or + tag = ReturnTag() and + result = this.getInstruction(AliasedUseTag()) + or + tag = AliasedUseTag() and + result = this.getInstruction(ExitFunctionTag()) + ) + } + + override Instruction getChildSuccessor(TranslatedElement child) { + child = this.getChild(1) and + result = this.getInstruction(ReturnTag()) + } + + final override CppType getInstructionMemoryOperandType( + InstructionTag tag, TypedOperandTag operandTag + ) { + tag = AliasedUseTag() and + operandTag instanceof SideEffectOperandTag and + result = getUnknownType() + } + + override IRUserVariable getInstructionVariable(InstructionTag tag) { + tag = InitializerVariableAddressTag() and + result.getVariable() = var and + result.getEnclosingFunction() = var + } + + override Instruction getTargetAddress() { + result = this.getInstruction(InitializerVariableAddressTag()) + } + + override Type getTargetType() { result = var.getUnspecifiedType() } + + /** + * Holds if this variable defines or accesses variable `var` with type `type`. This includes all + * parameters and local variables, plus any global variables or static data members that are + * directly accessed by the function. + */ + final predicate hasUserVariable(Variable varUsed, CppType type) { + ( + ( + varUsed instanceof GlobalOrNamespaceVariable + or + varUsed instanceof MemberVariable and not varUsed instanceof Field + ) and + exists(VariableAccess access | + access.getTarget() = varUsed and + access.getEnclosingVariable() = var + ) + or + var = varUsed + or + varUsed.(LocalScopeVariable).getEnclosingElement*() = var + or + varUsed.(Parameter).getCatchBlock().getEnclosingElement*() = var + ) and + type = getTypeForPRValue(getVariableType(varUsed)) + } +} + +TranslatedGlobalOrNamespaceVarInit getTranslatedVarInit(GlobalOrNamespaceVariable var) { + result.getAst() = var +} diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedInitialization.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedInitialization.qll index 1a9d7ad9d70..b800405a73b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedInitialization.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedInitialization.qll @@ -137,7 +137,10 @@ abstract class TranslatedInitialization extends TranslatedElement, TTranslatedIn final override string toString() { result = "init: " + expr.toString() } - final override Function getFunction() { result = expr.getEnclosingFunction() } + final override Declaration getFunction() { + result = expr.getEnclosingFunction() or + result = expr.getEnclosingVariable().(GlobalOrNamespaceVariable) + } final override Locatable getAst() { result = expr } @@ -486,7 +489,10 @@ abstract class TranslatedFieldInitialization extends TranslatedElement { /** DEPRECATED: Alias for getAst */ deprecated override Locatable getAST() { result = getAst() } - final override Function getFunction() { result = ast.getEnclosingFunction() } + final override Declaration getFunction() { + result = ast.getEnclosingFunction() or + result = ast.getEnclosingVariable().(GlobalOrNamespaceVariable) + } final override Instruction getFirstInstruction() { result = getInstruction(getFieldAddressTag()) } @@ -633,7 +639,11 @@ abstract class TranslatedElementInitialization extends TranslatedElement { /** DEPRECATED: Alias for getAst */ deprecated override Locatable getAST() { result = getAst() } - final override Function getFunction() { result = initList.getEnclosingFunction() } + final override Declaration getFunction() { + result = initList.getEnclosingFunction() + or + result = initList.getEnclosingVariable().(GlobalOrNamespaceVariable) + } final override Instruction getFirstInstruction() { result = getInstruction(getElementIndexTag()) } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRBlock.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRBlock.qll index bac7634cbd0..78008a6c69b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRBlock.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRBlock.qll @@ -97,7 +97,7 @@ class IRBlockBase extends TIRBlock { /** * Gets the `Function` that contains this block. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = getFirstInstruction(this).getEnclosingFunction() } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll index 31983d34247..45b44b14a3c 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRConsistency.qll @@ -524,4 +524,23 @@ module InstructionConsistency { "' has a `this` argument operand that is not an address, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonUniqueIRVariable( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(VariableInstruction vi, IRVariable v1, IRVariable v2 | + instr = vi and vi.getIRVariable() = v1 and vi.getIRVariable() = v2 and v1 != v2 + ) and + message = + "Variable instruction '" + instr.toString() + + "' has multiple associated variables, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + or + instr.getOpcode() instanceof Opcode::VariableAddress and + not instr instanceof VariableInstruction and + message = + "Variable address instruction '" + instr.toString() + + "' has no associated variable, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + } } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRVariable.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRVariable.qll index ca4708857a7..c92082d767d 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRVariable.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/IRVariable.qll @@ -18,7 +18,7 @@ private import Imports::IRType * by the AST-to-IR translation (`IRTempVariable`). */ class IRVariable extends TIRVariable { - Language::Function func; + Language::Declaration func; IRVariable() { this = TIRUserVariable(_, _, func) or @@ -79,7 +79,7 @@ class IRVariable extends TIRVariable { /** * Gets the function that references this variable. */ - final Language::Function getEnclosingFunction() { result = func } + final Language::Declaration getEnclosingFunction() { result = func } } /** @@ -246,7 +246,7 @@ class IREllipsisVariable extends IRTempVariable, IRParameter { final override string toString() { result = "#ellipsis" } - final override int getIndex() { result = func.getNumberOfParameters() } + final override int getIndex() { result = func.(Language::Function).getNumberOfParameters() } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll index e5a908bbf9a..8e863ddf635 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/Instruction.qll @@ -194,7 +194,7 @@ class Instruction extends Construction::TStageInstruction { /** * Gets the function that contains this instruction. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = this.getEnclosingIRFunction().getFunction() } diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/PrintIR.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/PrintIR.qll index 59dadee7154..53cdc75512b 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/PrintIR.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/unaliased_ssa/PrintIR.qll @@ -26,20 +26,20 @@ class PrintIRConfiguration extends TPrintIRConfiguration { * Holds if the IR for `func` should be printed. By default, holds for all * functions. */ - predicate shouldPrintFunction(Language::Function func) { any() } + predicate shouldPrintFunction(Language::Declaration decl) { any() } } /** * Override of `IRConfiguration` to only evaluate debug strings for the functions that are to be dumped. */ private class FilteredIRConfiguration extends IRConfiguration { - override predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { + override predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { shouldPrintFunction(func) } } -private predicate shouldPrintFunction(Language::Function func) { - exists(PrintIRConfiguration config | config.shouldPrintFunction(func)) +private predicate shouldPrintFunction(Language::Declaration decl) { + exists(PrintIRConfiguration config | config.shouldPrintFunction(decl)) } private string getAdditionalInstructionProperty(Instruction instr, string key) { diff --git a/cpp/ql/lib/semmle/code/cpp/ir/internal/IRCppLanguage.qll b/cpp/ql/lib/semmle/code/cpp/ir/internal/IRCppLanguage.qll index f047d6c4753..46e3e6dec1c 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/internal/IRCppLanguage.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/internal/IRCppLanguage.qll @@ -50,12 +50,16 @@ class AutomaticVariable = Cpp::StackVariable; class StaticVariable = Cpp::Variable; +class GlobalVariable = Cpp::GlobalOrNamespaceVariable; + class Parameter = Cpp::Parameter; class Field = Cpp::Field; class BuiltInOperation = Cpp::BuiltInOperation; +class Declaration = Cpp::Declaration; + // TODO: Remove necessity for these. class Expr = Cpp::Expr; diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme b/cpp/ql/lib/semmlecode.cpp.dbscheme index 19e31bf071f..23f7cbb88a4 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme @@ -1650,6 +1650,11 @@ case @expr.kind of | 327 = @co_await | 328 = @co_yield | 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle ; @var_args_expr = @vastartexpr @@ -1711,6 +1716,11 @@ case @expr.kind of | @isfinalexpr | @builtinchooseexpr | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle ; new_allocated_type( diff --git a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats index e439c5ac624..35eb9c7e6de 100644 --- a/cpp/ql/lib/semmlecode.cpp.dbscheme.stats +++ b/cpp/ql/lib/semmlecode.cpp.dbscheme.stats @@ -2,79 +2,79 @@ @compilation - 9980 + 9978 @externalDataElement 65 - - @svnentry - 575525 - @external_package 4 + + @svnentry + 575525 + @location_stmt - 3805462 + 3805465 @diagnostic - 582773 + 72312 @file - 124189 + 124196 @folder 15994 - @location_expr - 13128112 + @location_default + 30132211 - @location_default - 30128761 + @location_expr + 13128120 @macroinvocation - 33894981 + 33889080 @function - 4726273 + 4726519 @fun_decl - 5096962 + 5097227 @type_decl - 3283977 + 3284148 @namespace_decl - 306972 + 306973 @using - 374921 + 374941 @static_assert - 130417 + 130418 @var_decl - 8543232 + 8543677 @parameter - 6660155 + 6660502 @membervariable @@ -82,7 +82,7 @@ @globalvariable - 300708 + 318724 @localvariable @@ -94,55 +94,55 @@ @builtintype - 22109 + 22110 @derivedtype - 4413446 + 4413676 @decltype - 31047 + 31049 @usertype - 5342989 + 5343268 @mangledname - 1728010 + 1975901 @type_mention - 4011508 + 4011511 @routinetype - 546982 + 546661 @ptrtomember - 38103 + 38105 @specifier - 24932 + 24933 @gnuattribute - 664228 + 664262 @stdattribute - 468982 + 469081 @alignas - 8937 + 8938 @declspec - 238544 + 238545 @msattribute @@ -150,11 +150,11 @@ @attribute_arg_token - 25402 + 25403 @attribute_arg_constant - 326469 + 326486 @attribute_arg_type @@ -166,15 +166,15 @@ @derivation - 402388 + 402152 @frienddecl - 715075 + 714656 @comment - 8781270 + 8783134 @namespace @@ -186,23 +186,23 @@ @namequalifier - 1618961 + 1618866 @value - 10646146 + 10646153 @initialiser - 1731824 + 1732353 @lambdacapture - 28224 + 28226 @stmt_expr - 1480414 + 1480415 @stmt_if @@ -210,23 +210,23 @@ @stmt_while - 30207 + 30201 @stmt_label - 53046 + 53044 @stmt_return - 1306346 + 1306414 @stmt_block - 1446530 + 1446605 @stmt_end_test_while - 148604 + 148599 @stmt_for @@ -234,7 +234,7 @@ @stmt_switch_case - 191408 + 191399 @stmt_switch @@ -242,11 +242,11 @@ @stmt_try_block - 42701 + 42699 @stmt_decl - 608508 + 608387 @stmt_empty @@ -258,7 +258,7 @@ @stmt_break - 102231 + 102232 @stmt_range_based_for @@ -266,15 +266,15 @@ @stmt_handler - 59432 + 59429 @stmt_constexpr_if - 52551 + 52562 @stmt_goto - 110490 + 110487 @stmt_asm @@ -310,43 +310,43 @@ @ctordirectinit - 112813 + 112747 @ctorvirtualinit - 6534 + 6532 @ctorfieldinit - 200789 + 200671 @ctordelegatinginit - 3347 + 3345 @dtordirectdestruct - 41715 + 41690 @dtorvirtualdestruct - 4122 + 4119 @dtorfielddestruct - 41644 + 41620 @static_cast - 211821 + 211675 @reinterpret_cast - 30776 + 30783 @const_cast - 35278 + 35285 @dynamic_cast @@ -354,19 +354,19 @@ @c_style_cast - 4209393 + 4209396 @lambdaexpr - 21639 + 21640 @param_ref - 375289 + 375271 @errorexpr - 46823 + 46796 @address_of @@ -374,27 +374,27 @@ @reference_to - 1596143 + 1596067 @indirect - 292115 + 292106 @ref_indirect - 1934537 + 1938685 @array_to_pointer - 1424883 + 1424884 @vacuous_destructor_call - 8138 + 8133 @parexpr - 3572547 + 3572549 @arithnegexpr @@ -402,11 +402,11 @@ @complementexpr - 27787 + 27786 @notexpr - 277992 + 277993 @postincrexpr @@ -446,11 +446,11 @@ @remexpr - 15819 + 15810 @paddexpr - 86505 + 86502 @psubexpr @@ -458,7 +458,7 @@ @pdiffexpr - 35487 + 35495 @lshiftexpr @@ -490,11 +490,11 @@ @gtexpr - 100669 + 100674 @ltexpr - 106314 + 106319 @geexpr @@ -502,11 +502,11 @@ @leexpr - 212141 + 212134 @assignexpr - 933419 + 933420 @assignaddexpr @@ -518,7 +518,7 @@ @assignmulexpr - 7170 + 7168 @assigndivexpr @@ -546,7 +546,7 @@ @assignxorexpr - 21804 + 21803 @assignpaddexpr @@ -554,7 +554,7 @@ @andlogicalexpr - 249008 + 249009 @orlogicalexpr @@ -562,7 +562,7 @@ @commaexpr - 181539 + 181530 @subscriptexpr @@ -570,7 +570,7 @@ @callexpr - 309063 + 309079 @vastartexpr @@ -586,27 +586,27 @@ @varaccess - 6006364 + 6006368 @thisaccess - 1125914 + 1125919 @new_expr - 47598 + 47571 @delete_expr - 11732 + 11725 @throw_expr - 21765 + 21760 @condition_decl - 38595 + 38593 @braced_init_list @@ -614,7 +614,7 @@ @type_id - 36430 + 36408 @runtime_sizeof @@ -622,15 +622,15 @@ @runtime_alignof - 48550 + 48521 @sizeof_pack - 5644 + 5645 @routineexpr - 3047613 + 3047738 @type_operand @@ -642,7 +642,7 @@ @ispodexpr - 636 + 635 @hastrivialdestructor @@ -666,23 +666,23 @@ @isconstructibleexpr - 2721 + 2722 @isfinalexpr - 2093 + 2094 @noexceptexpr - 23574 + 23573 @builtinaddressof - 13282 + 13274 @temp_init - 760683 + 760646 @assume @@ -826,7 +826,7 @@ @typescompexpr - 562415 + 562416 @intaddrexpr @@ -846,7 +846,7 @@ @istriviallyconstructibleexpr - 2826 + 2827 @isdestructibleexpr @@ -866,7 +866,7 @@ @isnothrowassignableexpr - 2093 + 2094 @isstandardlayoutexpr @@ -890,7 +890,7 @@ @isnothrowconstructibleexpr - 4815 + 4816 @hasfinalizerexpr @@ -956,45 +956,65 @@ @co_yield 1 + + @isassignable + 2617 + + + @isaggregate + 2 + + + @hasuniqueobjectrepresentations + 2 + + + @builtinbitcast + 1 + + + @builtinshuffle + 1965 + @ppd_if - 672225 + 672260 @ppd_ifdef - 265314 + 265328 @ppd_ifndef - 268607 + 268621 @ppd_elif - 25402 + 25403 @ppd_else - 210746 + 210757 @ppd_endif - 1206147 + 1206210 @ppd_plain_include - 313767 + 313784 @ppd_define - 2435252 + 2435769 @ppd_undef - 262021 + 262035 @ppd_pragma - 312270 + 312337 @ppd_include_next @@ -1048,11 +1068,11 @@ compilations - 9980 + 9978 id - 9980 + 9978 cwd @@ -1070,7 +1090,7 @@ 1 2 - 9980 + 9978 @@ -1644,7 +1664,7 @@ seconds - 12490 + 9586 @@ -1725,48 +1745,48 @@ 3 4 - 198 + 715 4 5 - 795 + 278 - 5 - 9 + 6 + 8 159 - 9 + 8 + 10 + 159 + + + 10 11 - 119 + 79 11 12 - 198 - - - 13 - 18 159 - 18 - 22 + 17 + 19 + 159 + + + 20 + 27 + 159 + + + 40 + 77 119 - - 22 - 46 - 159 - - - 60 - 104 - 79 - @@ -1833,12 +1853,12 @@ 3 4 - 556 + 835 4 5 - 1233 + 914 5 @@ -1848,32 +1868,27 @@ 6 7 - 119 + 437 7 8 - 318 + 79 8 9 - 119 + 278 9 - 11 + 26 278 - 11 - 31 - 278 - - - 40 - 95 - 159 + 26 + 92 + 238 @@ -1919,18 +1934,23 @@ 12 - 4 - 5 - 79 - - - 152 - 153 + 3 + 4 39 - 160 - 161 + 4 + 5 + 39 + + + 112 + 113 + 39 + + + 129 + 130 39 @@ -1947,22 +1967,27 @@ 1 2 - 7875 + 5449 2 3 - 2704 + 1670 3 4 - 1312 + 1272 4 - 45 - 596 + 5 + 676 + + + 5 + 42 + 517 @@ -1978,27 +2003,32 @@ 1 2 - 6682 + 5091 2 3 - 3142 + 1392 3 4 - 1431 - - - 4 - 6 954 - 6 - 65 - 278 + 4 + 5 + 875 + + + 5 + 7 + 795 + + + 7 + 67 + 477 @@ -2014,12 +2044,12 @@ 1 2 - 12251 + 9307 2 3 - 238 + 278 @@ -2029,23 +2059,23 @@ diagnostic_for - 1031027 + 891808 diagnostic - 582773 + 72312 compilation - 1988 + 9585 file_number - 104 + 11 file_number_diagnostic_number - 104788 + 6856 @@ -2059,27 +2089,17 @@ 1 2 - 362937 + 9631 2 3 - 92540 + 59836 - 3 - 4 - 70033 - - - 4 - 6 - 47421 - - - 6 - 9 - 9840 + 254 + 825 + 2844 @@ -2095,7 +2115,7 @@ 1 2 - 582773 + 72312 @@ -2111,22 +2131,7 @@ 1 2 - 475263 - - - 2 - 3 - 50143 - - - 3 - 6 - 53702 - - - 6 - 7 - 3663 + 72312 @@ -2135,222 +2140,6 @@ compilation diagnostic - - - 12 - - - 32 - 33 - 104 - - - 37 - 38 - 104 - - - 77 - 78 - 104 - - - 78 - 79 - 104 - - - 155 - 156 - 104 - - - 359 - 360 - 104 - - - 418 - 419 - 104 - - - 436 - 437 - 104 - - - 509 - 510 - 104 - - - 571 - 572 - 104 - - - 639 - 640 - 104 - - - 756 - 757 - 628 - - - 1001 - 1002 - 209 - - - - - - - compilation - file_number - - - 12 - - - 1 - 2 - 1988 - - - - - - - compilation - file_number_diagnostic_number - - - 12 - - - 32 - 33 - 104 - - - 37 - 38 - 104 - - - 77 - 78 - 104 - - - 78 - 79 - 104 - - - 155 - 156 - 104 - - - 359 - 360 - 104 - - - 418 - 419 - 104 - - - 436 - 437 - 104 - - - 509 - 510 - 104 - - - 571 - 572 - 104 - - - 639 - 640 - 104 - - - 756 - 757 - 628 - - - 1001 - 1002 - 209 - - - - - - - file_number - diagnostic - - - 12 - - - 5567 - 5568 - 104 - - - - - - - file_number - compilation - - - 12 - - - 19 - 20 - 104 - - - - - - - file_number - file_number_diagnostic_number - - - 12 - - - 1001 - 1002 - 104 - - - - - - - file_number_diagnostic_number - diagnostic 12 @@ -2358,37 +2147,193 @@ 2 3 - 25647 + 57 7 8 - 10991 + 6093 8 9 - 13085 + 497 - 9 - 10 - 13608 + 247 + 248 + 1965 - 10 - 11 - 27741 + 263 + 444 + 763 - 11 - 12 - 5652 + 446 + 594 + 208 + + + + + + + compilation + file_number + + + 12 + + + 1 + 2 + 9585 + + + + + + + compilation + file_number_diagnostic_number + + + 12 + + + 2 + 3 + 57 - 12 - 15 - 8060 + 7 + 8 + 6093 + + + 8 + 9 + 497 + + + 247 + 248 + 1965 + + + 263 + 444 + 763 + + + 446 + 594 + 208 + + + + + + + file_number + diagnostic + + + 12 + + + 6254 + 6255 + 11 + + + + + + + file_number + compilation + + + 12 + + + 829 + 830 + 11 + + + + + + + file_number + file_number_diagnostic_number + + + 12 + + + 593 + 594 + 11 + + + + + + + file_number_diagnostic_number + diagnostic + + + 12 + + + 1 + 2 + 2821 + + + 2 + 5 + 601 + + + 5 + 6 + 1017 + + + 7 + 14 + 543 + + + 15 + 16 + 57 + + + 17 + 18 + 601 + + + 18 + 23 + 462 + + + 26 + 40 + 555 + + + 42 + 830 + 196 @@ -2402,49 +2347,54 @@ 12 - 2 - 3 - 25647 - - - 8 + 4 9 - 12247 - - - 9 - 10 - 7118 + 589 10 11 - 6490 - - - 11 - 13 - 9526 - - - 13 - 14 - 6176 + 1005 14 - 15 - 21355 + 27 + 543 - 15 - 16 - 8060 + 30 + 31 + 57 - 16 - 20 - 8165 + 34 + 35 + 601 + + + 36 + 45 + 462 + + + 52 + 79 + 555 + + + 84 + 85 + 185 + + + 254 + 255 + 2763 + + + 297 + 830 + 92 @@ -2460,7 +2410,7 @@ 1 2 - 104788 + 6856 @@ -2470,19 +2420,19 @@ compilation_finished - 9980 + 9978 id - 9980 + 9978 cpu_seconds - 7956 + 7850 elapsed_seconds - 138 + 161 @@ -2496,7 +2446,7 @@ 1 2 - 9980 + 9978 @@ -2512,7 +2462,7 @@ 1 2 - 9980 + 9978 @@ -2528,17 +2478,17 @@ 1 2 - 6777 + 6498 2 3 - 786 + 1005 3 - 17 - 393 + 15 + 346 @@ -2554,12 +2504,12 @@ 1 2 - 7505 + 7423 2 3 - 451 + 427 @@ -2572,10 +2522,15 @@ 12 + + 1 + 2 + 23 + 2 3 - 23 + 11 3 @@ -2583,43 +2538,43 @@ 23 - 9 - 10 + 8 + 9 + 23 + + + 11 + 12 11 - 14 - 15 + 24 + 25 11 - 22 - 23 + 49 + 50 11 - 37 - 38 + 104 + 105 11 - 144 - 145 + 155 + 156 11 - 162 - 163 + 239 + 240 11 - 222 - 223 - 11 - - - 243 - 244 + 255 + 256 11 @@ -2633,10 +2588,15 @@ 12 + + 1 + 2 + 23 + 2 3 - 23 + 11 3 @@ -2644,43 +2604,43 @@ 23 - 9 - 10 + 8 + 9 + 23 + + + 11 + 12 11 - 14 - 15 + 24 + 25 11 - 22 - 23 + 49 + 50 11 - 36 - 37 + 104 + 105 11 - 118 - 119 + 111 + 112 11 - 123 - 124 + 174 + 175 11 - 177 - 178 - 11 - - - 218 - 219 + 217 + 218 11 @@ -4405,31 +4365,31 @@ locations_default - 30128761 + 30132211 id - 30128761 + 30132211 container - 140184 + 140191 startLine - 2114992 + 2115102 startColumn - 37162 + 37164 endLine - 2117814 + 2117925 endColumn - 48452 + 48455 @@ -4443,7 +4403,7 @@ 1 2 - 30128761 + 30132211 @@ -4459,7 +4419,7 @@ 1 2 - 30128761 + 30132211 @@ -4475,7 +4435,7 @@ 1 2 - 30128761 + 30132211 @@ -4491,7 +4451,7 @@ 1 2 - 30128761 + 30132211 @@ -4507,7 +4467,7 @@ 1 2 - 30128761 + 30132211 @@ -4523,67 +4483,67 @@ 1 2 - 16464 + 16465 2 12 - 10819 + 10820 13 20 - 11760 + 11761 21 36 - 11289 + 11290 36 55 - 11289 + 11290 55 77 - 10819 + 10820 77 102 - 10819 + 10820 102 149 - 10819 + 10820 149 227 - 11289 + 11290 228 350 - 11289 + 10820 - 358 - 628 - 10819 + 351 + 604 + 10820 - 671 - 1926 - 10819 + 627 + 1479 + 10820 - 2168 + 1925 2380 - 1881 + 2352 @@ -4599,62 +4559,62 @@ 1 2 - 16464 + 16465 2 9 - 10819 + 10820 9 16 - 11760 + 11761 16 25 - 11289 + 11290 25 40 - 10819 + 10820 40 57 - 10819 + 10820 58 72 - 10819 + 10820 73 103 - 11289 + 11290 106 141 - 11760 + 11761 148 226 - 11289 + 11290 226 373 - 10819 + 10820 381 1456 - 10819 + 10820 1464 @@ -4675,62 +4635,62 @@ 1 2 - 16464 + 16465 2 4 - 8937 + 8938 4 5 - 7526 + 7527 5 6 - 7526 + 7527 6 8 - 11760 + 11761 8 13 - 12230 + 12231 13 17 - 10819 + 10820 17 25 - 11289 + 11290 25 31 - 11760 + 11761 31 38 - 10819 + 10820 38 52 - 10819 + 10820 52 64 - 10819 + 10820 65 @@ -4751,62 +4711,62 @@ 1 2 - 16464 + 16465 2 9 - 10819 + 10820 9 16 - 11760 + 11761 16 25 - 11289 + 11290 25 40 - 10819 + 10820 40 57 - 10819 + 10820 58 71 - 10819 + 10820 72 98 - 10819 + 10820 101 140 - 11760 + 11761 140 224 - 10819 + 10820 224 360 - 10819 + 10820 364 1185 - 10819 + 10820 1254 @@ -4827,27 +4787,27 @@ 1 2 - 16464 + 16465 2 10 - 11289 + 11290 10 14 - 10819 + 10820 14 21 - 11289 + 11290 22 31 - 11289 + 11290 31 @@ -4857,27 +4817,27 @@ 39 48 - 12230 + 12231 48 56 - 11760 + 11761 56 64 - 11760 + 11761 64 72 - 10819 + 10820 72 77 - 11289 + 11290 77 @@ -4898,47 +4858,47 @@ 1 2 - 581905 + 581935 2 3 - 318001 + 318018 3 4 - 199456 + 199466 4 6 - 160882 + 160890 6 10 - 190048 + 190058 10 16 - 166057 + 166065 16 25 - 168879 + 168888 25 46 - 163704 + 163713 46 169 - 159000 + 159009 170 @@ -4959,42 +4919,42 @@ 1 2 - 869799 + 869845 2 3 - 280838 + 280853 3 5 - 191459 + 191469 5 8 - 181110 + 181119 8 12 - 162293 + 162302 12 18 - 166527 + 166536 18 39 - 159941 + 159949 39 299 - 103021 + 103026 @@ -5010,47 +4970,47 @@ 1 2 - 612482 + 612514 2 3 - 313297 + 313313 3 4 - 202749 + 202760 4 6 - 184403 + 184412 6 9 - 180639 + 180649 9 13 - 166997 + 167006 13 19 - 173583 + 173592 19 29 - 167468 + 167476 29 52 - 113370 + 113376 @@ -5066,22 +5026,22 @@ 1 2 - 1545788 + 1545868 2 3 - 351401 + 351419 3 5 - 164645 + 164654 5 16 - 53157 + 53159 @@ -5097,47 +5057,47 @@ 1 2 - 586609 + 586639 2 3 - 318942 + 318958 3 4 - 201808 + 201819 4 6 - 167468 + 167476 6 9 - 160412 + 160420 9 14 - 178287 + 178297 14 21 - 176406 + 176415 21 32 - 163234 + 163243 32 61 - 159000 + 159009 61 @@ -5212,7 +5172,7 @@ 819 - 1546 + 1548 2822 @@ -5244,7 +5204,7 @@ 23 35 - 3292 + 3293 38 @@ -5263,23 +5223,23 @@ 73 - 83 - 2822 + 84 + 3293 - 83 - 95 - 2822 + 84 + 97 + 3293 - 96 + 98 101 - 3292 + 2352 101 105 - 3292 + 3293 106 @@ -5369,7 +5329,7 @@ 587 - 831 + 832 2822 @@ -5482,12 +5442,12 @@ 7 11 - 3292 + 3293 11 16 - 3292 + 3293 16 @@ -5502,7 +5462,7 @@ 24 27 - 3292 + 3293 28 @@ -5512,7 +5472,7 @@ 33 40 - 3292 + 3293 40 @@ -5553,52 +5513,52 @@ 1 2 - 589902 + 589932 2 3 - 312356 + 312372 3 4 - 198986 + 198996 4 6 - 161352 + 161361 6 10 - 189577 + 189587 10 16 - 163704 + 163713 16 25 - 171231 + 170770 25 45 - 159471 + 159949 45 160 - 159941 + 159949 160 299 - 11289 + 11290 @@ -5614,47 +5574,47 @@ 1 2 - 881560 + 881606 2 3 - 270019 + 270033 3 4 - 123249 + 123255 4 6 - 142065 + 142073 6 10 - 195693 + 195703 10 15 - 168409 + 168417 15 26 - 165586 + 165595 26 120 - 159471 + 159479 121 299 - 11760 + 11761 @@ -5670,22 +5630,22 @@ 1 2 - 1538732 + 1538812 2 3 - 349048 + 349067 3 5 - 172172 + 172181 5 10 - 57861 + 57864 @@ -5701,47 +5661,47 @@ 1 2 - 621890 + 621922 2 3 - 304359 + 304375 3 4 - 204631 + 204641 4 6 - 186755 + 186765 6 9 - 177817 + 177826 9 13 - 169349 + 169358 13 19 - 174524 + 174533 19 29 - 162764 + 162772 29 52 - 115722 + 115728 @@ -5757,47 +5717,47 @@ 1 2 - 596488 + 596519 2 3 - 311415 + 311431 3 4 - 198986 + 198996 4 6 - 171701 + 171710 6 9 - 157589 + 157597 9 14 - 173583 + 173592 14 21 - 180169 + 180178 21 32 - 165116 + 165124 32 60 - 159000 + 159009 60 @@ -5862,7 +5822,7 @@ 879 - 1081 + 1082 3763 @@ -5871,7 +5831,7 @@ 3763 - 1309 + 1310 1590 3763 @@ -5894,7 +5854,7 @@ 1 2 - 5644 + 5645 2 @@ -5970,7 +5930,7 @@ 1 2 - 5644 + 5645 2 @@ -6009,7 +5969,7 @@ 575 - 628 + 627 3763 @@ -6081,7 +6041,7 @@ 35 39 - 3292 + 3293 39 @@ -6122,7 +6082,7 @@ 1 2 - 5644 + 5645 2 @@ -6192,11 +6152,11 @@ locations_stmt - 3805462 + 3805465 id - 3805462 + 3805465 container @@ -6230,7 +6190,7 @@ 1 2 - 3805462 + 3805465 @@ -6246,7 +6206,7 @@ 1 2 - 3805462 + 3805465 @@ -6262,7 +6222,7 @@ 1 2 - 3805462 + 3805465 @@ -6278,7 +6238,7 @@ 1 2 - 3805462 + 3805465 @@ -6294,7 +6254,7 @@ 1 2 - 3805462 + 3805465 @@ -6958,7 +6918,7 @@ 10 11 - 10500 + 10501 11 @@ -8174,11 +8134,11 @@ locations_expr - 13128112 + 13128120 id - 13128112 + 13128120 container @@ -8212,7 +8172,7 @@ 1 2 - 13128112 + 13128120 @@ -8228,7 +8188,7 @@ 1 2 - 13128112 + 13128120 @@ -8244,7 +8204,7 @@ 1 2 - 13128112 + 13128120 @@ -8260,7 +8220,7 @@ 1 2 - 13128112 + 13128120 @@ -8276,7 +8236,7 @@ 1 2 - 13128112 + 13128120 @@ -10096,23 +10056,23 @@ numlines - 1406545 + 1406618 element_id - 1399488 + 1399561 num_lines - 102550 + 102556 num_code - 85615 + 85620 num_comment - 60213 + 60216 @@ -10126,7 +10086,7 @@ 1 2 - 1392432 + 1392505 2 @@ -10147,7 +10107,7 @@ 1 2 - 1393373 + 1393446 2 @@ -10168,7 +10128,7 @@ 1 2 - 1399488 + 1399561 @@ -10184,17 +10144,17 @@ 1 2 - 68680 + 68684 2 3 - 12230 + 12231 3 4 - 7526 + 7527 4 @@ -10220,12 +10180,12 @@ 1 2 - 71032 + 71036 2 3 - 12230 + 12231 3 @@ -10256,22 +10216,22 @@ 1 2 - 70092 + 70095 2 3 - 15053 + 15054 3 4 - 10819 + 10820 4 7 - 6585 + 6586 @@ -10287,22 +10247,22 @@ 1 2 - 53157 + 53159 2 3 - 14582 + 14583 3 5 - 6585 + 6586 5 42 - 6585 + 6586 44 @@ -10323,12 +10283,12 @@ 1 2 - 53157 + 53159 2 3 - 16934 + 16935 3 @@ -10338,7 +10298,7 @@ 5 8 - 6585 + 6586 8 @@ -10359,7 +10319,7 @@ 1 2 - 53627 + 53630 2 @@ -10369,7 +10329,7 @@ 3 5 - 7526 + 7527 5 @@ -10379,7 +10339,7 @@ 7 10 - 3292 + 3293 @@ -10395,7 +10355,7 @@ 1 2 - 34810 + 34812 2 @@ -10436,7 +10396,7 @@ 1 2 - 34810 + 34812 2 @@ -10477,7 +10437,7 @@ 1 2 - 34810 + 34812 2 @@ -10512,31 +10472,31 @@ diagnostics - 582773 + 72312 id - 582773 + 72312 severity - 209 + 23 error_tag - 7851 + 80 error_message - 56215 + 127 full_error_message - 582040 + 62738 location - 369218 + 150 @@ -10550,7 +10510,7 @@ 1 2 - 582773 + 72312 @@ -10566,7 +10526,7 @@ 1 2 - 582773 + 72312 @@ -10582,7 +10542,7 @@ 1 2 - 582773 + 72312 @@ -10598,7 +10558,7 @@ 1 2 - 582773 + 72312 @@ -10614,7 +10574,7 @@ 1 2 - 582773 + 72312 @@ -10628,14 +10588,14 @@ 12 - 254 - 255 - 104 + 4 + 5 + 11 - 5313 - 5314 - 104 + 6250 + 6251 + 11 @@ -10649,14 +10609,14 @@ 12 - 5 - 6 - 104 + 1 + 2 + 11 - 70 - 71 - 104 + 6 + 7 + 11 @@ -10669,508 +10629,388 @@ 12 - - 7 - 8 - 104 - - - 530 - 531 - 104 - - - - - - - severity - full_error_message - - - 12 - - - 254 - 255 - 104 - - - 5306 - 5307 - 104 - - - - - - - severity - location - - - 12 - - - 174 - 175 - 104 - - - 3429 - 3430 - 104 - - - - - - - error_tag - id - - - 12 - - - 1 - 2 - 1046 - - - 2 - 3 - 942 - 3 4 - 523 - - - 4 - 5 - 523 - - - 5 - 7 - 628 - - - 7 - 11 - 628 - - - 11 - 16 - 628 - - - 16 - 21 - 628 - - - 21 - 32 - 628 - - - 44 - 72 - 628 - - - 112 - 540 - 628 - - - 595 - 1254 - 418 - - - - - - - error_tag - severity - - - 12 - - - 1 - 2 - 7851 - - - - - - - error_tag - error_message - - - 12 - - - 1 - 2 - 5443 - - - 2 - 3 - 418 - - - 3 - 4 - 523 - - - 4 - 6 - 628 - - - 7 - 35 - 628 - - - 59 - 294 - 209 - - - - - - - error_tag - full_error_message - - - 12 - - - 1 - 2 - 1151 - - - 2 - 3 - 942 - - - 3 - 4 - 523 - - - 4 - 5 - 523 - - - 5 - 7 - 628 - - - 7 - 12 - 628 - - - 13 - 16 - 523 - - - 16 - 21 - 628 - - - 21 - 32 - 628 - - - 44 - 72 - 628 - - - 112 - 540 - 628 - - - 595 - 1254 - 418 - - - - - - - error_tag - location - - - 12 - - - 1 - 2 - 1674 - - - 2 - 3 - 942 - - - 3 - 4 - 418 - - - 4 - 5 - 523 - - - 5 - 6 - 523 - - - 6 - 7 - 523 - - - 7 - 15 - 628 - - - 15 - 20 - 628 - - - 23 - 44 - 628 - - - 44 - 95 - 628 - - - 139 - 630 - 628 - - - 764 - 765 - 104 - - - - - - - error_message - id - - - 12 - - - 1 - 2 - 24809 - - - 2 - 3 - 13608 - - - 3 - 4 - 4187 - - - 4 - 6 - 4606 - - - 6 - 14 - 4292 - - - 14 - 227 - 4292 - - - 405 - 1254 - 418 - - - - - - - error_message - severity - - - 12 - - - 1 - 2 - 56215 - - - - - - - error_message - error_tag - - - 12 - - - 1 - 2 - 56215 - - - - - - - error_message - full_error_message - - - 12 - - - 1 - 2 - 24914 - - - 2 - 3 - 13608 - - - 3 - 4 - 4187 - - - 4 - 6 - 4606 - - - 6 - 15 - 4396 - - - 15 - 540 - 4292 - - - 595 - 1254 - 209 - - - - - - - error_message - location - - - 12 - - - 1 - 2 - 36011 - - - 2 - 3 - 6909 - - - 3 - 5 - 4710 - - - 5 - 12 - 4292 - - - 12 - 765 - 4292 - - - - - - - full_error_message - id - - - 12 - - - 1 - 2 - 581935 + 11 8 9 - 104 + 11 + + + + + + + severity + full_error_message + + + 12 + + + 4 + 5 + 11 + + + 5422 + 5423 + 11 + + + + + + + severity + location + + + 12 + + + 4 + 5 + 11 + + + 9 + 10 + 11 + + + + + + + error_tag + id + + + 12 + + + 1 + 2 + 11 + + + 2 + 3 + 11 + + + 4 + 5 + 11 + + + 5 + 6 + 11 + + + 417 + 418 + 11 + + + 829 + 830 + 11 + + + 4996 + 4997 + 11 + + + + + + + error_tag + severity + + + 12 + + + 1 + 2 + 80 + + + + + + + error_tag + error_message + + + 12 + + + 1 + 2 + 57 + + + 3 + 4 + 23 + + + + + + + error_tag + full_error_message + + + 12 + + + 1 + 2 + 23 + + + 2 + 3 + 11 + + + 4 + 5 + 11 + + + 5 + 6 + 11 + + + 417 + 418 + 11 + + + 4996 + 4997 + 11 + + + + + + + error_tag + location + + + 12 + + + 1 + 2 + 46 + + + 2 + 3 + 11 + + + 4 + 5 + 11 + + + 5 + 6 + 11 + + + + + + + error_message + id + + + 12 + + + 1 + 2 + 34 + + + 2 + 3 + 23 + + + 5 + 6 + 11 + + + 10 + 11 + 11 + + + 75 + 76 + 11 + + + 332 + 333 + 11 + + + 829 + 830 + 11 + + + 4996 + 4997 + 11 + + + + + + + error_message + severity + + + 12 + + + 1 + 2 + 127 + + + + + + + error_message + error_tag + + + 12 + + + 1 + 2 + 127 + + + + + + + error_message + full_error_message + + + 12 + + + 1 + 2 + 46 + + + 2 + 3 + 23 + + + 5 + 6 + 11 + + + 10 + 11 + 11 + + + 75 + 76 + 11 + + + 332 + 333 + 11 + + + 4996 + 4997 + 11 + + + + + + + error_message + location + + + 12 + + + 1 + 2 + 92 + + + 2 + 3 + 23 + + + 5 + 6 + 11 + + + + + + + full_error_message + id + + + 12 + + + 1 + 2 + 62726 + + + 829 + 830 + 11 @@ -11186,7 +11026,7 @@ 1 2 - 582040 + 62738 @@ -11202,7 +11042,7 @@ 1 2 - 582040 + 62738 @@ -11218,7 +11058,7 @@ 1 2 - 582040 + 62738 @@ -11234,7 +11074,7 @@ 1 2 - 582040 + 62738 @@ -11250,17 +11090,12 @@ 1 2 - 206959 + 138 - 2 - 3 - 135774 - - - 3 - 13 - 26484 + 6242 + 6243 + 11 @@ -11276,12 +11111,7 @@ 1 2 - 361262 - - - 2 - 3 - 7955 + 150 @@ -11297,12 +11127,12 @@ 1 2 - 354458 + 138 - 2 - 6 - 14760 + 3 + 4 + 11 @@ -11318,12 +11148,12 @@ 1 2 - 353830 + 138 - 2 + 5 6 - 15388 + 11 @@ -11339,17 +11169,12 @@ 1 2 - 207063 + 138 - 2 - 3 - 135774 - - - 3 - 13 - 26380 + 5414 + 5415 + 11 @@ -11359,15 +11184,15 @@ files - 124189 + 124196 id - 124189 + 124196 name - 124189 + 124196 @@ -11381,7 +11206,7 @@ 1 2 - 124189 + 124196 @@ -11397,7 +11222,7 @@ 1 2 - 124189 + 124196 @@ -11455,7 +11280,7 @@ containerparent - 139243 + 139250 parent @@ -11463,7 +11288,7 @@ child - 139243 + 139250 @@ -11482,7 +11307,7 @@ 2 3 - 3292 + 3293 3 @@ -11518,7 +11343,7 @@ 1 2 - 139243 + 139250 @@ -11528,11 +11353,11 @@ fileannotations - 5254886 + 5253841 id - 5019 + 5018 kind @@ -11540,11 +11365,11 @@ name - 56112 + 56101 value - 47173 + 47163 @@ -11563,7 +11388,7 @@ 2 3 - 4845 + 4844 @@ -11624,7 +11449,7 @@ 936 937 - 1457 + 1456 1083 @@ -11690,7 +11515,7 @@ 1501 1502 - 1457 + 1456 1504 @@ -11779,12 +11604,12 @@ 1 2 - 9078 + 9076 2 3 - 6372 + 6370 3 @@ -11794,12 +11619,12 @@ 5 9 - 4371 + 4370 9 14 - 4082 + 4081 14 @@ -11809,27 +11634,27 @@ 18 20 - 4834 + 4833 20 34 - 4325 + 4324 34 128 - 4614 + 4613 128 229 - 4221 + 4220 229 387 - 4348 + 4347 387 @@ -11850,7 +11675,7 @@ 1 2 - 56112 + 56101 @@ -11866,17 +11691,17 @@ 1 2 - 9089 + 9088 2 3 - 8257 + 8255 3 4 - 2625 + 2624 4 @@ -11886,37 +11711,37 @@ 6 9 - 4232 + 4231 9 14 - 4313 + 4312 14 17 - 4232 + 4231 17 22 - 4706 + 4705 22 41 - 4313 + 4312 41 82 - 4267 + 4266 82 157 - 4209 + 4208 158 @@ -11937,7 +11762,7 @@ 1 2 - 7332 + 7330 2 @@ -11947,7 +11772,7 @@ 5 8 - 3411 + 3410 8 @@ -11957,22 +11782,22 @@ 15 17 - 2602 + 2601 17 19 - 4244 + 4243 19 34 - 3411 + 3410 34 189 - 3712 + 3711 189 @@ -11987,12 +11812,12 @@ 266 321 - 3770 + 3769 322 399 - 4047 + 4046 399 @@ -12013,7 +11838,7 @@ 1 2 - 47161 + 47152 2 @@ -12034,17 +11859,17 @@ 1 2 - 7355 + 7353 2 5 - 2648 + 2647 5 8 - 3596 + 3595 8 @@ -12059,17 +11884,17 @@ 17 19 - 3677 + 3676 19 29 - 3596 + 3595 29 39 - 3758 + 3757 39 @@ -12079,7 +11904,7 @@ 48 74 - 3654 + 3653 74 @@ -12089,7 +11914,7 @@ 102 119 - 3689 + 3688 119 @@ -12104,15 +11929,15 @@ inmacroexpansion - 109313317 + 109313388 id - 17941916 + 17941927 inv - 2682068 + 2682069 @@ -12126,32 +11951,32 @@ 1 3 - 1566018 + 1566019 3 5 - 1071344 + 1071345 5 6 - 1179814 + 1179815 6 7 - 4800000 + 4800003 7 8 - 6359380 + 6359384 8 9 - 2595248 + 2595250 9 @@ -12172,12 +11997,12 @@ 1 2 - 371855 + 371856 2 3 - 540116 + 540113 3 @@ -12212,7 +12037,7 @@ 11 337 - 223911 + 223913 339 @@ -12232,15 +12057,15 @@ affectedbymacroexpansion - 35540532 + 35540555 id - 5135277 + 5135280 inv - 2773181 + 2773183 @@ -12254,7 +12079,7 @@ 1 2 - 2804212 + 2804214 2 @@ -12279,7 +12104,7 @@ 12 50 - 405705 + 405706 50 @@ -12305,7 +12130,7 @@ 4 7 - 230823 + 230824 7 @@ -12315,7 +12140,7 @@ 9 12 - 250042 + 250043 12 @@ -12345,7 +12170,7 @@ 17 18 - 146328 + 146329 18 @@ -12370,19 +12195,19 @@ macroinvocations - 33894981 + 33889080 id - 33894981 + 33889080 macro_id - 81381 + 81423 location - 778557 + 778830 kind @@ -12400,7 +12225,7 @@ 1 2 - 33894981 + 33889080 @@ -12416,7 +12241,7 @@ 1 2 - 33894981 + 33889080 @@ -12432,7 +12257,7 @@ 1 2 - 33894981 + 33889080 @@ -12448,12 +12273,12 @@ 1 2 - 17578 + 17575 2 3 - 16977 + 16973 3 @@ -12463,42 +12288,42 @@ 4 5 - 4880 + 4879 5 8 - 6048 + 6047 8 14 - 6406 + 6440 14 29 - 6291 + 6313 29 - 72 - 6106 + 73 + 6220 - 72 - 247 - 6129 + 73 + 257 + 6139 - 248 - 4166 - 6106 + 257 + 5769 + 6116 - 4220 + 6272 168296 - 1156 + 1017 @@ -12514,32 +12339,32 @@ 1 2 - 43506 + 43498 2 3 - 10651 + 10649 3 4 - 5285 + 5284 4 6 - 6985 + 7018 6 13 - 6626 + 6636 13 66 - 6140 + 6151 66 @@ -12560,12 +12385,12 @@ 1 2 - 75553 + 75538 2 3 - 5828 + 5885 @@ -12581,37 +12406,37 @@ 1 2 - 320982 + 321115 2 3 - 177751 + 177878 3 4 - 47300 + 47313 4 5 - 59605 + 59616 5 9 - 68533 + 68542 9 23 - 58425 + 58414 23 244365 - 45958 + 45949 @@ -12627,12 +12452,12 @@ 1 2 - 731280 + 731563 2 350 - 47277 + 47267 @@ -12648,7 +12473,7 @@ 1 2 - 778557 + 778830 @@ -12662,13 +12487,13 @@ 12 - 20414 - 20415 + 20464 + 20465 11 - 2910446 - 2910447 + 2910469 + 2910470 11 @@ -12683,13 +12508,13 @@ 12 - 2123 - 2124 + 2128 + 2129 11 - 5418 - 5419 + 5423 + 5424 11 @@ -12704,13 +12529,13 @@ 12 - 6291 - 6292 + 6315 + 6316 11 - 61030 - 61031 + 61043 + 61044 11 @@ -12721,15 +12546,15 @@ macroparent - 30455592 + 30449647 id - 30455592 + 30449647 parent_id - 23698199 + 23693599 @@ -12743,7 +12568,7 @@ 1 2 - 30455592 + 30449647 @@ -12759,17 +12584,17 @@ 1 2 - 18307171 + 18303643 2 3 - 4540062 + 4539159 3 88 - 850965 + 850796 @@ -12779,15 +12604,15 @@ macrolocationbind - 3984640 + 3984515 id - 2778886 + 2778799 location - 1988454 + 1988392 @@ -12801,22 +12626,22 @@ 1 2 - 2183104 + 2183036 2 3 - 336443 + 336432 3 7 - 229815 + 229808 7 57 - 29523 + 29522 @@ -12832,22 +12657,22 @@ 1 2 - 1589588 + 1589539 2 3 - 169647 + 169641 3 8 - 154233 + 154228 8 723 - 74984 + 74982 @@ -12857,11 +12682,11 @@ macro_argument_unexpanded - 86176782 + 86159621 invocation - 26568343 + 26563044 argument_index @@ -12869,7 +12694,7 @@ text - 326094 + 326029 @@ -12883,22 +12708,22 @@ 1 2 - 7436793 + 7435302 2 3 - 10861692 + 10859530 3 4 - 6256808 + 6255563 4 67 - 2013048 + 2012648 @@ -12914,22 +12739,22 @@ 1 2 - 7508010 + 7506504 2 3 - 11011561 + 11009369 3 4 - 6087232 + 6086021 4 67 - 1961538 + 1961148 @@ -12954,7 +12779,7 @@ 715085 - 2297335 + 2297334 34 @@ -12997,57 +12822,57 @@ 1 2 - 40858 + 40850 2 3 - 65607 + 65594 3 4 - 15184 + 15181 4 5 - 45102 + 45093 5 8 - 25569 + 25576 8 12 - 16075 + 16060 12 16 - 22297 + 22292 16 23 - 26518 + 26512 23 43 - 24748 + 24743 43 164 - 24459 + 24454 164 521384 - 19671 + 19667 @@ -13063,17 +12888,17 @@ 1 2 - 235830 + 235783 2 3 - 79728 + 79712 3 9 - 10535 + 10533 @@ -13083,11 +12908,11 @@ macro_argument_expanded - 86176782 + 86159621 invocation - 26568343 + 26563044 argument_index @@ -13095,7 +12920,7 @@ text - 197597 + 197580 @@ -13109,22 +12934,22 @@ 1 2 - 7436793 + 7435302 2 3 - 10861692 + 10859530 3 4 - 6256808 + 6255563 4 67 - 2013048 + 2012648 @@ -13140,22 +12965,22 @@ 1 2 - 10747743 + 10745593 2 3 - 9374139 + 9372273 3 4 - 5306998 + 5305941 4 9 - 1139462 + 1139235 @@ -13180,7 +13005,7 @@ 715085 - 2297335 + 2297334 34 @@ -13206,7 +13031,7 @@ 870 - 13877 + 13879 46 @@ -13223,62 +13048,62 @@ 1 2 - 24552 + 24547 2 3 - 41147 + 41151 3 4 - 6927 + 6925 4 5 - 16364 + 16361 5 6 - 2995 + 2994 6 7 - 23291 + 23286 7 9 - 15982 + 15991 9 15 - 16699 + 16696 15 31 - 15589 + 15586 31 97 - 15080 + 15077 97 775 - 15485 + 15482 775 - 1052916 - 3481 + 1052906 + 3480 @@ -13294,17 +13119,17 @@ 1 2 - 99989 + 99992 2 3 - 82850 + 82834 3 66 - 14756 + 14753 @@ -13314,19 +13139,19 @@ functions - 4726273 + 4726519 id - 4726273 + 4726519 name - 1934352 + 1934453 kind - 3292 + 3293 @@ -13340,7 +13165,7 @@ 1 2 - 4726273 + 4726519 @@ -13356,7 +13181,7 @@ 1 2 - 4726273 + 4726519 @@ -13372,22 +13197,22 @@ 1 2 - 1516622 + 1516701 2 3 - 154296 + 154304 3 5 - 151003 + 151011 5 1724 - 112429 + 112435 @@ -13403,7 +13228,7 @@ 1 2 - 1933881 + 1933982 2 @@ -13510,15 +13335,15 @@ function_entry_point - 1176981 + 1177043 id - 1167103 + 1167163 entry_point - 1176981 + 1177043 @@ -13532,12 +13357,12 @@ 1 2 - 1157224 + 1157284 2 3 - 9878 + 9879 @@ -13553,7 +13378,7 @@ 1 2 - 1176981 + 1177043 @@ -13563,15 +13388,15 @@ function_return_type - 4734741 + 4734987 id - 4726273 + 4726519 return_type - 1016569 + 1016622 @@ -13585,7 +13410,7 @@ 1 2 - 4719217 + 4719463 2 @@ -13606,22 +13431,22 @@ 1 2 - 523103 + 523130 2 3 - 390445 + 390465 3 11 - 78559 + 78563 11 2516 - 24461 + 24462 @@ -13639,7 +13464,7 @@ traits - 1 + 2 handle @@ -13707,9 +13532,9 @@ 12 - 2 - 3 - 1 + 1 + 2 + 2 @@ -13723,9 +13548,9 @@ 12 - 2 - 3 - 1 + 1 + 2 + 2 @@ -13739,9 +13564,9 @@ 12 - 2 - 3 - 1 + 1 + 2 + 2 @@ -13943,48 +13768,48 @@ purefunctions - 99446 + 99447 id - 99446 + 99447 function_deleted - 140654 + 140661 id - 140654 + 140661 function_defaulted - 74325 + 74329 id - 74325 + 74329 member_function_this_type - 553641 + 553316 id - 553641 + 553316 this_type - 189690 + 189579 @@ -13998,7 +13823,7 @@ 1 2 - 553641 + 553316 @@ -14014,32 +13839,32 @@ 1 2 - 68526 + 68486 2 3 - 45414 + 45387 3 4 - 30475 + 30458 4 5 - 15537 + 15528 5 7 - 15607 + 15598 7 66 - 14128 + 14119 @@ -14049,27 +13874,27 @@ fun_decls - 5102136 + 5102402 id - 5096962 + 5097227 function - 4578563 + 4578801 type_id - 1013276 + 1013329 name - 1836035 + 1836130 location - 3461324 + 3461504 @@ -14083,7 +13908,7 @@ 1 2 - 5096962 + 5097227 @@ -14099,7 +13924,7 @@ 1 2 - 5091787 + 5092052 2 @@ -14120,7 +13945,7 @@ 1 2 - 5096962 + 5097227 @@ -14136,7 +13961,7 @@ 1 2 - 5096962 + 5097227 @@ -14152,17 +13977,17 @@ 1 2 - 4141075 + 4141291 2 3 - 363161 + 363180 3 7 - 74325 + 74329 @@ -14178,12 +14003,12 @@ 1 2 - 4536696 + 4536932 2 5 - 41867 + 41869 @@ -14199,7 +14024,7 @@ 1 2 - 4578563 + 4578801 @@ -14215,12 +14040,12 @@ 1 2 - 4197996 + 4198214 2 4 - 379155 + 379175 4 @@ -14241,22 +14066,22 @@ 1 2 - 445954 + 445977 2 3 - 453481 + 453505 3 9 - 79500 + 79504 9 2768 - 34340 + 34342 @@ -14272,22 +14097,22 @@ 1 2 - 530629 + 530657 2 3 - 381978 + 381998 3 11 - 77148 + 77152 11 2477 - 23520 + 23522 @@ -14303,17 +14128,17 @@ 1 2 - 883912 + 883958 2 5 - 90319 + 90324 5 822 - 39044 + 39046 @@ -14329,22 +14154,22 @@ 1 2 - 779480 + 779520 2 3 - 133127 + 133134 3 11 - 78089 + 78093 11 2030 - 22579 + 22581 @@ -14360,27 +14185,27 @@ 1 2 - 1245192 + 1245257 2 3 - 269548 + 269562 3 4 - 80441 + 80445 4 6 - 138772 + 138780 6 1758 - 102080 + 102085 @@ -14396,22 +14221,22 @@ 1 2 - 1425832 + 1425906 2 3 - 153355 + 153363 3 5 - 145358 + 145366 5 1708 - 111488 + 111494 @@ -14427,17 +14252,17 @@ 1 2 - 1615880 + 1615964 2 4 - 135009 + 135016 4 954 - 85145 + 85149 @@ -14453,27 +14278,27 @@ 1 2 - 1266831 + 1266897 2 3 - 296362 + 296377 3 4 - 79500 + 79504 4 8 - 139243 + 139250 8 664 - 54097 + 54100 @@ -14489,17 +14314,17 @@ 1 2 - 2995611 + 2995767 2 4 - 302007 + 302023 4 55 - 163704 + 163713 @@ -14515,17 +14340,17 @@ 1 2 - 3063351 + 3063511 2 6 - 268607 + 268621 6 55 - 129364 + 129371 @@ -14541,12 +14366,12 @@ 1 2 - 3245873 + 3246042 2 27 - 215450 + 215461 @@ -14562,12 +14387,12 @@ 1 2 - 3285388 + 3285559 2 13 - 175935 + 175944 @@ -14577,22 +14402,22 @@ fun_def - 1963988 + 1964090 id - 1963988 + 1964090 fun_specialized - 26343 + 26344 id - 26343 + 26344 @@ -14610,11 +14435,11 @@ fun_decl_specifiers - 2937280 + 2937433 id - 1710904 + 1710993 name @@ -14632,17 +14457,17 @@ 1 2 - 503345 + 503371 2 3 - 1188742 + 1188804 3 4 - 18816 + 18817 @@ -14814,26 +14639,26 @@ fun_decl_empty_throws - 1978101 + 1978204 fun_decl - 1978101 + 1978204 fun_decl_noexcept - 61239 + 61252 fun_decl - 61239 + 61252 constant - 61135 + 61148 @@ -14847,7 +14672,7 @@ 1 2 - 61239 + 61252 @@ -14863,7 +14688,7 @@ 1 2 - 61030 + 61043 2 @@ -14878,11 +14703,11 @@ fun_decl_empty_noexcept - 888146 + 888192 fun_decl - 888146 + 888192 @@ -14987,11 +14812,11 @@ param_decl_bind - 7472094 + 7472483 id - 7472094 + 7472483 index @@ -14999,7 +14824,7 @@ fun_decl - 4286434 + 4286657 @@ -15013,7 +14838,7 @@ 1 2 - 7472094 + 7472483 @@ -15029,7 +14854,7 @@ 1 2 - 7472094 + 7472483 @@ -15207,22 +15032,22 @@ 1 2 - 2409002 + 2409127 2 3 - 1071608 + 1071664 3 4 - 506638 + 506664 4 18 - 299184 + 299200 @@ -15238,22 +15063,22 @@ 1 2 - 2409002 + 2409127 2 3 - 1071608 + 1071664 3 4 - 506638 + 506664 4 18 - 299184 + 299200 @@ -15263,27 +15088,27 @@ var_decls - 8611913 + 8612362 id - 8543232 + 8543677 variable - 7520077 + 7520468 type_id - 2430641 + 2430768 name - 672695 + 672730 location - 5365099 + 5365378 @@ -15297,7 +15122,7 @@ 1 2 - 8543232 + 8543677 @@ -15313,12 +15138,12 @@ 1 2 - 8474552 + 8474993 2 3 - 68680 + 68684 @@ -15334,7 +15159,7 @@ 1 2 - 8543232 + 8543677 @@ -15350,7 +15175,7 @@ 1 2 - 8543232 + 8543677 @@ -15366,17 +15191,17 @@ 1 2 - 6658274 + 6658620 2 3 - 707035 + 707072 3 7 - 154767 + 154775 @@ -15392,12 +15217,12 @@ 1 2 - 7346963 + 7347346 2 4 - 173113 + 173122 @@ -15413,12 +15238,12 @@ 1 2 - 7402943 + 7403328 2 3 - 117133 + 117139 @@ -15434,12 +15259,12 @@ 1 2 - 6967337 + 6967700 2 4 - 552739 + 552768 @@ -15455,27 +15280,27 @@ 1 2 - 1505802 + 1505881 2 3 - 516046 + 516073 3 4 - 98787 + 98792 4 7 - 188636 + 188646 7 780 - 121367 + 121373 @@ -15491,22 +15316,22 @@ 1 2 - 1640342 + 1640427 2 3 - 491114 + 491140 3 7 - 188166 + 188176 7 742 - 111018 + 111024 @@ -15522,17 +15347,17 @@ 1 2 - 1918828 + 1918928 2 3 - 388563 + 388584 3 128 - 123249 + 123255 @@ -15548,22 +15373,22 @@ 1 2 - 1743833 + 1743924 2 3 - 406910 + 406931 3 8 - 190048 + 190058 8 595 - 89849 + 89854 @@ -15579,37 +15404,37 @@ 1 2 - 343874 + 343892 2 3 - 87497 + 87502 3 4 - 48923 + 48925 4 6 - 52216 + 52218 6 12 - 52686 + 52689 12 33 - 50804 + 50807 34 3281 - 36692 + 36694 @@ -15625,37 +15450,37 @@ 1 2 - 371628 + 371648 2 3 - 78559 + 78563 3 4 - 45630 + 45632 4 6 - 49864 + 49866 6 14 - 53627 + 53630 14 56 - 51275 + 51278 56 3198 - 22109 + 22110 @@ -15671,27 +15496,27 @@ 1 2 - 460537 + 460561 2 3 - 94553 + 94558 3 5 - 47041 + 47044 5 19 - 51275 + 51278 19 1979 - 19287 + 19288 @@ -15707,32 +15532,32 @@ 1 2 - 381978 + 381998 2 3 - 91260 + 91265 3 5 - 60213 + 60216 5 9 - 51745 + 51748 9 21 - 50804 + 50807 21 1020 - 36692 + 36694 @@ -15748,17 +15573,17 @@ 1 2 - 4535755 + 4535991 2 3 - 550387 + 550415 3 1783 - 278956 + 278971 @@ -15774,17 +15599,17 @@ 1 2 - 4939842 + 4940100 2 17 - 414436 + 414458 17 1779 - 10819 + 10820 @@ -15800,12 +15625,12 @@ 1 2 - 5016520 + 5016782 2 1561 - 348578 + 348596 @@ -15821,7 +15646,7 @@ 1 2 - 5360865 + 5361144 2 @@ -15836,22 +15661,22 @@ var_def - 4083685 + 4083897 id - 4083685 + 4083897 var_decl_specifiers - 334936 + 334953 id - 334936 + 334953 name @@ -15869,7 +15694,7 @@ 1 2 - 334936 + 334953 @@ -15916,19 +15741,19 @@ type_decls - 3283977 + 3284148 id - 3283977 + 3284148 type_id - 3233172 + 3233340 location - 3204006 + 3204173 @@ -15942,7 +15767,7 @@ 1 2 - 3283977 + 3284148 @@ -15958,7 +15783,7 @@ 1 2 - 3283977 + 3284148 @@ -15974,12 +15799,12 @@ 1 2 - 3191305 + 3191471 2 5 - 41867 + 41869 @@ -15995,12 +15820,12 @@ 1 2 - 3191305 + 3191471 2 5 - 41867 + 41869 @@ -16016,12 +15841,12 @@ 1 2 - 3163080 + 3163244 2 20 - 40926 + 40928 @@ -16037,12 +15862,12 @@ 1 2 - 3163080 + 3163244 2 20 - 40926 + 40928 @@ -16052,33 +15877,33 @@ type_def - 2660675 + 2660813 id - 2660675 + 2660813 type_decl_top - 755959 + 755998 type_decl - 755959 + 755998 namespace_decls - 306972 + 306973 id - 306972 + 306973 namespace_id @@ -16086,11 +15911,11 @@ location - 306972 + 306973 bodylocation - 306972 + 306973 @@ -16104,7 +15929,7 @@ 1 2 - 306972 + 306973 @@ -16120,7 +15945,7 @@ 1 2 - 306972 + 306973 @@ -16136,7 +15961,7 @@ 1 2 - 306972 + 306973 @@ -16350,7 +16175,7 @@ 1 2 - 306972 + 306973 @@ -16366,7 +16191,7 @@ 1 2 - 306972 + 306973 @@ -16382,7 +16207,7 @@ 1 2 - 306972 + 306973 @@ -16398,7 +16223,7 @@ 1 2 - 306972 + 306973 @@ -16414,7 +16239,7 @@ 1 2 - 306972 + 306973 @@ -16430,7 +16255,7 @@ 1 2 - 306972 + 306973 @@ -16440,19 +16265,19 @@ usings - 374921 + 374941 id - 374921 + 374941 element_id - 318471 + 318488 location - 249791 + 249804 @@ -16466,7 +16291,7 @@ 1 2 - 374921 + 374941 @@ -16482,7 +16307,7 @@ 1 2 - 374921 + 374941 @@ -16498,12 +16323,12 @@ 1 2 - 263903 + 263917 2 3 - 53157 + 53159 3 @@ -16524,12 +16349,12 @@ 1 2 - 263903 + 263917 2 3 - 53157 + 53159 3 @@ -16550,22 +16375,22 @@ 1 2 - 203690 + 203700 2 4 - 11289 + 11290 4 5 - 31517 + 31519 5 11 - 3292 + 3293 @@ -16581,22 +16406,22 @@ 1 2 - 203690 + 203700 2 4 - 11289 + 11290 4 5 - 31517 + 31519 5 11 - 3292 + 3293 @@ -16606,15 +16431,15 @@ using_container - 478195 + 478100 parent - 11298 + 11296 child - 303207 + 303147 @@ -16684,17 +16509,17 @@ 1 2 - 223629 + 223585 2 3 - 52990 + 52979 3 11 - 24401 + 24396 13 @@ -16709,15 +16534,15 @@ static_asserts - 130417 + 130418 id - 130417 + 130418 condition - 130417 + 130418 message @@ -16743,7 +16568,7 @@ 1 2 - 130417 + 130418 @@ -16759,7 +16584,7 @@ 1 2 - 130417 + 130418 @@ -16775,7 +16600,7 @@ 1 2 - 130417 + 130418 @@ -16791,7 +16616,7 @@ 1 2 - 130417 + 130418 @@ -16807,7 +16632,7 @@ 1 2 - 130417 + 130418 @@ -16823,7 +16648,7 @@ 1 2 - 130417 + 130418 @@ -16839,7 +16664,7 @@ 1 2 - 130417 + 130418 @@ -16855,7 +16680,7 @@ 1 2 - 130417 + 130418 @@ -17327,15 +17152,15 @@ params - 6825742 + 6826097 id - 6660155 + 6660502 function - 3940208 + 3940413 index @@ -17343,7 +17168,7 @@ type_id - 2234478 + 2234594 @@ -17357,7 +17182,7 @@ 1 2 - 6660155 + 6660502 @@ -17373,7 +17198,7 @@ 1 2 - 6660155 + 6660502 @@ -17389,12 +17214,12 @@ 1 2 - 6535025 + 6535365 2 4 - 125130 + 125137 @@ -17410,22 +17235,22 @@ 1 2 - 2303158 + 2303278 2 3 - 960590 + 960640 3 4 - 433253 + 433276 4 18 - 243205 + 243217 @@ -17441,22 +17266,22 @@ 1 2 - 2303158 + 2303278 2 3 - 960590 + 960640 3 4 - 433253 + 433276 4 18 - 243205 + 243217 @@ -17472,22 +17297,22 @@ 1 2 - 2605636 + 2605772 2 3 - 831225 + 831269 3 4 - 349519 + 349537 4 12 - 153826 + 153834 @@ -17741,22 +17566,22 @@ 1 2 - 1525560 + 1525639 2 3 - 446425 + 446448 3 8 - 171701 + 171710 8 522 - 90790 + 90795 @@ -17772,22 +17597,22 @@ 1 2 - 1749008 + 1749099 2 3 - 250731 + 250745 3 9 - 169820 + 169829 9 506 - 64917 + 64920 @@ -17803,17 +17628,17 @@ 1 2 - 1801694 + 1801788 2 3 - 353282 + 353301 3 13 - 79500 + 79504 @@ -17823,7 +17648,7 @@ overrides - 159823 + 159824 new @@ -17919,7 +17744,7 @@ type_id - 326293 + 326294 name @@ -17937,7 +17762,7 @@ 1 2 - 1048372 + 1048373 2 @@ -18087,19 +17912,19 @@ globalvariables - 300716 + 318724 id - 300708 + 318724 type_id - 1405 + 7852 name - 294738 + 86905 @@ -18113,12 +17938,7 @@ 1 2 - 300700 - - - 2 - 3 - 8 + 318724 @@ -18134,7 +17954,7 @@ 1 2 - 300708 + 318724 @@ -18150,27 +17970,32 @@ 1 2 - 977 + 5130 2 3 - 159 + 209 3 - 7 - 114 + 4 + 628 - 7 - 77 - 106 + 4 + 9 + 628 - 83 - 169397 - 49 + 18 + 31 + 628 + + + 35 + 1226 + 628 @@ -18186,27 +18011,32 @@ 1 2 - 1010 + 5130 2 3 - 135 + 209 3 - 7 - 112 + 4 + 628 - 7 - 105 - 106 + 4 + 9 + 628 - 106 - 168448 - 42 + 14 + 25 + 628 + + + 35 + 209 + 628 @@ -18222,12 +18052,17 @@ 1 2 - 290989 + 75911 2 - 33 - 3749 + 11 + 6596 + + + 11 + 449 + 4397 @@ -18243,12 +18078,12 @@ 1 2 - 294142 + 76644 2 - 12 - 596 + 3 + 10261 @@ -18266,7 +18101,7 @@ type_id - 37905 + 37909 name @@ -18326,7 +18161,7 @@ 3 4 - 2479 + 2483 4 @@ -18336,12 +18171,12 @@ 7 18 - 2878 + 2874 18 15847 - 2513 + 2517 @@ -18367,7 +18202,7 @@ 3 5 - 2946 + 2950 5 @@ -18449,11 +18284,11 @@ autoderivation - 149488 + 149519 var - 149488 + 149519 derivation_type @@ -18471,7 +18306,7 @@ 1 2 - 149488 + 149519 @@ -18537,7 +18372,7 @@ name - 240334 + 240335 location @@ -19272,7 +19107,7 @@ 1 2 - 240334 + 240335 @@ -19288,7 +19123,7 @@ 1 2 - 240334 + 240335 @@ -19414,23 +19249,23 @@ builtintypes - 22109 + 22110 id - 22109 + 22110 name - 22109 + 22110 kind - 22109 + 22110 size - 3292 + 3293 sign @@ -19452,7 +19287,7 @@ 1 2 - 22109 + 22110 @@ -19468,7 +19303,7 @@ 1 2 - 22109 + 22110 @@ -19484,7 +19319,7 @@ 1 2 - 22109 + 22110 @@ -19500,7 +19335,7 @@ 1 2 - 22109 + 22110 @@ -19516,7 +19351,7 @@ 1 2 - 22109 + 22110 @@ -19532,7 +19367,7 @@ 1 2 - 22109 + 22110 @@ -19548,7 +19383,7 @@ 1 2 - 22109 + 22110 @@ -19564,7 +19399,7 @@ 1 2 - 22109 + 22110 @@ -19580,7 +19415,7 @@ 1 2 - 22109 + 22110 @@ -19596,7 +19431,7 @@ 1 2 - 22109 + 22110 @@ -19612,7 +19447,7 @@ 1 2 - 22109 + 22110 @@ -19628,7 +19463,7 @@ 1 2 - 22109 + 22110 @@ -19644,7 +19479,7 @@ 1 2 - 22109 + 22110 @@ -19660,7 +19495,7 @@ 1 2 - 22109 + 22110 @@ -19676,7 +19511,7 @@ 1 2 - 22109 + 22110 @@ -20126,15 +19961,15 @@ derivedtypes - 4413446 + 4413676 id - 4413446 + 4413676 name - 2205312 + 2205427 kind @@ -20142,7 +19977,7 @@ type_id - 2729356 + 2729498 @@ -20156,7 +19991,7 @@ 1 2 - 4413446 + 4413676 @@ -20172,7 +20007,7 @@ 1 2 - 4413446 + 4413676 @@ -20188,7 +20023,7 @@ 1 2 - 4413446 + 4413676 @@ -20204,17 +20039,17 @@ 1 2 - 1935763 + 1935864 2 5 - 171231 + 171240 5 1173 - 98317 + 98322 @@ -20230,7 +20065,7 @@ 1 2 - 2204371 + 2204486 2 @@ -20251,17 +20086,17 @@ 1 2 - 1935763 + 1935864 2 5 - 171231 + 171240 5 1155 - 98317 + 98322 @@ -20400,22 +20235,22 @@ 1 2 - 1685972 + 1686060 2 3 - 568733 + 568763 3 4 - 367395 + 367414 4 54 - 107254 + 107260 @@ -20431,22 +20266,22 @@ 1 2 - 1697262 + 1697350 2 3 - 561206 + 561236 3 4 - 364572 + 364591 4 54 - 106314 + 106319 @@ -20462,22 +20297,22 @@ 1 2 - 1690206 + 1690294 2 3 - 572496 + 572526 3 4 - 366454 + 366473 4 6 - 100198 + 100203 @@ -20487,11 +20322,11 @@ pointerishsize - 3314342 + 3312399 id - 3314342 + 3312399 size @@ -20513,7 +20348,7 @@ 1 2 - 3314342 + 3312399 @@ -20529,7 +20364,7 @@ 1 2 - 3314342 + 3312399 @@ -20603,19 +20438,19 @@ arraysizes - 71503 + 71507 id - 71503 + 71507 num_elements - 23520 + 23522 bytesize - 26343 + 26344 alignment @@ -20633,7 +20468,7 @@ 1 2 - 71503 + 71507 @@ -20649,7 +20484,7 @@ 1 2 - 71503 + 71507 @@ -20665,7 +20500,7 @@ 1 2 - 71503 + 71507 @@ -20686,7 +20521,7 @@ 2 3 - 15053 + 15054 3 @@ -20722,7 +20557,7 @@ 1 2 - 18346 + 18347 2 @@ -20753,7 +20588,7 @@ 1 2 - 18346 + 18347 2 @@ -20789,12 +20624,12 @@ 2 3 - 16934 + 16935 3 4 - 3292 + 3293 4 @@ -20820,12 +20655,12 @@ 1 2 - 21639 + 21640 2 3 - 3292 + 3293 3 @@ -20846,12 +20681,12 @@ 1 2 - 22109 + 22110 2 3 - 3292 + 3293 4 @@ -20954,15 +20789,15 @@ typedefbase - 1724181 + 1736730 id - 1724181 + 1736730 type_id - 803746 + 810523 @@ -20976,7 +20811,7 @@ 1 2 - 1724181 + 1736730 @@ -20992,22 +20827,22 @@ 1 2 - 623380 + 629130 2 3 - 84307 + 85019 3 6 - 64497 + 64576 6 5443 - 31560 + 31797 @@ -21017,19 +20852,19 @@ decltypes - 355640 + 355894 id - 23953 + 23951 expr - 355640 + 355894 base_type - 17181 + 17180 parentheses_would_change_meaning @@ -21047,12 +20882,12 @@ 1 2 - 5961 + 5960 2 3 - 7492 + 7491 3 @@ -21067,12 +20902,12 @@ 7 18 - 1999 + 1980 18 42 - 2017 + 2035 42 @@ -21093,7 +20928,7 @@ 1 2 - 23953 + 23951 @@ -21109,7 +20944,7 @@ 1 2 - 23953 + 23951 @@ -21125,7 +20960,7 @@ 1 2 - 355640 + 355894 @@ -21141,7 +20976,7 @@ 1 2 - 355640 + 355894 @@ -21157,7 +20992,7 @@ 1 2 - 355640 + 355894 @@ -21204,7 +21039,7 @@ 2 3 - 7348 + 7347 3 @@ -21245,7 +21080,7 @@ 1 2 - 17181 + 17180 @@ -21275,8 +21110,8 @@ 12 - 19747 - 19748 + 19762 + 19763 18 @@ -21303,15 +21138,15 @@ usertypes - 5342989 + 5343268 id - 5342989 + 5343268 name - 1383024 + 1383096 kind @@ -21329,7 +21164,7 @@ 1 2 - 5342989 + 5343268 @@ -21345,7 +21180,7 @@ 1 2 - 5342989 + 5343268 @@ -21361,27 +21196,27 @@ 1 2 - 1001986 + 1002039 2 3 - 161352 + 161361 3 7 - 107725 + 107730 7 80 - 104432 + 104437 80 885 - 7526 + 7527 @@ -21397,17 +21232,17 @@ 1 2 - 1240488 + 1240552 2 3 - 127012 + 127019 3 7 - 15523 + 15524 @@ -21549,11 +21384,11 @@ usertypesize - 1755594 + 1755685 id - 1755594 + 1755685 size @@ -21575,7 +21410,7 @@ 1 2 - 1755594 + 1755685 @@ -21591,7 +21426,7 @@ 1 2 - 1755594 + 1755685 @@ -21607,7 +21442,7 @@ 1 2 - 3292 + 3293 2 @@ -21755,11 +21590,11 @@ usertype_final - 9526 + 9528 id - 9526 + 9528 @@ -21819,15 +21654,15 @@ mangled_name - 5264430 + 5301398 id - 5264430 + 5301398 mangled_name - 1235313 + 1272072 @@ -21841,7 +21676,7 @@ 1 2 - 5264430 + 5301398 @@ -21857,32 +21692,32 @@ 1 2 - 731027 + 767759 2 3 - 178287 + 178297 3 4 - 84674 + 84679 4 - 6 - 86086 + 7 + 114787 - 6 - 13 - 93142 + 7 + 25 + 95499 - 13 + 25 885 - 62094 + 31049 @@ -21892,59 +21727,59 @@ is_pod_class - 554326 + 554216 id - 554326 + 554216 is_standard_layout_class - 1295997 + 1296064 id - 1295997 + 1296064 is_complete - 1694439 + 1694528 id - 1694439 + 1694528 is_class_template - 405028 + 405049 id - 405028 + 405049 class_instantiation - 1121943 + 1122001 to - 1121943 + 1122001 from - 170761 + 170770 @@ -21958,7 +21793,7 @@ 1 2 - 1121943 + 1122001 @@ -21974,42 +21809,42 @@ 1 2 - 58802 + 58805 2 3 - 30106 + 30108 3 4 - 16464 + 16465 4 5 - 14582 + 14583 5 7 - 15523 + 15524 7 13 - 13171 + 13172 13 29 - 13171 + 13172 30 84 - 8937 + 8938 @@ -22019,11 +21854,11 @@ class_template_argument - 2978113 + 2977520 type_id - 1355713 + 1355443 index @@ -22031,7 +21866,7 @@ arg_type - 863386 + 863214 @@ -22045,27 +21880,27 @@ 1 2 - 551562 + 551453 2 3 - 411593 + 411511 3 4 - 246019 + 245970 4 7 - 122356 + 122331 7 113 - 24182 + 24177 @@ -22081,22 +21916,22 @@ 1 2 - 577421 + 577306 2 3 - 424939 + 424854 3 4 - 257884 + 257833 4 113 - 95467 + 95448 @@ -22117,7 +21952,7 @@ 2 3 - 821 + 820 3 @@ -22163,7 +21998,7 @@ 2 3 - 821 + 820 3 @@ -22204,27 +22039,27 @@ 1 2 - 535649 + 535542 2 3 - 181070 + 181034 3 4 - 52573 + 52563 4 10 - 65688 + 65675 10 11334 - 28403 + 28397 @@ -22240,17 +22075,17 @@ 1 2 - 755682 + 755532 2 3 - 85741 + 85724 3 22 - 21961 + 21957 @@ -22260,11 +22095,11 @@ class_template_argument_value - 508520 + 508546 type_id - 316590 + 316606 index @@ -22272,7 +22107,7 @@ arg_value - 508520 + 508546 @@ -22286,12 +22121,12 @@ 1 2 - 261081 + 261094 2 3 - 53627 + 53630 3 @@ -22312,17 +22147,17 @@ 1 2 - 200397 + 200407 2 3 - 81852 + 81856 3 5 - 29165 + 29167 5 @@ -22405,7 +22240,7 @@ 1 2 - 508520 + 508546 @@ -22421,7 +22256,7 @@ 1 2 - 508520 + 508546 @@ -22431,15 +22266,15 @@ is_proxy_class_for - 65387 + 65391 id - 65387 + 65391 templ_param_id - 65387 + 65391 @@ -22453,7 +22288,7 @@ 1 2 - 65387 + 65391 @@ -22469,7 +22304,7 @@ 1 2 - 65387 + 65391 @@ -22479,11 +22314,11 @@ type_mentions - 4011508 + 4011511 id - 4011508 + 4011511 type_id @@ -22491,7 +22326,7 @@ location - 3978135 + 3978138 kind @@ -22509,7 +22344,7 @@ 1 2 - 4011508 + 4011511 @@ -22525,7 +22360,7 @@ 1 2 - 4011508 + 4011511 @@ -22541,7 +22376,7 @@ 1 2 - 4011508 + 4011511 @@ -22675,7 +22510,7 @@ 1 2 - 3944762 + 3944765 2 @@ -22696,7 +22531,7 @@ 1 2 - 3944762 + 3944765 2 @@ -22717,7 +22552,7 @@ 1 2 - 3978135 + 3978138 @@ -22775,26 +22610,26 @@ is_function_template - 1413601 + 1413674 id - 1413601 + 1413674 function_instantiation - 906422 + 905891 to - 906422 + 905891 from - 146002 + 145917 @@ -22808,7 +22643,7 @@ 1 2 - 906422 + 905891 @@ -22824,27 +22659,27 @@ 1 2 - 101152 + 101092 2 3 - 14480 + 14472 3 6 - 12014 + 12007 6 21 - 12049 + 12042 22 869 - 6306 + 6302 @@ -22854,11 +22689,11 @@ function_template_argument - 2339815 + 2338443 function_id - 1318394 + 1317621 index @@ -22866,7 +22701,7 @@ arg_type - 305041 + 304862 @@ -22880,22 +22715,22 @@ 1 2 - 679667 + 679268 2 3 - 388084 + 387856 3 4 - 179966 + 179861 4 15 - 70676 + 70634 @@ -22911,22 +22746,22 @@ 1 2 - 694852 + 694445 2 3 - 393404 + 393173 3 4 - 150970 + 150882 4 9 - 79167 + 79120 @@ -23074,32 +22909,32 @@ 1 2 - 186978 + 186868 2 3 - 44850 + 44824 3 5 - 23218 + 23204 5 16 - 23535 + 23521 16 107 - 23006 + 22993 108 955 - 3452 + 3450 @@ -23115,17 +22950,17 @@ 1 2 - 274918 + 274756 2 4 - 26001 + 25986 4 17 - 4122 + 4119 @@ -23135,11 +22970,11 @@ function_template_argument_value - 362998 + 362786 function_id - 181340 + 181234 index @@ -23147,7 +22982,7 @@ arg_value - 360356 + 360145 @@ -23161,12 +22996,12 @@ 1 2 - 171969 + 171868 2 8 - 9371 + 9366 @@ -23182,17 +23017,17 @@ 1 2 - 151428 + 151339 2 3 - 20681 + 20669 3 97 - 9230 + 9225 @@ -23330,12 +23165,12 @@ 1 2 - 357714 + 357504 2 3 - 2642 + 2640 @@ -23351,7 +23186,7 @@ 1 2 - 360356 + 360145 @@ -23361,26 +23196,26 @@ is_variable_template - 42082 + 47326 id - 42082 + 47326 variable_instantiation - 49201 + 258309 to - 49201 + 258309 from - 25019 + 26281 @@ -23394,7 +23229,7 @@ 1 2 - 49201 + 258309 @@ -23410,22 +23245,42 @@ 1 2 - 14236 + 11203 2 3 - 7746 + 3559 3 + 4 + 1675 + + + 4 + 6 + 1884 + + + 6 8 - 1988 + 1884 8 14 - 1046 + 2408 + + + 15 + 26 + 1989 + + + 32 + 371 + 1675 @@ -23435,11 +23290,11 @@ variable_template_argument - 329648 + 448035 variable_id - 26380 + 247943 index @@ -23447,7 +23302,7 @@ arg_type - 217532 + 217578 @@ -23461,22 +23316,22 @@ 1 2 - 16121 + 119469 2 3 - 5652 + 99889 3 4 - 3873 + 18218 4 17 - 732 + 10365 @@ -23492,52 +23347,22 @@ 1 2 - 5757 + 129206 2 3 - 5234 + 91408 3 - 4 - 2093 - - - 4 5 - 1256 + 22825 5 - 6 - 2407 - - - 6 - 8 - 2303 - - - 8 - 11 - 2198 - - - 11 - 18 - 2303 - - - 18 - 50 - 1988 - - - 66 - 516 - 837 + 17 + 4502 @@ -23551,43 +23376,53 @@ 12 - 1 - 2 + 11 + 12 104 - 2 - 3 + 22 + 23 628 - 3 - 4 - 418 - - - 5 - 6 - 209 - - - 27 - 28 + 29 + 30 104 - 42 - 43 + 30 + 31 + 314 + + + 44 + 45 104 - 79 - 80 + 93 + 94 104 - 248 - 249 + 222 + 223 + 104 + + + 588 + 589 + 104 + + + 1090 + 1091 + 104 + + + 1974 + 1975 104 @@ -23665,17 +23500,22 @@ 1 2 - 180579 + 171403 2 3 - 21878 + 25024 3 - 38 - 15074 + 8 + 17067 + + + 8 + 94 + 4083 @@ -23691,12 +23531,12 @@ 1 2 - 200259 + 200302 2 5 - 16854 + 16857 5 @@ -23711,11 +23551,11 @@ variable_template_argument_value - 15597 + 15810 variable_id - 2826 + 6596 index @@ -23723,7 +23563,7 @@ arg_value - 12038 + 12041 @@ -23737,12 +23577,12 @@ 1 2 - 2617 + 5968 2 3 - 209 + 628 @@ -23756,45 +23596,25 @@ 12 - 2 - 3 - 418 + 1 + 2 + 314 - 3 - 4 - 104 + 2 + 3 + 5235 4 5 - 1360 - - - 5 - 6 - 209 - - - 6 - 7 - 209 + 837 8 9 209 - - 12 - 17 - 209 - - - 20 - 21 - 104 - @@ -23806,24 +23626,24 @@ 12 - - 2 - 3 - 104 - 6 7 104 - 8 - 9 + 19 + 20 104 - 13 - 14 + 20 + 21 + 104 + + + 24 + 25 104 @@ -23871,12 +23691,12 @@ 1 2 - 8479 + 8271 2 3 - 3559 + 3769 @@ -23892,7 +23712,7 @@ 1 2 - 12038 + 12041 @@ -23902,15 +23722,15 @@ routinetypes - 546982 + 546661 id - 546982 + 546661 return_type - 285945 + 285778 @@ -23924,7 +23744,7 @@ 1 2 - 546982 + 546661 @@ -23940,17 +23760,17 @@ 1 2 - 249233 + 249087 2 3 - 21315 + 21303 3 3594 - 15396 + 15387 @@ -23960,11 +23780,11 @@ routinetypeargs - 993519 + 993571 routine - 429019 + 429042 index @@ -23972,7 +23792,7 @@ type_id - 229563 + 229575 @@ -23986,27 +23806,27 @@ 1 2 - 155707 + 155715 2 3 - 135479 + 135486 3 4 - 63976 + 63979 4 5 - 46100 + 46103 5 18 - 27754 + 27756 @@ -24022,27 +23842,27 @@ 1 2 - 185814 + 185824 2 3 - 135009 + 135016 3 4 - 59272 + 59275 4 5 - 33869 + 33871 5 11 - 15053 + 15054 @@ -24200,27 +24020,27 @@ 1 2 - 148651 + 148659 2 3 - 31047 + 31049 3 5 - 16934 + 16935 5 12 - 18346 + 18347 12 113 - 14582 + 14583 @@ -24236,17 +24056,17 @@ 1 2 - 174994 + 175004 2 3 - 31047 + 31049 3 6 - 18816 + 18817 6 @@ -24261,19 +24081,19 @@ ptrtomembers - 38103 + 38105 id - 38103 + 38105 type_id - 38103 + 38105 class_id - 15523 + 15524 @@ -24287,7 +24107,7 @@ 1 2 - 38103 + 38105 @@ -24303,7 +24123,7 @@ 1 2 - 38103 + 38105 @@ -24319,7 +24139,7 @@ 1 2 - 38103 + 38105 @@ -24335,7 +24155,7 @@ 1 2 - 38103 + 38105 @@ -24397,15 +24217,15 @@ specifiers - 24932 + 24933 id - 24932 + 24933 str - 24932 + 24933 @@ -24419,7 +24239,7 @@ 1 2 - 24932 + 24933 @@ -24435,7 +24255,7 @@ 1 2 - 24932 + 24933 @@ -24445,11 +24265,11 @@ typespecifiers - 1317166 + 1317234 type_id - 1298819 + 1298887 spec_id @@ -24467,12 +24287,12 @@ 1 2 - 1280473 + 1280540 2 3 - 18346 + 18347 @@ -24533,11 +24353,11 @@ funspecifiers - 13049498 + 13041848 func_id - 3975160 + 3972829 spec_id @@ -24555,27 +24375,27 @@ 1 2 - 314977 + 314792 2 3 - 544551 + 544231 3 4 - 1145438 + 1144767 4 5 - 1732127 + 1731112 5 8 - 238064 + 237925 @@ -24691,11 +24511,11 @@ varspecifiers - 2347848 + 2347970 var_id - 1255071 + 1255136 spec_id @@ -24713,22 +24533,22 @@ 1 2 - 735731 + 735769 2 3 - 203219 + 203230 3 4 - 58802 + 58805 4 5 - 257317 + 257331 @@ -24789,11 +24609,11 @@ attributes - 696354 + 696502 id - 696354 + 696502 kind @@ -24801,7 +24621,7 @@ name - 1674 + 1675 name_space @@ -24809,7 +24629,7 @@ location - 483847 + 483949 @@ -24823,7 +24643,7 @@ 1 2 - 696354 + 696502 @@ -24839,7 +24659,7 @@ 1 2 - 696354 + 696502 @@ -24855,7 +24675,7 @@ 1 2 - 696354 + 696502 @@ -24871,7 +24691,7 @@ 1 2 - 696354 + 696502 @@ -25088,7 +24908,7 @@ 1 2 - 1674 + 1675 @@ -25264,17 +25084,17 @@ 1 2 - 442497 + 442591 2 9 - 36848 + 36856 9 201 - 4501 + 4502 @@ -25290,7 +25110,7 @@ 1 2 - 483847 + 483949 @@ -25306,7 +25126,7 @@ 1 2 - 479555 + 479656 2 @@ -25327,7 +25147,7 @@ 1 2 - 483847 + 483949 @@ -25337,11 +25157,11 @@ attribute_args - 352341 + 352360 id - 352341 + 352360 kind @@ -25349,7 +25169,7 @@ attribute - 270489 + 270503 index @@ -25357,7 +25177,7 @@ location - 329291 + 329308 @@ -25371,7 +25191,7 @@ 1 2 - 352341 + 352360 @@ -25387,7 +25207,7 @@ 1 2 - 352341 + 352360 @@ -25403,7 +25223,7 @@ 1 2 - 352341 + 352360 @@ -25419,7 +25239,7 @@ 1 2 - 352341 + 352360 @@ -25534,12 +25354,12 @@ 1 2 - 204631 + 204641 2 3 - 49864 + 49866 3 @@ -25560,7 +25380,7 @@ 1 2 - 260140 + 260153 2 @@ -25581,12 +25401,12 @@ 1 2 - 204631 + 204641 2 3 - 49864 + 49866 3 @@ -25607,12 +25427,12 @@ 1 2 - 204631 + 204641 2 3 - 49864 + 49866 3 @@ -25732,12 +25552,12 @@ 1 2 - 315179 + 315195 2 16 - 14112 + 14113 @@ -25753,7 +25573,7 @@ 1 2 - 316590 + 316606 2 @@ -25774,12 +25594,12 @@ 1 2 - 315179 + 315195 2 16 - 14112 + 14113 @@ -25795,7 +25615,7 @@ 1 2 - 329291 + 329308 @@ -25805,15 +25625,15 @@ attribute_arg_value - 351871 + 351889 arg - 351871 + 351889 value - 34810 + 34812 @@ -25827,7 +25647,7 @@ 1 2 - 351871 + 351889 @@ -25843,12 +25663,12 @@ 1 2 - 16934 + 16935 2 3 - 12230 + 12231 3 @@ -25969,15 +25789,15 @@ typeattributes - 62496 + 62509 type_id - 62077 + 62090 spec_id - 62496 + 62509 @@ -25991,7 +25811,7 @@ 1 2 - 61658 + 61671 2 @@ -26012,7 +25832,7 @@ 1 2 - 62496 + 62509 @@ -26022,15 +25842,15 @@ funcattributes - 635532 + 635565 func_id - 447366 + 447389 spec_id - 635532 + 635565 @@ -26044,17 +25864,17 @@ 1 2 - 341522 + 341540 2 3 - 64917 + 64920 3 6 - 39985 + 39987 6 @@ -26075,7 +25895,7 @@ 1 2 - 635532 + 635565 @@ -26143,15 +25963,15 @@ stmtattributes - 1006 + 1005 stmt_id - 1006 + 1005 spec_id - 1006 + 1005 @@ -26165,7 +25985,7 @@ 1 2 - 1006 + 1005 @@ -26181,7 +26001,7 @@ 1 2 - 1006 + 1005 @@ -26191,15 +26011,15 @@ unspecifiedtype - 10352924 + 10353463 type_id - 10352924 + 10353463 unspecified_type_id - 6956047 + 6956409 @@ -26213,7 +26033,7 @@ 1 2 - 10352924 + 10353463 @@ -26229,17 +26049,17 @@ 1 2 - 4675939 + 4676182 2 3 - 2037843 + 2037950 3 147 - 242264 + 242277 @@ -26249,19 +26069,19 @@ member - 5134480 + 5131470 parent - 689567 + 689163 index - 8808 + 8802 child - 5070710 + 5067737 @@ -26275,42 +26095,42 @@ 1 3 - 18884 + 18873 3 4 - 390691 + 390462 4 5 - 39072 + 39049 5 7 - 53059 + 53028 7 10 - 52848 + 52817 10 16 - 57569 + 57535 16 30 - 52954 + 52923 30 251 - 24486 + 24472 @@ -26326,42 +26146,42 @@ 1 3 - 18884 + 18873 3 4 - 390656 + 390427 4 5 - 39107 + 39084 5 7 - 53165 + 53134 7 10 - 53165 + 53134 10 16 - 57323 + 57289 16 29 - 52742 + 52711 29 253 - 24521 + 24507 @@ -26377,17 +26197,17 @@ 1 2 - 1409 + 1408 2 3 - 810 + 809 3 4 - 951 + 950 5 @@ -26448,7 +26268,7 @@ 1 2 - 810 + 809 2 @@ -26458,7 +26278,7 @@ 3 4 - 1162 + 1161 4 @@ -26503,7 +26323,7 @@ 2770 19253 - 458 + 457 @@ -26519,7 +26339,7 @@ 1 2 - 5070710 + 5067737 @@ -26535,12 +26355,12 @@ 1 2 - 5008419 + 5005483 2 8 - 62290 + 62254 @@ -26550,15 +26370,15 @@ enclosingfunction - 121743 + 121719 child - 121743 + 121719 parent - 69504 + 69490 @@ -26572,7 +26392,7 @@ 1 2 - 121743 + 121719 @@ -26588,22 +26408,22 @@ 1 2 - 36695 + 36687 2 3 - 21591 + 21587 3 4 - 6106 + 6105 4 45 - 5111 + 5110 @@ -26613,15 +26433,15 @@ derivations - 402388 + 402152 derivation - 402388 + 402152 sub - 381883 + 381659 index @@ -26629,11 +26449,11 @@ super - 206461 + 206340 location - 38156 + 38134 @@ -26647,7 +26467,7 @@ 1 2 - 402388 + 402152 @@ -26663,7 +26483,7 @@ 1 2 - 402388 + 402152 @@ -26679,7 +26499,7 @@ 1 2 - 402388 + 402152 @@ -26695,7 +26515,7 @@ 1 2 - 402388 + 402152 @@ -26711,12 +26531,12 @@ 1 2 - 366733 + 366518 2 7 - 15149 + 15141 @@ -26732,12 +26552,12 @@ 1 2 - 366733 + 366518 2 7 - 15149 + 15141 @@ -26753,12 +26573,12 @@ 1 2 - 366733 + 366518 2 7 - 15149 + 15141 @@ -26774,12 +26594,12 @@ 1 2 - 366733 + 366518 2 7 - 15149 + 15141 @@ -26924,12 +26744,12 @@ 1 2 - 199133 + 199016 2 1225 - 7328 + 7324 @@ -26945,12 +26765,12 @@ 1 2 - 199133 + 199016 2 1225 - 7328 + 7324 @@ -26966,12 +26786,12 @@ 1 2 - 206003 + 205882 2 4 - 458 + 457 @@ -26987,12 +26807,12 @@ 1 2 - 202867 + 202748 2 108 - 3593 + 3591 @@ -27008,22 +26828,22 @@ 1 2 - 28326 + 28310 2 5 - 3135 + 3133 5 16 - 2994 + 2992 17 133 - 2994 + 2992 142 @@ -27044,22 +26864,22 @@ 1 2 - 28326 + 28310 2 5 - 3135 + 3133 5 16 - 2994 + 2992 17 133 - 2994 + 2992 142 @@ -27080,7 +26900,7 @@ 1 2 - 38156 + 38134 @@ -27096,22 +26916,22 @@ 1 2 - 30757 + 30739 2 5 - 3417 + 3415 5 55 - 2889 + 2887 60 420 - 1092 + 1091 @@ -27121,11 +26941,11 @@ derspecifiers - 404291 + 404054 der_id - 402001 + 401765 spec_id @@ -27143,12 +26963,12 @@ 1 2 - 399710 + 399476 2 3 - 2290 + 2288 @@ -27189,11 +27009,11 @@ direct_base_offsets - 373110 + 372891 der_id - 373110 + 372891 offset @@ -27211,7 +27031,7 @@ 1 2 - 373110 + 372891 @@ -27262,11 +27082,11 @@ virtual_base_offsets - 6661 + 6660 sub - 3677 + 3676 super @@ -27288,7 +27108,7 @@ 1 2 - 2891 + 2890 2 @@ -27319,7 +27139,7 @@ 1 2 - 3099 + 3098 2 @@ -27553,23 +27373,23 @@ frienddecls - 715075 + 714656 id - 715075 + 714656 type_id - 42384 + 42359 decl_id - 70182 + 70141 location - 6341 + 6338 @@ -27583,7 +27403,7 @@ 1 2 - 715075 + 714656 @@ -27599,7 +27419,7 @@ 1 2 - 715075 + 714656 @@ -27615,7 +27435,7 @@ 1 2 - 715075 + 714656 @@ -27631,47 +27451,47 @@ 1 2 - 6200 + 6197 2 3 - 13212 + 13204 3 6 - 2959 + 2957 6 10 - 3206 + 3204 10 17 - 3276 + 3274 17 24 - 3347 + 3345 25 36 - 3311 + 3309 37 55 - 3241 + 3239 55 103 - 3628 + 3626 @@ -27687,47 +27507,47 @@ 1 2 - 6200 + 6197 2 3 - 13212 + 13204 3 6 - 2959 + 2957 6 10 - 3206 + 3204 10 17 - 3276 + 3274 17 24 - 3347 + 3345 25 36 - 3311 + 3309 37 55 - 3241 + 3239 55 103 - 3628 + 3626 @@ -27743,12 +27563,12 @@ 1 2 - 40939 + 40915 2 13 - 1444 + 1443 @@ -27764,37 +27584,37 @@ 1 2 - 40481 + 40458 2 3 - 5883 + 5880 3 8 - 6024 + 6021 8 15 - 5425 + 5422 15 32 - 5284 + 5281 32 71 - 5284 + 5281 72 160 - 1796 + 1795 @@ -27810,37 +27630,37 @@ 1 2 - 40481 + 40458 2 3 - 5883 + 5880 3 8 - 6024 + 6021 8 15 - 5425 + 5422 15 32 - 5284 + 5281 32 71 - 5284 + 5281 72 160 - 1796 + 1795 @@ -27856,7 +27676,7 @@ 1 2 - 69513 + 69472 2 @@ -27877,7 +27697,7 @@ 1 2 - 5954 + 5950 2 @@ -27898,7 +27718,7 @@ 1 2 - 6200 + 6197 2 @@ -27919,7 +27739,7 @@ 1 2 - 5989 + 5985 2 @@ -27934,19 +27754,19 @@ comments - 8781270 + 8783134 id - 8781270 + 8783134 contents - 3342962 + 3343672 location - 8781270 + 8783134 @@ -27960,7 +27780,7 @@ 1 2 - 8781270 + 8783134 @@ -27976,7 +27796,7 @@ 1 2 - 8781270 + 8783134 @@ -27992,17 +27812,17 @@ 1 2 - 3058223 + 3058872 2 7 - 251135 + 251189 7 32784 - 33603 + 33610 @@ -28018,17 +27838,17 @@ 1 2 - 3058223 + 3058872 2 7 - 251135 + 251189 7 32784 - 33603 + 33610 @@ -28044,7 +27864,7 @@ 1 2 - 8781270 + 8783134 @@ -28060,7 +27880,7 @@ 1 2 - 8781270 + 8783134 @@ -28070,15 +27890,15 @@ commentbinding - 3145674 + 3145838 id - 2490384 + 2490514 element - 3068526 + 3068686 @@ -28092,12 +27912,12 @@ 1 2 - 2408061 + 2408187 2 97 - 82322 + 82327 @@ -28113,12 +27933,12 @@ 1 2 - 2991378 + 2991533 2 3 - 77148 + 77152 @@ -28128,15 +27948,15 @@ exprconv - 7003750 + 7003755 converted - 7003750 + 7003755 conversion - 7003750 + 7003755 @@ -28150,7 +27970,7 @@ 1 2 - 7003750 + 7003755 @@ -28166,7 +27986,7 @@ 1 2 - 7003750 + 7003755 @@ -28176,22 +27996,22 @@ compgenerated - 8494343 + 8493976 id - 8494343 + 8493976 synthetic_destructor_call - 133110 + 133104 element - 103484 + 103479 i @@ -28199,7 +28019,7 @@ destructor_call - 117766 + 117760 @@ -28213,12 +28033,12 @@ 1 2 - 85546 + 85542 2 3 - 11832 + 11831 3 @@ -28239,12 +28059,12 @@ 1 2 - 85546 + 85542 2 3 - 11832 + 11831 3 @@ -28417,7 +28237,7 @@ 1 2 - 115749 + 115743 2 @@ -28438,7 +28258,7 @@ 1 2 - 117766 + 117760 @@ -28486,7 +28306,7 @@ 1 2 - 8937 + 8938 2 @@ -28517,15 +28337,15 @@ namespacembrs - 2463100 + 2463228 parentid - 10819 + 10820 memberid - 2463100 + 2463228 @@ -28605,7 +28425,7 @@ 1 2 - 2463100 + 2463228 @@ -28615,11 +28435,11 @@ exprparents - 14152882 + 14152891 expr_id - 14152882 + 14152891 child_index @@ -28627,7 +28447,7 @@ parent_id - 9417999 + 9418005 @@ -28641,7 +28461,7 @@ 1 2 - 14152882 + 14152891 @@ -28657,7 +28477,7 @@ 1 2 - 14152882 + 14152891 @@ -28775,12 +28595,12 @@ 1 2 - 5388939 + 5388942 2 3 - 3692597 + 3692599 3 @@ -28801,12 +28621,12 @@ 1 2 - 5388939 + 5388942 2 3 - 3692597 + 3692599 3 @@ -28821,22 +28641,22 @@ expr_isload - 4981779 + 4981688 expr_id - 4981779 + 4981688 conversionkinds - 4220621 + 4220624 expr_id - 4220621 + 4220624 kind @@ -28854,7 +28674,7 @@ 1 2 - 4220621 + 4220624 @@ -28883,8 +28703,8 @@ 1 - 26289 - 26290 + 26287 + 26288 1 @@ -28893,8 +28713,8 @@ 1 - 4131029 - 4131030 + 4131034 + 4131035 1 @@ -28905,11 +28725,11 @@ iscall - 3078157 + 3078281 caller - 3078157 + 3078281 kind @@ -28927,7 +28747,7 @@ 1 2 - 3078157 + 3078281 @@ -28951,8 +28771,8 @@ 18 - 167025 - 167026 + 167040 + 167041 18 @@ -28963,11 +28783,11 @@ numtemplatearguments - 543303 + 543548 expr_id - 543303 + 543548 num @@ -28985,7 +28805,7 @@ 1 2 - 543303 + 543548 @@ -29014,8 +28834,8 @@ 18 - 29893 - 29894 + 29908 + 29909 18 @@ -29074,23 +28894,23 @@ namequalifiers - 1618961 + 1618866 id - 1618961 + 1618866 qualifiableelement - 1618961 + 1618866 qualifyingelement - 79675 + 79653 location - 282719 + 282705 @@ -29104,7 +28924,7 @@ 1 2 - 1618961 + 1618866 @@ -29120,7 +28940,7 @@ 1 2 - 1618961 + 1618866 @@ -29136,7 +28956,7 @@ 1 2 - 1618961 + 1618866 @@ -29152,7 +28972,7 @@ 1 2 - 1618961 + 1618866 @@ -29168,7 +28988,7 @@ 1 2 - 1618961 + 1618866 @@ -29184,7 +29004,7 @@ 1 2 - 1618961 + 1618866 @@ -29200,12 +29020,12 @@ 1 2 - 45546 + 45526 2 3 - 17163 + 17162 3 @@ -29236,12 +29056,12 @@ 1 2 - 45546 + 45526 2 3 - 17163 + 17162 3 @@ -29272,7 +29092,7 @@ 1 2 - 49725 + 49704 2 @@ -29308,32 +29128,32 @@ 1 2 - 91742 + 91737 2 3 - 25646 + 25644 3 4 - 42179 + 42177 4 6 - 12895 + 12894 6 7 - 89869 + 89865 7 2135 - 20387 + 20386 @@ -29349,32 +29169,32 @@ 1 2 - 91742 + 91737 2 3 - 25646 + 25644 3 4 - 42179 + 42177 4 6 - 12895 + 12894 6 7 - 89869 + 89865 7 2135 - 20387 + 20386 @@ -29390,17 +29210,17 @@ 1 2 - 125168 + 125162 2 3 - 52354 + 52352 3 4 - 96622 + 96618 4 @@ -29415,11 +29235,11 @@ varbind - 6006364 + 6006368 expr - 6006364 + 6006368 var @@ -29437,7 +29257,7 @@ 1 2 - 6006364 + 6006368 @@ -29508,15 +29328,15 @@ funbind - 3080553 + 3080676 expr - 3076933 + 3077056 fun - 514055 + 514013 @@ -29530,7 +29350,7 @@ 1 2 - 3073313 + 3073437 2 @@ -29551,32 +29371,32 @@ 1 2 - 306582 + 306531 2 3 - 78775 + 78789 3 4 - 37226 + 37224 4 7 - 43475 + 43473 7 38 - 38703 + 38701 38 4943 - 9293 + 9292 @@ -29586,11 +29406,11 @@ expr_allocator - 46541 + 46514 expr - 46541 + 46514 func @@ -29612,7 +29432,7 @@ 1 2 - 46541 + 46514 @@ -29628,7 +29448,7 @@ 1 2 - 46541 + 46514 @@ -29712,11 +29532,11 @@ expr_deallocator - 55314 + 55282 expr - 55314 + 55282 func @@ -29738,7 +29558,7 @@ 1 2 - 55314 + 55282 @@ -29754,7 +29574,7 @@ 1 2 - 55314 + 55282 @@ -29907,15 +29727,15 @@ expr_cond_true - 654499 + 654500 cond - 654499 + 654500 true - 654499 + 654500 @@ -29929,7 +29749,7 @@ 1 2 - 654499 + 654500 @@ -29945,7 +29765,7 @@ 1 2 - 654499 + 654500 @@ -30003,11 +29823,11 @@ values - 10646146 + 10646153 id - 10646146 + 10646153 str @@ -30025,7 +29845,7 @@ 1 2 - 10646146 + 10646153 @@ -30071,15 +29891,15 @@ valuetext - 4756729 + 4756702 id - 4756729 + 4756702 text - 703924 + 703921 @@ -30093,7 +29913,7 @@ 1 2 - 4756729 + 4756702 @@ -30114,17 +29934,17 @@ 2 3 - 102489 + 102490 3 7 - 56759 + 56757 7 425881 - 17147 + 17145 @@ -30134,15 +29954,15 @@ valuebind - 11083050 + 11083057 val - 10646146 + 10646153 expr - 11083050 + 11083057 @@ -30156,7 +29976,7 @@ 1 2 - 10232022 + 10232029 2 @@ -30177,7 +29997,7 @@ 1 2 - 11083050 + 11083057 @@ -30388,11 +30208,11 @@ bitfield - 20936 + 20941 id - 20936 + 20941 bits @@ -30414,7 +30234,7 @@ 1 2 - 20936 + 20941 @@ -30430,7 +30250,7 @@ 1 2 - 20936 + 20941 @@ -30574,23 +30394,23 @@ initialisers - 1731824 + 1732353 init - 1731824 + 1732353 var - 717748 + 721222 expr - 1731824 + 1732353 location - 390436 + 390438 @@ -30604,7 +30424,7 @@ 1 2 - 1731824 + 1732353 @@ -30620,7 +30440,7 @@ 1 2 - 1731824 + 1732353 @@ -30636,7 +30456,7 @@ 1 2 - 1731824 + 1732353 @@ -30652,22 +30472,17 @@ 1 2 - 629392 + 632463 2 16 - 31625 + 32109 16 25 - 56686 - - - 25 - 112 - 44 + 56649 @@ -30683,22 +30498,17 @@ 1 2 - 629392 + 632463 2 16 - 31625 + 32109 16 25 - 56686 - - - 25 - 112 - 44 + 56649 @@ -30714,12 +30524,12 @@ 1 2 - 717666 + 721215 2 - 4 - 81 + 3 + 6 @@ -30735,7 +30545,7 @@ 1 2 - 1731824 + 1732353 @@ -30751,7 +30561,7 @@ 1 2 - 1731824 + 1732353 @@ -30767,7 +30577,7 @@ 1 2 - 1731824 + 1732353 @@ -30783,7 +30593,7 @@ 1 2 - 317956 + 317957 2 @@ -30798,7 +30608,7 @@ 15 111459 - 17855 + 17856 @@ -30814,17 +30624,17 @@ 1 2 - 340955 + 340698 2 4 - 35579 + 35642 4 12738 - 13901 + 14096 @@ -30840,7 +30650,7 @@ 1 2 - 317956 + 317957 2 @@ -30855,7 +30665,7 @@ 15 111459 - 17855 + 17856 @@ -30876,15 +30686,15 @@ expr_ancestor - 121674 + 121668 exp - 121674 + 121668 ancestor - 84880 + 84876 @@ -30898,7 +30708,7 @@ 1 2 - 121674 + 121668 @@ -30914,12 +30724,12 @@ 1 2 - 61377 + 61374 2 3 - 16785 + 16784 3 @@ -30939,19 +30749,19 @@ exprs - 18300140 + 18300152 id - 18300140 + 18300152 kind - 3382 + 3380 location - 3561673 + 3559831 @@ -30965,7 +30775,7 @@ 1 2 - 18300140 + 18300152 @@ -30981,7 +30791,7 @@ 1 2 - 18300140 + 18300152 @@ -31050,13 +30860,13 @@ 281 - 6591 - 63491 + 6528 + 63599 281 - 78915 - 109590 + 79044 + 109592 70 @@ -31127,11 +30937,11 @@ 1051 - 14609 + 14618 281 - 16974 + 16981 32757 140 @@ -31149,32 +30959,32 @@ 1 2 - 1936933 + 1935551 2 3 - 816932 + 816946 3 4 - 247260 + 247397 4 8 - 280872 + 280461 8 - 136 - 267131 + 137 + 267010 - 136 + 137 54140 - 12542 + 12464 @@ -31190,22 +31000,22 @@ 1 2 - 2363808 + 2362352 2 3 - 873691 + 873426 3 6 - 307261 + 307151 6 25 - 16911 + 16901 @@ -31215,15 +31025,15 @@ expr_types - 18357789 + 18357798 id - 18300140 + 18300152 typeid - 829282 + 829243 value_category @@ -31241,12 +31051,12 @@ 1 2 - 18242562 + 18242577 2 5 - 57577 + 57574 @@ -31262,7 +31072,7 @@ 1 2 - 18300140 + 18300152 @@ -31278,42 +31088,42 @@ 1 2 - 293470 + 292376 2 3 - 160720 + 161054 3 4 - 69824 + 70343 4 5 - 60801 + 60978 5 7 - 66996 + 66993 7 12 - 65321 + 65336 12 35 - 62638 + 62653 35 - 78674 - 49509 + 78689 + 49506 @@ -31329,12 +31139,12 @@ 1 2 - 716180 + 715462 2 3 - 102314 + 102993 3 @@ -31353,18 +31163,18 @@ 12 - 11828 - 11829 + 11826 + 11827 18 - 253738 - 253739 + 253755 + 253756 18 - 750551 - 750552 + 750585 + 750586 18 @@ -31379,18 +31189,18 @@ 12 - 1446 - 1447 + 1484 + 1485 18 - 11978 - 11979 + 11980 + 11981 18 - 39501 - 39502 + 39499 + 39500 18 @@ -31401,15 +31211,15 @@ new_allocated_type - 47598 + 47571 expr - 47598 + 47571 type_id - 28150 + 28134 @@ -31423,7 +31233,7 @@ 1 2 - 47598 + 47571 @@ -31439,17 +31249,17 @@ 1 2 - 11767 + 11760 2 3 - 14903 + 14894 3 19 - 1479 + 1478 @@ -32069,15 +31879,15 @@ condition_decl_bind - 38595 + 38593 expr - 38595 + 38593 decl - 38595 + 38593 @@ -32091,7 +31901,7 @@ 1 2 - 38595 + 38593 @@ -32107,7 +31917,7 @@ 1 2 - 38595 + 38593 @@ -32117,15 +31927,15 @@ typeid_bind - 36430 + 36408 expr - 36430 + 36408 type_id - 16383 + 16373 @@ -32139,7 +31949,7 @@ 1 2 - 36430 + 36408 @@ -32155,7 +31965,7 @@ 1 2 - 15960 + 15950 3 @@ -32354,11 +32164,11 @@ lambdas - 21639 + 21640 expr - 21639 + 21640 default_capture @@ -32380,7 +32190,7 @@ 1 2 - 21639 + 21640 @@ -32396,7 +32206,7 @@ 1 2 - 21639 + 21640 @@ -32470,15 +32280,15 @@ lambda_capture - 28224 + 28226 id - 28224 + 28226 lambda - 20698 + 20699 index @@ -32486,7 +32296,7 @@ field - 28224 + 28226 captured_by_reference @@ -32512,7 +32322,7 @@ 1 2 - 28224 + 28226 @@ -32528,7 +32338,7 @@ 1 2 - 28224 + 28226 @@ -32544,7 +32354,7 @@ 1 2 - 28224 + 28226 @@ -32560,7 +32370,7 @@ 1 2 - 28224 + 28226 @@ -32576,7 +32386,7 @@ 1 2 - 28224 + 28226 @@ -32592,7 +32402,7 @@ 1 2 - 28224 + 28226 @@ -32608,12 +32418,12 @@ 1 2 - 13171 + 13172 2 3 - 7526 + 7527 @@ -32629,12 +32439,12 @@ 1 2 - 13171 + 13172 2 3 - 7526 + 7527 @@ -32650,12 +32460,12 @@ 1 2 - 13171 + 13172 2 3 - 7526 + 7527 @@ -32671,7 +32481,7 @@ 1 2 - 20698 + 20699 @@ -32687,7 +32497,7 @@ 1 2 - 20698 + 20699 @@ -32703,12 +32513,12 @@ 1 2 - 13171 + 13172 2 3 - 7526 + 7527 @@ -32840,7 +32650,7 @@ 1 2 - 28224 + 28226 @@ -32856,7 +32666,7 @@ 1 2 - 28224 + 28226 @@ -32872,7 +32682,7 @@ 1 2 - 28224 + 28226 @@ -32888,7 +32698,7 @@ 1 2 - 28224 + 28226 @@ -32904,7 +32714,7 @@ 1 2 - 28224 + 28226 @@ -32920,7 +32730,7 @@ 1 2 - 28224 + 28226 @@ -33349,19 +33159,19 @@ stmts - 4660299 + 4661289 id - 4660299 + 4661289 kind - 1988 + 1989 location - 2286915 + 2287401 @@ -33375,7 +33185,7 @@ 1 2 - 4660299 + 4661289 @@ -33391,7 +33201,7 @@ 1 2 - 4660299 + 4661289 @@ -33619,22 +33429,22 @@ 1 2 - 1892154 + 1892555 2 4 - 175972 + 176010 4 12 - 176182 + 176219 12 699 - 42606 + 42615 @@ -33650,12 +33460,12 @@ 1 2 - 2229653 + 2230127 2 8 - 57261 + 57274 @@ -33953,15 +33763,15 @@ constexpr_if_then - 52551 + 52562 constexpr_if_stmt - 52551 + 52562 then_id - 52551 + 52562 @@ -33975,7 +33785,7 @@ 1 2 - 52551 + 52562 @@ -33991,7 +33801,7 @@ 1 2 - 52551 + 52562 @@ -34001,15 +33811,15 @@ constexpr_if_else - 30881 + 30888 constexpr_if_stmt - 30881 + 30888 else_id - 30881 + 30888 @@ -34023,7 +33833,7 @@ 1 2 - 30881 + 30888 @@ -34039,7 +33849,7 @@ 1 2 - 30881 + 30888 @@ -34049,15 +33859,15 @@ while_body - 30207 + 30201 while_stmt - 30207 + 30201 body_id - 30207 + 30201 @@ -34071,7 +33881,7 @@ 1 2 - 30207 + 30201 @@ -34087,7 +33897,7 @@ 1 2 - 30207 + 30201 @@ -34097,15 +33907,15 @@ do_body - 148604 + 148599 do_stmt - 148604 + 148599 body_id - 148604 + 148599 @@ -34119,7 +33929,7 @@ 1 2 - 148604 + 148599 @@ -34135,7 +33945,7 @@ 1 2 - 148604 + 148599 @@ -34193,7 +34003,7 @@ switch_case - 191408 + 191399 switch_stmt @@ -34205,7 +34015,7 @@ case_id - 191408 + 191399 @@ -34361,7 +34171,7 @@ 32 33 - 1909 + 1908 33 @@ -34402,7 +34212,7 @@ 32 33 - 1909 + 1908 33 @@ -34433,7 +34243,7 @@ 1 2 - 191408 + 191399 @@ -34449,7 +34259,7 @@ 1 2 - 191408 + 191399 @@ -34699,19 +34509,19 @@ stmtparents - 4052305 + 4052323 id - 4052305 + 4052323 index - 12209 + 12210 parent - 1719463 + 1719470 @@ -34725,7 +34535,7 @@ 1 2 - 4052305 + 4052323 @@ -34741,7 +34551,7 @@ 1 2 - 4052305 + 4052323 @@ -34879,12 +34689,12 @@ 1 2 - 987317 + 987321 2 3 - 372963 + 372965 3 @@ -34894,7 +34704,7 @@ 4 6 - 111241 + 111242 6 @@ -34920,12 +34730,12 @@ 1 2 - 987317 + 987321 2 3 - 372963 + 372965 3 @@ -34935,7 +34745,7 @@ 4 6 - 111241 + 111242 6 @@ -34955,11 +34765,11 @@ ishandler - 59432 + 59429 block - 59432 + 59429 @@ -35528,15 +35338,15 @@ blockscope - 1438063 + 1438137 block - 1438063 + 1438137 enclosing - 1321870 + 1321939 @@ -35550,7 +35360,7 @@ 1 2 - 1438063 + 1438137 @@ -35566,12 +35376,12 @@ 1 2 - 1256011 + 1256077 2 13 - 65858 + 65861 @@ -35581,19 +35391,19 @@ jumpinfo - 253995 + 253987 id - 253995 + 253987 str - 21152 + 21151 target - 53046 + 53044 @@ -35607,7 +35417,7 @@ 1 2 - 253995 + 253987 @@ -35623,7 +35433,7 @@ 1 2 - 253995 + 253987 @@ -35685,7 +35495,7 @@ 1 2 - 16717 + 16716 2 @@ -35721,7 +35531,7 @@ 2 3 - 26428 + 26427 3 @@ -35736,7 +35546,7 @@ 5 8 - 4691 + 4690 8 @@ -35757,7 +35567,7 @@ 1 2 - 53046 + 53044 @@ -35767,19 +35577,19 @@ preprocdirects - 4431252 + 4432193 id - 4431252 + 4432193 kind - 1046 + 1047 location - 4428739 + 4429680 @@ -35793,7 +35603,7 @@ 1 2 - 4431252 + 4432193 @@ -35809,7 +35619,7 @@ 1 2 - 4431252 + 4432193 @@ -35947,7 +35757,7 @@ 1 2 - 4428635 + 4429575 25 @@ -35968,7 +35778,7 @@ 1 2 - 4428739 + 4429680 @@ -35978,15 +35788,15 @@ preprocpair - 1442296 + 1442371 begin - 1206147 + 1206210 elseelifend - 1442296 + 1442371 @@ -36000,12 +35810,12 @@ 1 2 - 985992 + 986044 2 3 - 209805 + 209816 3 @@ -36026,7 +35836,7 @@ 1 2 - 1442296 + 1442371 @@ -36036,41 +35846,41 @@ preproctrue - 782302 + 783284 branch - 782302 + 783284 preprocfalse - 327409 + 326956 branch - 327409 + 326956 preproctext - 3572638 + 3573396 id - 3572638 + 3573396 head - 2591544 + 2592094 body - 1515816 + 1516138 @@ -36084,7 +35894,7 @@ 1 2 - 3572638 + 3573396 @@ -36100,7 +35910,7 @@ 1 2 - 3572638 + 3573396 @@ -36116,12 +35926,12 @@ 1 2 - 2444464 + 2444983 2 740 - 147080 + 147111 @@ -36137,12 +35947,12 @@ 1 2 - 2529362 + 2529899 2 5 - 62181 + 62195 @@ -36158,17 +35968,17 @@ 1 2 - 1372191 + 1372482 2 6 - 113686 + 113710 6 11572 - 29939 + 29945 @@ -36184,17 +35994,17 @@ 1 2 - 1375227 + 1375519 2 7 - 114000 + 114024 7 2959 - 26589 + 26595 @@ -36204,15 +36014,15 @@ includes - 315649 + 315665 id - 315649 + 315665 included - 118074 + 118080 @@ -36226,7 +36036,7 @@ 1 2 - 315649 + 315665 @@ -36242,12 +36052,12 @@ 1 2 - 61624 + 61627 2 3 - 22109 + 22110 3 @@ -36262,7 +36072,7 @@ 6 14 - 8937 + 8938 14 @@ -36325,11 +36135,11 @@ link_parent - 40143068 + 40119536 element - 5115983 + 5112984 link_target @@ -36347,17 +36157,17 @@ 1 2 - 701934 + 701522 2 9 - 44146 + 44120 9 10 - 4369903 + 4367341 diff --git a/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/old.dbscheme b/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/old.dbscheme new file mode 100644 index 00000000000..19e31bf071f --- /dev/null +++ b/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/old.dbscheme @@ -0,0 +1,2115 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +/* + case @macroinvocations.kind of + 1 = macro expansion + | 2 = other macro reference + ; +*/ +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* + case @function.kind of + 1 = normal + | 2 = constructor + | 3 = destructor + | 4 = conversion + | 5 = operator + | 6 = builtin // GCC built-in functions, e.g. __builtin___memcpy_chk + ; +*/ +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point(int id: @function ref, unique int entry_point: @stmt ref); + +function_return_type(int id: @function ref, int return_type: @type ref); + +/** If `function` is a coroutine, then this gives the + std::experimental::resumable_traits instance associated with it, + and the variables representing the `handle` and `promise` for it. */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +member_function_this_type(unique int id: @function ref, int this_type: @type ref); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides(int new: @function ref, int old: @function ref); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/* + Built-in types are the fundamental types, e.g., integral, floating, and void. + + case @builtintype.kind of + 1 = error + | 2 = unknown + | 3 = void + | 4 = boolean + | 5 = char + | 6 = unsigned_char + | 7 = signed_char + | 8 = short + | 9 = unsigned_short + | 10 = signed_short + | 11 = int + | 12 = unsigned_int + | 13 = signed_int + | 14 = long + | 15 = unsigned_long + | 16 = signed_long + | 17 = long_long + | 18 = unsigned_long_long + | 19 = signed_long_long + | 20 = __int8 // Microsoft-specific + | 21 = __int16 // Microsoft-specific + | 22 = __int32 // Microsoft-specific + | 23 = __int64 // Microsoft-specific + | 24 = float + | 25 = double + | 26 = long_double + | 27 = _Complex_float // C99-specific + | 28 = _Complex_double // C99-specific + | 29 = _Complex_long double // C99-specific + | 30 = _Imaginary_float // C99-specific + | 31 = _Imaginary_double // C99-specific + | 32 = _Imaginary_long_double // C99-specific + | 33 = wchar_t // Microsoft-specific + | 34 = decltype_nullptr // C++11 + | 35 = __int128 + | 36 = unsigned___int128 + | 37 = signed___int128 + | 38 = __float128 + | 39 = _Complex___float128 + | 40 = _Decimal32 + | 41 = _Decimal64 + | 42 = _Decimal128 + | 43 = char16_t + | 44 = char32_t + | 45 = _Float32 + | 46 = _Float32x + | 47 = _Float64 + | 48 = _Float64x + | 49 = _Float128 + | 50 = _Float128x + | 51 = char8_t + ; +*/ +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/* + Derived types are types that are directly derived from existing types and + point to, refer to, transform type data to return a new type. + + case @derivedtype.kind of + 1 = pointer + | 2 = reference + | 3 = type_with_specifiers + | 4 = array + | 5 = gnu_vector + | 6 = routineptr + | 7 = routinereference + | 8 = rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated + | 10 = block + ; +*/ +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* + case @usertype.kind of + 1 = struct + | 2 = class + | 3 = union + | 4 = enum + | 5 = typedef // classic C: typedef typedef type name + | 6 = template + | 7 = template_parameter + | 8 = template_template_parameter + | 9 = proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated + | 13 = scoped_enum + | 14 = using_alias // a using name = type style typedef + ; +*/ +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the EDG frontend. See symbol_ref.h there. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall(unique int caller: @funbindexpr ref, int kind: int ref); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr | @assign_bitwise_expr + +@assign_expr = @assignexpr | @assign_op_expr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // EDG internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. + */ +#keyset[aggregate, field] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. + */ +#keyset[aggregate, element_index] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +for_initialization( + unique int for_stmt: @stmt_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + unique int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/semmlecode.cpp.dbscheme b/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/semmlecode.cpp.dbscheme new file mode 100644 index 00000000000..23f7cbb88a4 --- /dev/null +++ b/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/semmlecode.cpp.dbscheme @@ -0,0 +1,2125 @@ + +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * gcc -c f1.c f2.c f3.c + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * gcc -c f1.c f2.c f3.c + */ + unique int id : @compilation, + string cwd : string ref +); + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--mimic` + * 2 | `/usr/bin/gcc` + * 3 | `-c` + * 4 | f1.c + * 5 | f2.c + * 6 | f3.c + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * gcc -c f1.c f2.c f3.c + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | f1.c + * 1 | f2.c + * 2 | f3.c + * + * Note that even if those files `#include` headers, those headers + * do not appear as rows. + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + + +/** + * External data, loaded from CSV files during snapshot creation. See + * [Tutorial: Incorporating external data](https://help.semmle.com/wiki/display/SD/Tutorial%3A+Incorporating+external+data) + * for more information. + */ +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +/** + * The source location of the snapshot. + */ +sourceLocationPrefix(string prefix : string ref); + +/** + * Information about packages that provide code used during compilation. + * The `id` is just a unique identifier. + * The `namespace` is typically the name of the package manager that + * provided the package (e.g. "dpkg" or "yum"). + * The `package_name` is the name of the package, and `version` is its + * version (as a string). + */ +external_packages( + unique int id: @external_package, + string namespace : string ref, + string package_name : string ref, + string version : string ref +); + +/** + * Holds if File `fileid` was provided by package `package`. + */ +header_to_external_package( + int fileid : @file ref, + int package : @external_package ref +); + +/* + * Version history + */ + +svnentries( + unique int id : @svnentry, + string revision : string ref, + string author : string ref, + date revisionDate : date ref, + int changeSize : int ref +) + +svnaffectedfiles( + int id : @svnentry ref, + int file : @file ref, + string action : string ref +) + +svnentrymsg( + unique int id : @svnentry ref, + string message : string ref +) + +svnchurn( + int commit : @svnentry ref, + int file : @file ref, + int addedLines : int ref, + int deletedLines : int ref +) + +/* + * C++ dbscheme + */ + +@location = @location_stmt | @location_expr | @location_default ; + +/** + * The location of an element that is not an expression or a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_default( + /** The location of an element that is not an expression or a statement. */ + unique int id: @location_default, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of a statement. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_stmt( + /** The location of a statement. */ + unique int id: @location_stmt, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** + * The location of an expression. + * The location spans column `startcolumn` of line `startline` to + * column `endcolumn` of line `endline` in file `file`. + * For more information, see + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). + */ +locations_expr( + /** The location of an expression. */ + unique int id: @location_expr, + int container: @container ref, + int startLine: int ref, + int startColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +/** An element for which line-count information is available. */ +@sourceline = @file | @function | @variable | @enumconstant | @xmllocatable; + +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +diagnostics( + unique int id: @diagnostic, + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +fileannotations( + int id: @file ref, + int kind: int ref, + string name: string ref, + string value: string ref +); + +inmacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +affectedbymacroexpansion( + int id: @element ref, + int inv: @macroinvocation ref +); + +/* + case @macroinvocations.kind of + 1 = macro expansion + | 2 = other macro reference + ; +*/ +macroinvocations( + unique int id: @macroinvocation, + int macro_id: @ppd_define ref, + int location: @location_default ref, + int kind: int ref +); + +macroparent( + unique int id: @macroinvocation ref, + int parent_id: @macroinvocation ref +); + +// a macroinvocation may be part of another location +// the way to find a constant expression that uses a macro +// is thus to find a constant expression that has a location +// to which a macro invocation is bound +macrolocationbind( + int id: @macroinvocation ref, + int location: @location ref +); + +#keyset[invocation, argument_index] +macro_argument_unexpanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +#keyset[invocation, argument_index] +macro_argument_expanded( + int invocation: @macroinvocation ref, + int argument_index: int ref, + string text: string ref +); + +/* + case @function.kind of + 1 = normal + | 2 = constructor + | 3 = destructor + | 4 = conversion + | 5 = operator + | 6 = builtin // GCC built-in functions, e.g. __builtin___memcpy_chk + ; +*/ +functions( + unique int id: @function, + string name: string ref, + int kind: int ref +); + +function_entry_point(int id: @function ref, unique int entry_point: @stmt ref); + +function_return_type(int id: @function ref, int return_type: @type ref); + +/** If `function` is a coroutine, then this gives the + std::experimental::resumable_traits instance associated with it, + and the variables representing the `handle` and `promise` for it. */ +coroutine( + unique int function: @function ref, + int traits: @type ref, + int handle: @variable ref, + int promise: @variable ref +); + +/** The `new` function used for allocating the coroutine state, if any. */ +coroutine_new( + unique int function: @function ref, + int new: @function ref +); + +/** The `delete` function used for deallocating the coroutine state, if any. */ +coroutine_delete( + unique int function: @function ref, + int delete: @function ref +); + +purefunctions(unique int id: @function ref); + +function_deleted(unique int id: @function ref); + +function_defaulted(unique int id: @function ref); + +member_function_this_type(unique int id: @function ref, int this_type: @type ref); + +#keyset[id, type_id] +fun_decls( + int id: @fun_decl, + int function: @function ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +fun_def(unique int id: @fun_decl ref); +fun_specialized(unique int id: @fun_decl ref); +fun_implicit(unique int id: @fun_decl ref); +fun_decl_specifiers( + int id: @fun_decl ref, + string name: string ref +) +#keyset[fun_decl, index] +fun_decl_throws( + int fun_decl: @fun_decl ref, + int index: int ref, + int type_id: @type ref +); +/* an empty throw specification is different from none */ +fun_decl_empty_throws(unique int fun_decl: @fun_decl ref); +fun_decl_noexcept( + int fun_decl: @fun_decl ref, + int constant: @expr ref +); +fun_decl_empty_noexcept(int fun_decl: @fun_decl ref); +fun_decl_typedef_type( + unique int fun_decl: @fun_decl ref, + int typedeftype_id: @usertype ref +); + +param_decl_bind( + unique int id: @var_decl ref, + int index: int ref, + int fun_decl: @fun_decl ref +); + +#keyset[id, type_id] +var_decls( + int id: @var_decl, + int variable: @variable ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); +var_def(unique int id: @var_decl ref); +var_decl_specifiers( + int id: @var_decl ref, + string name: string ref +) +is_structured_binding(unique int id: @variable ref); + +type_decls( + unique int id: @type_decl, + int type_id: @type ref, + int location: @location_default ref +); +type_def(unique int id: @type_decl ref); +type_decl_top( + unique int type_decl: @type_decl ref +); + +namespace_decls( + unique int id: @namespace_decl, + int namespace_id: @namespace ref, + int location: @location_default ref, + int bodylocation: @location_default ref +); + +usings( + unique int id: @using, + int element_id: @element ref, + int location: @location_default ref +); + +/** The element which contains the `using` declaration. */ +using_container( + int parent: @element ref, + int child: @using ref +); + +static_asserts( + unique int id: @static_assert, + int condition : @expr ref, + string message : string ref, + int location: @location_default ref, + int enclosing : @element ref +); + +// each function has an ordered list of parameters +#keyset[id, type_id] +#keyset[function, index, type_id] +params( + int id: @parameter, + int function: @functionorblock ref, + int index: int ref, + int type_id: @type ref +); + +overrides(int new: @function ref, int old: @function ref); + +#keyset[id, type_id] +membervariables( + int id: @membervariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +globalvariables( + int id: @globalvariable, + int type_id: @type ref, + string name: string ref +); + +#keyset[id, type_id] +localvariables( + int id: @localvariable, + int type_id: @type ref, + string name: string ref +); + +autoderivation( + unique int var: @variable ref, + int derivation_type: @type ref +); + +enumconstants( + unique int id: @enumconstant, + int parent: @usertype ref, + int index: int ref, + int type_id: @type ref, + string name: string ref, + int location: @location_default ref +); + +@variable = @localscopevariable | @globalvariable | @membervariable; + +@localscopevariable = @localvariable | @parameter; + +/* + Built-in types are the fundamental types, e.g., integral, floating, and void. + + case @builtintype.kind of + 1 = error + | 2 = unknown + | 3 = void + | 4 = boolean + | 5 = char + | 6 = unsigned_char + | 7 = signed_char + | 8 = short + | 9 = unsigned_short + | 10 = signed_short + | 11 = int + | 12 = unsigned_int + | 13 = signed_int + | 14 = long + | 15 = unsigned_long + | 16 = signed_long + | 17 = long_long + | 18 = unsigned_long_long + | 19 = signed_long_long + | 20 = __int8 // Microsoft-specific + | 21 = __int16 // Microsoft-specific + | 22 = __int32 // Microsoft-specific + | 23 = __int64 // Microsoft-specific + | 24 = float + | 25 = double + | 26 = long_double + | 27 = _Complex_float // C99-specific + | 28 = _Complex_double // C99-specific + | 29 = _Complex_long double // C99-specific + | 30 = _Imaginary_float // C99-specific + | 31 = _Imaginary_double // C99-specific + | 32 = _Imaginary_long_double // C99-specific + | 33 = wchar_t // Microsoft-specific + | 34 = decltype_nullptr // C++11 + | 35 = __int128 + | 36 = unsigned___int128 + | 37 = signed___int128 + | 38 = __float128 + | 39 = _Complex___float128 + | 40 = _Decimal32 + | 41 = _Decimal64 + | 42 = _Decimal128 + | 43 = char16_t + | 44 = char32_t + | 45 = _Float32 + | 46 = _Float32x + | 47 = _Float64 + | 48 = _Float64x + | 49 = _Float128 + | 50 = _Float128x + | 51 = char8_t + ; +*/ +builtintypes( + unique int id: @builtintype, + string name: string ref, + int kind: int ref, + int size: int ref, + int sign: int ref, + int alignment: int ref +); + +/* + Derived types are types that are directly derived from existing types and + point to, refer to, transform type data to return a new type. + + case @derivedtype.kind of + 1 = pointer + | 2 = reference + | 3 = type_with_specifiers + | 4 = array + | 5 = gnu_vector + | 6 = routineptr + | 7 = routinereference + | 8 = rvalue_reference // C++11 +// ... 9 type_conforming_to_protocols deprecated + | 10 = block + ; +*/ +derivedtypes( + unique int id: @derivedtype, + string name: string ref, + int kind: int ref, + int type_id: @type ref +); + +pointerishsize(unique int id: @derivedtype ref, + int size: int ref, + int alignment: int ref); + +arraysizes( + unique int id: @derivedtype ref, + int num_elements: int ref, + int bytesize: int ref, + int alignment: int ref +); + +typedefbase( + unique int id: @usertype ref, + int type_id: @type ref +); + +/** + * An instance of the C++11 `decltype` operator. For example: + * ``` + * int a; + * decltype(1+a) b; + * ``` + * Here `expr` is `1+a`. + * + * Sometimes an additional pair of parentheses around the expression + * would change the semantics of this decltype, e.g. + * ``` + * struct A { double x; }; + * const A* a = new A(); + * decltype( a->x ); // type is double + * decltype((a->x)); // type is const double& + * ``` + * (Please consult the C++11 standard for more details). + * `parentheses_would_change_meaning` is `true` iff that is the case. + */ +#keyset[id, expr] +decltypes( + int id: @decltype, + int expr: @expr ref, + int base_type: @type ref, + boolean parentheses_would_change_meaning: boolean ref +); + +/* + case @usertype.kind of + 1 = struct + | 2 = class + | 3 = union + | 4 = enum + | 5 = typedef // classic C: typedef typedef type name + | 6 = template + | 7 = template_parameter + | 8 = template_template_parameter + | 9 = proxy_class // a proxy class associated with a template parameter +// ... 10 objc_class deprecated +// ... 11 objc_protocol deprecated +// ... 12 objc_category deprecated + | 13 = scoped_enum + | 14 = using_alias // a using name = type style typedef + ; +*/ +usertypes( + unique int id: @usertype, + string name: string ref, + int kind: int ref +); + +usertypesize( + unique int id: @usertype ref, + int size: int ref, + int alignment: int ref +); + +usertype_final(unique int id: @usertype ref); + +usertype_uuid( + unique int id: @usertype ref, + string uuid: string ref +); + +mangled_name( + unique int id: @declaration ref, + int mangled_name : @mangledname +); + +is_pod_class(unique int id: @usertype ref); +is_standard_layout_class(unique int id: @usertype ref); + +is_complete(unique int id: @usertype ref); + +is_class_template(unique int id: @usertype ref); +class_instantiation( + int to: @usertype ref, + int from: @usertype ref +); +class_template_argument( + int type_id: @usertype ref, + int index: int ref, + int arg_type: @type ref +); +class_template_argument_value( + int type_id: @usertype ref, + int index: int ref, + int arg_value: @expr ref +); + +is_proxy_class_for( + unique int id: @usertype ref, + unique int templ_param_id: @usertype ref +); + +type_mentions( + unique int id: @type_mention, + int type_id: @type ref, + int location: @location ref, + // a_symbol_reference_kind from the EDG frontend. See symbol_ref.h there. + int kind: int ref +); + +is_function_template(unique int id: @function ref); +function_instantiation( + unique int to: @function ref, + int from: @function ref +); +function_template_argument( + int function_id: @function ref, + int index: int ref, + int arg_type: @type ref +); +function_template_argument_value( + int function_id: @function ref, + int index: int ref, + int arg_value: @expr ref +); + +is_variable_template(unique int id: @variable ref); +variable_instantiation( + unique int to: @variable ref, + int from: @variable ref +); +variable_template_argument( + int variable_id: @variable ref, + int index: int ref, + int arg_type: @type ref +); +variable_template_argument_value( + int variable_id: @variable ref, + int index: int ref, + int arg_value: @expr ref +); + +/* + Fixed point types + precision(1) = short, precision(2) = default, precision(3) = long + is_unsigned(1) = unsigned is_unsigned(2) = signed + is_fract_type(1) = declared with _Fract + saturating(1) = declared with _Sat +*/ +/* TODO +fixedpointtypes( + unique int id: @fixedpointtype, + int precision: int ref, + int is_unsigned: int ref, + int is_fract_type: int ref, + int saturating: int ref); +*/ + +routinetypes( + unique int id: @routinetype, + int return_type: @type ref +); + +routinetypeargs( + int routine: @routinetype ref, + int index: int ref, + int type_id: @type ref +); + +ptrtomembers( + unique int id: @ptrtomember, + int type_id: @type ref, + int class_id: @type ref +); + +/* + specifiers for types, functions, and variables + + "public", + "protected", + "private", + + "const", + "volatile", + "static", + + "pure", + "virtual", + "sealed", // Microsoft + "__interface", // Microsoft + "inline", + "explicit", + + "near", // near far extension + "far", // near far extension + "__ptr32", // Microsoft + "__ptr64", // Microsoft + "__sptr", // Microsoft + "__uptr", // Microsoft + "dllimport", // Microsoft + "dllexport", // Microsoft + "thread", // Microsoft + "naked", // Microsoft + "microsoft_inline", // Microsoft + "forceinline", // Microsoft + "selectany", // Microsoft + "nothrow", // Microsoft + "novtable", // Microsoft + "noreturn", // Microsoft + "noinline", // Microsoft + "noalias", // Microsoft + "restrict", // Microsoft +*/ + +specifiers( + unique int id: @specifier, + unique string str: string ref +); + +typespecifiers( + int type_id: @type ref, + int spec_id: @specifier ref +); + +funspecifiers( + int func_id: @function ref, + int spec_id: @specifier ref +); + +varspecifiers( + int var_id: @accessible ref, + int spec_id: @specifier ref +); + +attributes( + unique int id: @attribute, + int kind: int ref, + string name: string ref, + string name_space: string ref, + int location: @location_default ref +); + +case @attribute.kind of + 0 = @gnuattribute +| 1 = @stdattribute +| 2 = @declspec +| 3 = @msattribute +| 4 = @alignas +// ... 5 @objc_propertyattribute deprecated +; + +attribute_args( + unique int id: @attribute_arg, + int kind: int ref, + int attribute: @attribute ref, + int index: int ref, + int location: @location_default ref +); + +case @attribute_arg.kind of + 0 = @attribute_arg_empty +| 1 = @attribute_arg_token +| 2 = @attribute_arg_constant +| 3 = @attribute_arg_type +; + +attribute_arg_value( + unique int arg: @attribute_arg ref, + string value: string ref +); +attribute_arg_type( + unique int arg: @attribute_arg ref, + int type_id: @type ref +); +attribute_arg_name( + unique int arg: @attribute_arg ref, + string name: string ref +); + +typeattributes( + int type_id: @type ref, + int spec_id: @attribute ref +); + +funcattributes( + int func_id: @function ref, + int spec_id: @attribute ref +); + +varattributes( + int var_id: @accessible ref, + int spec_id: @attribute ref +); + +stmtattributes( + int stmt_id: @stmt ref, + int spec_id: @attribute ref +); + +@type = @builtintype + | @derivedtype + | @usertype + /* TODO | @fixedpointtype */ + | @routinetype + | @ptrtomember + | @decltype; + +unspecifiedtype( + unique int type_id: @type ref, + int unspecified_type_id: @type ref +); + +member( + int parent: @type ref, + int index: int ref, + int child: @member ref +); + +@enclosingfunction_child = @usertype | @variable | @namespace + +enclosingfunction( + unique int child: @enclosingfunction_child ref, + int parent: @function ref +); + +derivations( + unique int derivation: @derivation, + int sub: @type ref, + int index: int ref, + int super: @type ref, + int location: @location_default ref +); + +derspecifiers( + int der_id: @derivation ref, + int spec_id: @specifier ref +); + +/** + * Contains the byte offset of the base class subobject within the derived + * class. Only holds for non-virtual base classes, but see table + * `virtual_base_offsets` for offsets of virtual base class subobjects. + */ +direct_base_offsets( + unique int der_id: @derivation ref, + int offset: int ref +); + +/** + * Contains the byte offset of the virtual base class subobject for class + * `super` within a most-derived object of class `sub`. `super` can be either a + * direct or indirect base class. + */ +#keyset[sub, super] +virtual_base_offsets( + int sub: @usertype ref, + int super: @usertype ref, + int offset: int ref +); + +frienddecls( + unique int id: @frienddecl, + int type_id: @type ref, + int decl_id: @declaration ref, + int location: @location_default ref +); + +@declaredtype = @usertype ; + +@declaration = @function + | @declaredtype + | @variable + | @enumconstant + | @frienddecl; + +@member = @membervariable + | @function + | @declaredtype + | @enumconstant; + +@locatable = @diagnostic + | @declaration + | @ppd_include + | @ppd_define + | @macroinvocation + /*| @funcall*/ + | @xmllocatable + | @attribute + | @attribute_arg; + +@namedscope = @namespace | @usertype; + +@element = @locatable + | @file + | @folder + | @specifier + | @type + | @expr + | @namespace + | @initialiser + | @stmt + | @derivation + | @comment + | @preprocdirect + | @fun_decl + | @var_decl + | @type_decl + | @namespace_decl + | @using + | @namequalifier + | @specialnamequalifyingelement + | @static_assert + | @type_mention + | @lambdacapture; + +@exprparent = @element; + +comments( + unique int id: @comment, + string contents: string ref, + int location: @location_default ref +); + +commentbinding( + int id: @comment ref, + int element: @element ref +); + +exprconv( + int converted: @expr ref, + unique int conversion: @expr ref +); + +compgenerated(unique int id: @element ref); + +/** + * `destructor_call` destructs the `i`'th entity that should be + * destructed following `element`. Note that entities should be + * destructed in reverse construction order, so for a given `element` + * these should be called from highest to lowest `i`. + */ +#keyset[element, destructor_call] +#keyset[element, i] +synthetic_destructor_call( + int element: @element ref, + int i: int ref, + int destructor_call: @routineexpr ref +); + +namespaces( + unique int id: @namespace, + string name: string ref +); + +namespace_inline( + unique int id: @namespace ref +); + +namespacembrs( + int parentid: @namespace ref, + unique int memberid: @namespacembr ref +); + +@namespacembr = @declaration | @namespace; + +exprparents( + int expr_id: @expr ref, + int child_index: int ref, + int parent_id: @exprparent ref +); + +expr_isload(unique int expr_id: @expr ref); + +@cast = @c_style_cast + | @const_cast + | @dynamic_cast + | @reinterpret_cast + | @static_cast + ; + +/* +case @conversion.kind of + 0 = @simple_conversion // a numeric conversion, qualification conversion, or a reinterpret_cast +| 1 = @bool_conversion // conversion to 'bool' +| 2 = @base_class_conversion // a derived-to-base conversion +| 3 = @derived_class_conversion // a base-to-derived conversion +| 4 = @pm_base_class_conversion // a derived-to-base conversion of a pointer to member +| 5 = @pm_derived_class_conversion // a base-to-derived conversion of a pointer to member +| 6 = @glvalue_adjust // an adjustment of the type of a glvalue +| 7 = @prvalue_adjust // an adjustment of the type of a prvalue +; +*/ +/** + * Describes the semantics represented by a cast expression. This is largely + * independent of the source syntax of the cast, so it is separate from the + * regular expression kind. + */ +conversionkinds( + unique int expr_id: @cast ref, + int kind: int ref +); + +@conversion = @cast + | @array_to_pointer + | @parexpr + | @reference_to + | @ref_indirect + | @temp_init + ; + +/* +case @funbindexpr.kind of + 0 = @normal_call // a normal call +| 1 = @virtual_call // a virtual call +| 2 = @adl_call // a call whose target is only found by ADL +; +*/ +iscall(unique int caller: @funbindexpr ref, int kind: int ref); + +numtemplatearguments( + unique int expr_id: @expr ref, + int num: int ref +); + +specialnamequalifyingelements( + unique int id: @specialnamequalifyingelement, + unique string name: string ref +); + +@namequalifiableelement = @expr | @namequalifier; +@namequalifyingelement = @namespace + | @specialnamequalifyingelement + | @usertype; + +namequalifiers( + unique int id: @namequalifier, + unique int qualifiableelement: @namequalifiableelement ref, + int qualifyingelement: @namequalifyingelement ref, + int location: @location_default ref +); + +varbind( + int expr: @varbindexpr ref, + int var: @accessible ref +); + +funbind( + int expr: @funbindexpr ref, + int fun: @function ref +); + +@any_new_expr = @new_expr + | @new_array_expr; + +@new_or_delete_expr = @any_new_expr + | @delete_expr + | @delete_array_expr; + +@prefix_crement_expr = @preincrexpr | @predecrexpr; + +@postfix_crement_expr = @postincrexpr | @postdecrexpr; + +@increment_expr = @preincrexpr | @postincrexpr; + +@decrement_expr = @predecrexpr | @postdecrexpr; + +@crement_expr = @increment_expr | @decrement_expr; + +@un_arith_op_expr = @arithnegexpr + | @unaryplusexpr + | @conjugation + | @realpartexpr + | @imagpartexpr + | @crement_expr + ; + +@un_bitwise_op_expr = @complementexpr; + +@un_log_op_expr = @notexpr; + +@un_op_expr = @address_of + | @indirect + | @un_arith_op_expr + | @un_bitwise_op_expr + | @builtinaddressof + | @vec_fill + | @un_log_op_expr + | @co_await + | @co_yield + ; + +@bin_log_op_expr = @andlogicalexpr | @orlogicalexpr; + +@cmp_op_expr = @eq_op_expr | @rel_op_expr; + +@eq_op_expr = @eqexpr | @neexpr; + +@rel_op_expr = @gtexpr + | @ltexpr + | @geexpr + | @leexpr + | @spaceshipexpr + ; + +@bin_bitwise_op_expr = @lshiftexpr + | @rshiftexpr + | @andexpr + | @orexpr + | @xorexpr + ; + +@p_arith_op_expr = @paddexpr + | @psubexpr + | @pdiffexpr + ; + +@bin_arith_op_expr = @addexpr + | @subexpr + | @mulexpr + | @divexpr + | @remexpr + | @jmulexpr + | @jdivexpr + | @fjaddexpr + | @jfaddexpr + | @fjsubexpr + | @jfsubexpr + | @minexpr + | @maxexpr + | @p_arith_op_expr + ; + +@bin_op_expr = @bin_arith_op_expr + | @bin_bitwise_op_expr + | @cmp_op_expr + | @bin_log_op_expr + ; + +@op_expr = @un_op_expr + | @bin_op_expr + | @assign_expr + | @conditionalexpr + ; + +@assign_arith_expr = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + ; + +@assign_bitwise_expr = @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignpaddexpr + | @assignpsubexpr + ; + +@assign_op_expr = @assign_arith_expr | @assign_bitwise_expr + +@assign_expr = @assignexpr | @assign_op_expr + +/* + case @allocator.form of + 0 = plain + | 1 = alignment + ; +*/ + +/** + * The allocator function associated with a `new` or `new[]` expression. + * The `form` column specified whether the allocation call contains an alignment + * argument. + */ +expr_allocator( + unique int expr: @any_new_expr ref, + int func: @function ref, + int form: int ref +); + +/* + case @deallocator.form of + 0 = plain + | 1 = size + | 2 = alignment + | 3 = size_and_alignment + ; +*/ + +/** + * The deallocator function associated with a `delete`, `delete[]`, `new`, or + * `new[]` expression. For a `new` or `new[]` expression, the deallocator is the + * one used to free memory if the initialization throws an exception. + * The `form` column specifies whether the deallocation call contains a size + * argument, and alignment argument, or both. + */ +expr_deallocator( + unique int expr: @new_or_delete_expr ref, + int func: @function ref, + int form: int ref +); + +/** + * Holds if the `@conditionalexpr` is of the two operand form + * `guard ? : false`. + */ +expr_cond_two_operand( + unique int cond: @conditionalexpr ref +); + +/** + * The guard of `@conditionalexpr` `guard ? true : false` + */ +expr_cond_guard( + unique int cond: @conditionalexpr ref, + int guard: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` holds. For the two operand form + * `guard ?: false` consider using `expr_cond_guard` instead. + */ +expr_cond_true( + unique int cond: @conditionalexpr ref, + int true: @expr ref +); + +/** + * The expression used when the guard of `@conditionalexpr` + * `guard ? true : false` does not hold. + */ +expr_cond_false( + unique int cond: @conditionalexpr ref, + int false: @expr ref +); + +/** A string representation of the value. */ +values( + unique int id: @value, + string str: string ref +); + +/** The actual text in the source code for the value, if any. */ +valuetext( + unique int id: @value ref, + string text: string ref +); + +valuebind( + int val: @value ref, + unique int expr: @expr ref +); + +fieldoffsets( + unique int id: @variable ref, + int byteoffset: int ref, + int bitoffset: int ref +); + +bitfield( + unique int id: @variable ref, + int bits: int ref, + int declared_bits: int ref +); + +/* TODO +memberprefix( + int member: @expr ref, + int prefix: @expr ref +); +*/ + +/* + kind(1) = mbrcallexpr + kind(2) = mbrptrcallexpr + kind(3) = mbrptrmbrcallexpr + kind(4) = ptrmbrptrmbrcallexpr + kind(5) = mbrreadexpr // x.y + kind(6) = mbrptrreadexpr // p->y + kind(7) = mbrptrmbrreadexpr // x.*pm + kind(8) = mbrptrmbrptrreadexpr // x->*pm + kind(9) = staticmbrreadexpr // static x.y + kind(10) = staticmbrptrreadexpr // static p->y +*/ +/* TODO +memberaccess( + int member: @expr ref, + int kind: int ref +); +*/ + +initialisers( + unique int init: @initialiser, + int var: @accessible ref, + unique int expr: @expr ref, + int location: @location_expr ref +); + +braced_initialisers( + int init: @initialiser ref +); + +/** + * An ancestor for the expression, for cases in which we cannot + * otherwise find the expression's parent. + */ +expr_ancestor( + int exp: @expr ref, + int ancestor: @element ref +); + +exprs( + unique int id: @expr, + int kind: int ref, + int location: @location_expr ref +); + +/* + case @value.category of + 1 = prval + | 2 = xval + | 3 = lval + ; +*/ +expr_types( + int id: @expr ref, + int typeid: @type ref, + int value_category: int ref +); + +case @expr.kind of + 1 = @errorexpr +| 2 = @address_of // & AddressOfExpr +| 3 = @reference_to // ReferenceToExpr (implicit?) +| 4 = @indirect // * PointerDereferenceExpr +| 5 = @ref_indirect // ReferenceDereferenceExpr (implicit?) +// ... +| 8 = @array_to_pointer // (???) +| 9 = @vacuous_destructor_call // VacuousDestructorCall +// ... +| 11 = @assume // Microsoft +| 12 = @parexpr +| 13 = @arithnegexpr +| 14 = @unaryplusexpr +| 15 = @complementexpr +| 16 = @notexpr +| 17 = @conjugation // GNU ~ operator +| 18 = @realpartexpr // GNU __real +| 19 = @imagpartexpr // GNU __imag +| 20 = @postincrexpr +| 21 = @postdecrexpr +| 22 = @preincrexpr +| 23 = @predecrexpr +| 24 = @conditionalexpr +| 25 = @addexpr +| 26 = @subexpr +| 27 = @mulexpr +| 28 = @divexpr +| 29 = @remexpr +| 30 = @jmulexpr // C99 mul imaginary +| 31 = @jdivexpr // C99 div imaginary +| 32 = @fjaddexpr // C99 add real + imaginary +| 33 = @jfaddexpr // C99 add imaginary + real +| 34 = @fjsubexpr // C99 sub real - imaginary +| 35 = @jfsubexpr // C99 sub imaginary - real +| 36 = @paddexpr // pointer add (pointer + int or int + pointer) +| 37 = @psubexpr // pointer sub (pointer - integer) +| 38 = @pdiffexpr // difference between two pointers +| 39 = @lshiftexpr +| 40 = @rshiftexpr +| 41 = @andexpr +| 42 = @orexpr +| 43 = @xorexpr +| 44 = @eqexpr +| 45 = @neexpr +| 46 = @gtexpr +| 47 = @ltexpr +| 48 = @geexpr +| 49 = @leexpr +| 50 = @minexpr // GNU minimum +| 51 = @maxexpr // GNU maximum +| 52 = @assignexpr +| 53 = @assignaddexpr +| 54 = @assignsubexpr +| 55 = @assignmulexpr +| 56 = @assigndivexpr +| 57 = @assignremexpr +| 58 = @assignlshiftexpr +| 59 = @assignrshiftexpr +| 60 = @assignandexpr +| 61 = @assignorexpr +| 62 = @assignxorexpr +| 63 = @assignpaddexpr // assign pointer add +| 64 = @assignpsubexpr // assign pointer sub +| 65 = @andlogicalexpr +| 66 = @orlogicalexpr +| 67 = @commaexpr +| 68 = @subscriptexpr // access to member of an array, e.g., a[5] +// ... 69 @objc_subscriptexpr deprecated +// ... 70 @cmdaccess deprecated +// ... +| 73 = @virtfunptrexpr +| 74 = @callexpr +// ... 75 @msgexpr_normal deprecated +// ... 76 @msgexpr_super deprecated +// ... 77 @atselectorexpr deprecated +// ... 78 @atprotocolexpr deprecated +| 79 = @vastartexpr +| 80 = @vaargexpr +| 81 = @vaendexpr +| 82 = @vacopyexpr +// ... 83 @atencodeexpr deprecated +| 84 = @varaccess +| 85 = @thisaccess +// ... 86 @objc_box_expr deprecated +| 87 = @new_expr +| 88 = @delete_expr +| 89 = @throw_expr +| 90 = @condition_decl // a variable declared in a condition, e.g., if(int x = y > 2) +| 91 = @braced_init_list +| 92 = @type_id +| 93 = @runtime_sizeof +| 94 = @runtime_alignof +| 95 = @sizeof_pack +| 96 = @expr_stmt // GNU extension +| 97 = @routineexpr +| 98 = @type_operand // used to access a type in certain contexts (haven't found any examples yet....) +| 99 = @offsetofexpr // offsetof ::= type and field +| 100 = @hasassignexpr // __has_assign ::= type +| 101 = @hascopyexpr // __has_copy ::= type +| 102 = @hasnothrowassign // __has_nothrow_assign ::= type +| 103 = @hasnothrowconstr // __has_nothrow_constructor ::= type +| 104 = @hasnothrowcopy // __has_nothrow_copy ::= type +| 105 = @hastrivialassign // __has_trivial_assign ::= type +| 106 = @hastrivialconstr // __has_trivial_constructor ::= type +| 107 = @hastrivialcopy // __has_trivial_copy ::= type +| 108 = @hasuserdestr // __has_user_destructor ::= type +| 109 = @hasvirtualdestr // __has_virtual_destructor ::= type +| 110 = @isabstractexpr // __is_abstract ::= type +| 111 = @isbaseofexpr // __is_base_of ::= type type +| 112 = @isclassexpr // __is_class ::= type +| 113 = @isconvtoexpr // __is_convertible_to ::= type type +| 114 = @isemptyexpr // __is_empty ::= type +| 115 = @isenumexpr // __is_enum ::= type +| 116 = @ispodexpr // __is_pod ::= type +| 117 = @ispolyexpr // __is_polymorphic ::= type +| 118 = @isunionexpr // __is_union ::= type +| 119 = @typescompexpr // GNU __builtin_types_compatible ::= type type +| 120 = @intaddrexpr // EDG internal builtin, used to implement offsetof +// ... +| 122 = @hastrivialdestructor // __has_trivial_destructor ::= type +| 123 = @literal +| 124 = @uuidof +| 127 = @aggregateliteral +| 128 = @delete_array_expr +| 129 = @new_array_expr +// ... 130 @objc_array_literal deprecated +// ... 131 @objc_dictionary_literal deprecated +| 132 = @foldexpr +// ... +| 200 = @ctordirectinit +| 201 = @ctorvirtualinit +| 202 = @ctorfieldinit +| 203 = @ctordelegatinginit +| 204 = @dtordirectdestruct +| 205 = @dtorvirtualdestruct +| 206 = @dtorfielddestruct +// ... +| 210 = @static_cast +| 211 = @reinterpret_cast +| 212 = @const_cast +| 213 = @dynamic_cast +| 214 = @c_style_cast +| 215 = @lambdaexpr +| 216 = @param_ref +| 217 = @noopexpr +// ... +| 294 = @istriviallyconstructibleexpr +| 295 = @isdestructibleexpr +| 296 = @isnothrowdestructibleexpr +| 297 = @istriviallydestructibleexpr +| 298 = @istriviallyassignableexpr +| 299 = @isnothrowassignableexpr +| 300 = @istrivialexpr +| 301 = @isstandardlayoutexpr +| 302 = @istriviallycopyableexpr +| 303 = @isliteraltypeexpr +| 304 = @hastrivialmoveconstructorexpr +| 305 = @hastrivialmoveassignexpr +| 306 = @hasnothrowmoveassignexpr +| 307 = @isconstructibleexpr +| 308 = @isnothrowconstructibleexpr +| 309 = @hasfinalizerexpr +| 310 = @isdelegateexpr +| 311 = @isinterfaceclassexpr +| 312 = @isrefarrayexpr +| 313 = @isrefclassexpr +| 314 = @issealedexpr +| 315 = @issimplevalueclassexpr +| 316 = @isvalueclassexpr +| 317 = @isfinalexpr +| 319 = @noexceptexpr +| 320 = @builtinshufflevector +| 321 = @builtinchooseexpr +| 322 = @builtinaddressof +| 323 = @vec_fill +| 324 = @builtinconvertvector +| 325 = @builtincomplex +| 326 = @spaceshipexpr +| 327 = @co_await +| 328 = @co_yield +| 329 = @temp_init +| 330 = @isassignable +| 331 = @isaggregate +| 332 = @hasuniqueobjectrepresentations +| 333 = @builtinbitcast +| 334 = @builtinshuffle +; + +@var_args_expr = @vastartexpr + | @vaendexpr + | @vaargexpr + | @vacopyexpr + ; + +@builtin_op = @var_args_expr + | @noopexpr + | @offsetofexpr + | @intaddrexpr + | @hasassignexpr + | @hascopyexpr + | @hasnothrowassign + | @hasnothrowconstr + | @hasnothrowcopy + | @hastrivialassign + | @hastrivialconstr + | @hastrivialcopy + | @hastrivialdestructor + | @hasuserdestr + | @hasvirtualdestr + | @isabstractexpr + | @isbaseofexpr + | @isclassexpr + | @isconvtoexpr + | @isemptyexpr + | @isenumexpr + | @ispodexpr + | @ispolyexpr + | @isunionexpr + | @typescompexpr + | @builtinshufflevector + | @builtinconvertvector + | @builtinaddressof + | @istriviallyconstructibleexpr + | @isdestructibleexpr + | @isnothrowdestructibleexpr + | @istriviallydestructibleexpr + | @istriviallyassignableexpr + | @isnothrowassignableexpr + | @isstandardlayoutexpr + | @istriviallycopyableexpr + | @isliteraltypeexpr + | @hastrivialmoveconstructorexpr + | @hastrivialmoveassignexpr + | @hasnothrowmoveassignexpr + | @isconstructibleexpr + | @isnothrowconstructibleexpr + | @hasfinalizerexpr + | @isdelegateexpr + | @isinterfaceclassexpr + | @isrefarrayexpr + | @isrefclassexpr + | @issealedexpr + | @issimplevalueclassexpr + | @isvalueclassexpr + | @isfinalexpr + | @builtinchooseexpr + | @builtincomplex + | @isassignable + | @isaggregate + | @hasuniqueobjectrepresentations + | @builtinbitcast + | @builtinshuffle + ; + +new_allocated_type( + unique int expr: @new_expr ref, + int type_id: @type ref +); + +new_array_allocated_type( + unique int expr: @new_array_expr ref, + int type_id: @type ref +); + +/** + * The field being initialized by an initializer expression within an aggregate + * initializer for a class/struct/union. + */ +#keyset[aggregate, field] +aggregate_field_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int field: @membervariable ref +); + +/** + * The index of the element being initialized by an initializer expression + * within an aggregate initializer for an array. + */ +#keyset[aggregate, element_index] +aggregate_array_init( + int aggregate: @aggregateliteral ref, + int initializer: @expr ref, + int element_index: int ref +); + +@ctorinit = @ctordirectinit + | @ctorvirtualinit + | @ctorfieldinit + | @ctordelegatinginit; +@dtordestruct = @dtordirectdestruct + | @dtorvirtualdestruct + | @dtorfielddestruct; + + +condition_decl_bind( + unique int expr: @condition_decl ref, + unique int decl: @declaration ref +); + +typeid_bind( + unique int expr: @type_id ref, + int type_id: @type ref +); + +uuidof_bind( + unique int expr: @uuidof ref, + int type_id: @type ref +); + +@runtime_sizeof_or_alignof = @runtime_sizeof | @runtime_alignof; + +sizeof_bind( + unique int expr: @runtime_sizeof_or_alignof ref, + int type_id: @type ref +); + +code_block( + unique int block: @literal ref, + unique int routine: @function ref +); + +lambdas( + unique int expr: @lambdaexpr ref, + string default_capture: string ref, + boolean has_explicit_return_type: boolean ref +); + +lambda_capture( + unique int id: @lambdacapture, + int lambda: @lambdaexpr ref, + int index: int ref, + int field: @membervariable ref, + boolean captured_by_reference: boolean ref, + boolean is_implicit: boolean ref, + int location: @location_default ref +); + +@funbindexpr = @routineexpr + | @new_expr + | @delete_expr + | @delete_array_expr + | @ctordirectinit + | @ctorvirtualinit + | @ctordelegatinginit + | @dtordirectdestruct + | @dtorvirtualdestruct; + +@varbindexpr = @varaccess | @ctorfieldinit | @dtorfielddestruct; +@addressable = @function | @variable ; +@accessible = @addressable | @enumconstant ; + +@access = @varaccess | @routineexpr ; + +fold( + int expr: @foldexpr ref, + string operator: string ref, + boolean is_left_fold: boolean ref +); + +stmts( + unique int id: @stmt, + int kind: int ref, + int location: @location_stmt ref +); + +case @stmt.kind of + 1 = @stmt_expr +| 2 = @stmt_if +| 3 = @stmt_while +| 4 = @stmt_goto +| 5 = @stmt_label +| 6 = @stmt_return +| 7 = @stmt_block +| 8 = @stmt_end_test_while // do { ... } while ( ... ) +| 9 = @stmt_for +| 10 = @stmt_switch_case +| 11 = @stmt_switch +| 13 = @stmt_asm // "asm" statement or the body of an asm function +| 15 = @stmt_try_block +| 16 = @stmt_microsoft_try // Microsoft +| 17 = @stmt_decl +| 18 = @stmt_set_vla_size // C99 +| 19 = @stmt_vla_decl // C99 +| 25 = @stmt_assigned_goto // GNU +| 26 = @stmt_empty +| 27 = @stmt_continue +| 28 = @stmt_break +| 29 = @stmt_range_based_for // C++11 +// ... 30 @stmt_at_autoreleasepool_block deprecated +// ... 31 @stmt_objc_for_in deprecated +// ... 32 @stmt_at_synchronized deprecated +| 33 = @stmt_handler +// ... 34 @stmt_finally_end deprecated +| 35 = @stmt_constexpr_if +| 37 = @stmt_co_return +; + +type_vla( + int type_id: @type ref, + int decl: @stmt_vla_decl ref +); + +variable_vla( + int var: @variable ref, + int decl: @stmt_vla_decl ref +); + +if_initialization( + unique int if_stmt: @stmt_if ref, + int init_id: @stmt ref +); + +if_then( + unique int if_stmt: @stmt_if ref, + int then_id: @stmt ref +); + +if_else( + unique int if_stmt: @stmt_if ref, + int else_id: @stmt ref +); + +constexpr_if_initialization( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int init_id: @stmt ref +); + +constexpr_if_then( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int then_id: @stmt ref +); + +constexpr_if_else( + unique int constexpr_if_stmt: @stmt_constexpr_if ref, + int else_id: @stmt ref +); + +while_body( + unique int while_stmt: @stmt_while ref, + int body_id: @stmt ref +); + +do_body( + unique int do_stmt: @stmt_end_test_while ref, + int body_id: @stmt ref +); + +switch_initialization( + unique int switch_stmt: @stmt_switch ref, + int init_id: @stmt ref +); + +#keyset[switch_stmt, index] +switch_case( + int switch_stmt: @stmt_switch ref, + int index: int ref, + int case_id: @stmt_switch_case ref +); + +switch_body( + unique int switch_stmt: @stmt_switch ref, + int body_id: @stmt ref +); + +for_initialization( + unique int for_stmt: @stmt_for ref, + int init_id: @stmt ref +); + +for_condition( + unique int for_stmt: @stmt_for ref, + int condition_id: @expr ref +); + +for_update( + unique int for_stmt: @stmt_for ref, + int update_id: @expr ref +); + +for_body( + unique int for_stmt: @stmt_for ref, + int body_id: @stmt ref +); + +@stmtparent = @stmt | @expr_stmt ; +stmtparents( + unique int id: @stmt ref, + int index: int ref, + int parent: @stmtparent ref +); + +ishandler(unique int block: @stmt_block ref); + +@cfgnode = @stmt | @expr | @function | @initialiser ; + +stmt_decl_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl: @declaration ref +); + +stmt_decl_entry_bind( + int stmt: @stmt_decl ref, + int num: int ref, + int decl_entry: @element ref +); + +@functionorblock = @function | @stmt_block; + +blockscope( + unique int block: @stmt_block ref, + int enclosing: @functionorblock ref +); + +@jump = @stmt_goto | @stmt_break | @stmt_continue; + +@jumporlabel = @jump | @stmt_label | @literal; + +jumpinfo( + unique int id: @jumporlabel ref, + string str: string ref, + int target: @stmt ref +); + +preprocdirects( + unique int id: @preprocdirect, + int kind: int ref, + int location: @location_default ref +); +case @preprocdirect.kind of + 0 = @ppd_if +| 1 = @ppd_ifdef +| 2 = @ppd_ifndef +| 3 = @ppd_elif +| 4 = @ppd_else +| 5 = @ppd_endif +| 6 = @ppd_plain_include +| 7 = @ppd_define +| 8 = @ppd_undef +| 9 = @ppd_line +| 10 = @ppd_error +| 11 = @ppd_pragma +| 12 = @ppd_objc_import +| 13 = @ppd_include_next +| 18 = @ppd_warning +; + +@ppd_include = @ppd_plain_include | @ppd_objc_import | @ppd_include_next; + +@ppd_branch = @ppd_if | @ppd_ifdef | @ppd_ifndef | @ppd_elif; + +preprocpair( + int begin : @ppd_branch ref, + int elseelifend : @preprocdirect ref +); + +preproctrue(int branch : @ppd_branch ref); +preprocfalse(int branch : @ppd_branch ref); + +preproctext( + unique int id: @preprocdirect ref, + string head: string ref, + string body: string ref +); + +includes( + unique int id: @ppd_include ref, + int included: @file ref +); + +link_targets( + unique int id: @link_target, + int binary: @file ref +); + +link_parent( + int element : @element ref, + int link_target : @link_target ref +); + +/* XML Files */ + +xmlEncoding(unique int id: @file ref, string encoding: string ref); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters + | @xmlelement + | @xmlcomment + | @xmlattribute + | @xmldtd + | @file + | @xmlnamespace; diff --git a/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/upgrade.properties b/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/upgrade.properties new file mode 100644 index 00000000000..db0e7e92d0e --- /dev/null +++ b/cpp/ql/lib/upgrades/19e31bf071f588bb7efd1e4d5a185ce4f6fbbd84/upgrade.properties @@ -0,0 +1,2 @@ +description: Add new builtin operations +compatibility: backwards diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 62b22e4e950..ae7e4f7151b 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.3.1 + +## 0.3.0 + +### Breaking Changes + +* Contextual queries and the query libraries they depend on have been moved to the `codeql/cpp-all` package. + +## 0.2.0 + +## 0.1.4 + ## 0.1.3 ### Minor Analysis Improvements diff --git a/cpp/ql/src/Likely Bugs/Conversion/LossyFunctionResultCast.ql b/cpp/ql/src/Likely Bugs/Conversion/LossyFunctionResultCast.ql index dee723e2686..3cbcffe0ce3 100644 --- a/cpp/ql/src/Likely Bugs/Conversion/LossyFunctionResultCast.ql +++ b/cpp/ql/src/Likely Bugs/Conversion/LossyFunctionResultCast.ql @@ -44,7 +44,7 @@ predicate whiteListWrapped(FunctionCall fc) { from FunctionCall c, FloatingPointType t1, IntegralType t2 where - t1 = c.getTarget().getType().getUnderlyingType() and + pragma[only_bind_into](t1) = c.getTarget().getType().getUnderlyingType() and t2 = c.getActualType() and c.hasImplicitConversion() and not whiteListWrapped(c) diff --git a/cpp/ql/src/Likely Bugs/Likely Typos/IncorrectNotOperatorUsage.ql b/cpp/ql/src/Likely Bugs/Likely Typos/IncorrectNotOperatorUsage.ql index 30664869adc..9c0230d7514 100644 --- a/cpp/ql/src/Likely Bugs/Likely Typos/IncorrectNotOperatorUsage.ql +++ b/cpp/ql/src/Likely Bugs/Likely Typos/IncorrectNotOperatorUsage.ql @@ -10,7 +10,6 @@ * @precision medium * @tags security * external/cwe/cwe-480 - * external/microsoft/c6317 */ import cpp diff --git a/cpp/ql/src/Likely Bugs/Likely Typos/UsingStrcpyAsBoolean.ql b/cpp/ql/src/Likely Bugs/Likely Typos/UsingStrcpyAsBoolean.ql index 074c82bc03b..8770d249497 100644 --- a/cpp/ql/src/Likely Bugs/Likely Typos/UsingStrcpyAsBoolean.ql +++ b/cpp/ql/src/Likely Bugs/Likely Typos/UsingStrcpyAsBoolean.ql @@ -7,8 +7,7 @@ * @problem.severity error * @precision high * @id cpp/string-copy-return-value-as-boolean - * @tags external/microsoft/C6324 - * correctness + * @tags correctness */ import cpp diff --git a/cpp/ql/src/Likely Bugs/Likely Typos/inconsistentLoopDirection.ql b/cpp/ql/src/Likely Bugs/Likely Typos/inconsistentLoopDirection.ql index 5e3af347821..9646d8b3adf 100644 --- a/cpp/ql/src/Likely Bugs/Likely Typos/inconsistentLoopDirection.ql +++ b/cpp/ql/src/Likely Bugs/Likely Typos/inconsistentLoopDirection.ql @@ -7,7 +7,6 @@ * @id cpp/inconsistent-loop-direction * @tags correctness * external/cwe/cwe-835 - * external/microsoft/6293 * @msrc.severity important */ diff --git a/cpp/ql/src/Likely Bugs/Memory Management/ReturnStackAllocatedMemory.ql b/cpp/ql/src/Likely Bugs/Memory Management/ReturnStackAllocatedMemory.ql index c72e25f61df..ed1d4084993 100644 --- a/cpp/ql/src/Likely Bugs/Memory Management/ReturnStackAllocatedMemory.ql +++ b/cpp/ql/src/Likely Bugs/Memory Management/ReturnStackAllocatedMemory.ql @@ -18,7 +18,7 @@ import semmle.code.cpp.ir.IR import semmle.code.cpp.ir.dataflow.MustFlow import PathGraph -/** Holds if `f` has a name that we intrepret as evidence of intentionally returning the value of the stack pointer. */ +/** Holds if `f` has a name that we interpret as evidence of intentionally returning the value of the stack pointer. */ predicate intentionallyReturnsStackPointer(Function f) { f.getName().toLowerCase().matches(["%stack%", "%sp%"]) } @@ -52,6 +52,18 @@ class ReturnStackAllocatedMemoryConfig extends MustFlowConfiguration { ) } + // We disable flow into callables in this query as we'd otherwise get a result on this piece of code: + // ```cpp + // int* id(int* px) { + // return px; // this returns the local variable `x`, but it's fine as the local variable isn't declared in this scope. + // } + // void f() { + // int x; + // int* px = id(&x); + // } + // ``` + override predicate allowInterproceduralFlow() { none() } + /** * This configuration intentionally conflates addresses of fields and their object, and pointer offsets * with their base pointer as this allows us to detect cases where an object's address flows to a @@ -74,13 +86,9 @@ class ReturnStackAllocatedMemoryConfig extends MustFlowConfiguration { from MustFlowPathNode source, MustFlowPathNode sink, VariableAddressInstruction var, - ReturnStackAllocatedMemoryConfig conf, Function f + ReturnStackAllocatedMemoryConfig conf where - conf.hasFlowPath(source, sink) and - source.getNode().asInstruction() = var and - // Only raise an alert if we're returning from the _same_ callable as the on that - // declared the stack variable. - var.getEnclosingFunction() = pragma[only_bind_into](f) and - sink.getNode().getEnclosingCallable() = pragma[only_bind_into](f) + conf.hasFlowPath(pragma[only_bind_into](source), pragma[only_bind_into](sink)) and + source.getNode().asInstruction() = var select sink.getNode(), source, sink, "May return stack-allocated memory from $@.", var.getAst(), var.getAst().toString() diff --git a/cpp/ql/src/Likely Bugs/Memory Management/UsingExpiredStackAddress.ql b/cpp/ql/src/Likely Bugs/Memory Management/UsingExpiredStackAddress.ql index 27aeabbaf49..3f3997315d4 100644 --- a/cpp/ql/src/Likely Bugs/Memory Management/UsingExpiredStackAddress.ql +++ b/cpp/ql/src/Likely Bugs/Memory Management/UsingExpiredStackAddress.ql @@ -133,7 +133,9 @@ TGlobalAddress globalAddress(Instruction instr) { ) or exists(FieldAddressInstruction fai | instr = fai | - result = TFieldAddress(globalAddress(fai.getObjectAddress()), fai.getField()) + result = + TFieldAddress(globalAddress(pragma[only_bind_into](fai.getObjectAddress())), + pragma[only_bind_out](fai.getField())) ) or result = globalAddress(instr.(PointerOffsetInstruction).getLeft()) diff --git a/cpp/ql/src/Likely Bugs/UseInOwnInitializer.ql b/cpp/ql/src/Likely Bugs/UseInOwnInitializer.ql index 6bb411b7844..054fdccbb99 100644 --- a/cpp/ql/src/Likely Bugs/UseInOwnInitializer.ql +++ b/cpp/ql/src/Likely Bugs/UseInOwnInitializer.ql @@ -15,6 +15,7 @@ class VariableAccessInInitializer extends VariableAccess { Variable var; Initializer init; + pragma[nomagic] VariableAccessInInitializer() { init.getDeclaration() = var and init.getExpr().getAChild*() = this diff --git a/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql b/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql index 73fcf034096..7a3877f638c 100644 --- a/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql +++ b/cpp/ql/src/Security/CWE/CWE-078/ExecTainted.ql @@ -77,7 +77,7 @@ class ExecState extends DataFlow::FlowState { ExecState() { this = "ExecState (" + fst.getLocation() + " | " + fst + ", " + snd.getLocation() + " | " + snd + ")" and - interestingConcatenation(fst, snd) + interestingConcatenation(pragma[only_bind_into](fst), pragma[only_bind_into](snd)) } DataFlow::Node getFstNode() { result = fst } diff --git a/cpp/ql/src/Security/CWE/CWE-253/HResultBooleanConversion.ql b/cpp/ql/src/Security/CWE/CWE-253/HResultBooleanConversion.ql index 67ba5b0c45b..eb746e2d1d2 100644 --- a/cpp/ql/src/Security/CWE/CWE-253/HResultBooleanConversion.ql +++ b/cpp/ql/src/Security/CWE/CWE-253/HResultBooleanConversion.ql @@ -8,11 +8,6 @@ * @precision high * @tags security * external/cwe/cwe-253 - * external/microsoft/C6214 - * external/microsoft/C6215 - * external/microsoft/C6216 - * external/microsoft/C6217 - * external/microsoft/C6230 */ import cpp diff --git a/cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql b/cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql index 7c540e9d313..ff8e85cecec 100644 --- a/cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql +++ b/cpp/ql/src/Security/CWE/CWE-428/UnsafeCreateProcessCall.ql @@ -9,7 +9,6 @@ * @msrc.severity important * @tags security * external/cwe/cwe-428 - * external/microsoft/C6277 */ import cpp diff --git a/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql b/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql index 65551a1f138..aee4f3c8405 100644 --- a/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql +++ b/cpp/ql/src/Security/CWE/CWE-704/WcharCharConversion.ql @@ -10,7 +10,6 @@ * @precision high * @tags security * external/cwe/cwe-704 - * external/microsoft/c/c6276 */ import cpp diff --git a/cpp/ql/src/Security/CWE/CWE-732/UnsafeDaclSecurityDescriptor.ql b/cpp/ql/src/Security/CWE/CWE-732/UnsafeDaclSecurityDescriptor.ql index 81998bda450..482b5daf992 100644 --- a/cpp/ql/src/Security/CWE/CWE-732/UnsafeDaclSecurityDescriptor.ql +++ b/cpp/ql/src/Security/CWE/CWE-732/UnsafeDaclSecurityDescriptor.ql @@ -11,7 +11,6 @@ * @precision high * @tags security * external/cwe/cwe-732 - * external/microsoft/C6248 */ import cpp diff --git a/cpp/ql/src/change-notes/released/0.1.4.md b/cpp/ql/src/change-notes/released/0.1.4.md new file mode 100644 index 00000000000..49899666aec --- /dev/null +++ b/cpp/ql/src/change-notes/released/0.1.4.md @@ -0,0 +1 @@ +## 0.1.4 diff --git a/cpp/ql/src/change-notes/released/0.2.0.md b/cpp/ql/src/change-notes/released/0.2.0.md new file mode 100644 index 00000000000..79a5f33514f --- /dev/null +++ b/cpp/ql/src/change-notes/released/0.2.0.md @@ -0,0 +1 @@ +## 0.2.0 diff --git a/cpp/ql/src/change-notes/released/0.3.0.md b/cpp/ql/src/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..75d99f333c9 --- /dev/null +++ b/cpp/ql/src/change-notes/released/0.3.0.md @@ -0,0 +1,5 @@ +## 0.3.0 + +### Breaking Changes + +* Contextual queries and the query libraries they depend on have been moved to the `codeql/cpp-all` package. diff --git a/cpp/ql/src/change-notes/released/0.3.1.md b/cpp/ql/src/change-notes/released/0.3.1.md new file mode 100644 index 00000000000..2b0719929a1 --- /dev/null +++ b/cpp/ql/src/change-notes/released/0.3.1.md @@ -0,0 +1 @@ +## 0.3.1 diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index b79d8f9d00a..bb106b1cb63 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.3 +lastReleaseVersion: 0.3.1 diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-273/PrivilegeDroppingOutoforder.qhelp b/cpp/ql/src/experimental/Security/CWE/CWE-273/PrivilegeDroppingOutoforder.qhelp index ca8d8dfaf22..1daebb58b3c 100644 --- a/cpp/ql/src/experimental/Security/CWE/CWE-273/PrivilegeDroppingOutoforder.qhelp +++ b/cpp/ql/src/experimental/Security/CWE/CWE-273/PrivilegeDroppingOutoforder.qhelp @@ -27,6 +27,9 @@ groups, and finally set the target user.

+
  • CERT C Coding Standard: +POS36-C. Observe correct revocation order while relinquishing privileges. +
  • CERT C Coding Standard: POS37-C. Ensure that privilege relinquishment is successful.
  • diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.cpp b/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.cpp new file mode 100644 index 00000000000..291cbc8edca --- /dev/null +++ b/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.cpp @@ -0,0 +1,11 @@ +... +SSL_shutdown(ssl); +SSL_shutdown(ssl); // BAD +... + switch ((ret = SSL_shutdown(ssl))) { + case 1: + break; + case 0: + ERR_clear_error(); + if (-1 != (ret = SSL_shutdown(ssl))) break; // GOOD +... diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.qhelp b/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.qhelp new file mode 100644 index 00000000000..bc3f8fcc875 --- /dev/null +++ b/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.qhelp @@ -0,0 +1,27 @@ + + + +

    Incorrect closing of the connection leads to the creation of different states for the server and client, which can be exploited by an attacker.

    + +
    + + +

    The following example shows the incorrect and correct usage of function SSL_shutdown.

    + + +
    + + +
  • + CERT Coding Standard: + EXP12-C. Do not ignore values returned by functions - SEI CERT C Coding Standard - Confluence. +
  • +
  • + Openssl.org: + SSL_shutdown - shut down a TLS/SSL connection. +
  • + +
    +
    diff --git a/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.ql b/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.ql new file mode 100644 index 00000000000..d608fd5a7ed --- /dev/null +++ b/cpp/ql/src/experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.ql @@ -0,0 +1,33 @@ +/** + * @name Dangerous use SSL_shutdown. + * @description Incorrect closing of the connection leads to the creation of different states for the server and client, which can be exploited by an attacker. + * @kind problem + * @id cpp/dangerous-use-of-ssl-shutdown + * @problem.severity warning + * @precision medium + * @tags correctness + * security + * external/cwe/cwe-670 + */ + +import cpp +import semmle.code.cpp.commons.Exclusions +import semmle.code.cpp.valuenumbering.GlobalValueNumbering + +from FunctionCall fc, FunctionCall fc1 +where + fc != fc1 and + fc.getASuccessor+() = fc1 and + fc.getTarget().hasName("SSL_shutdown") and + fc1.getTarget().hasName("SSL_shutdown") and + fc1 instanceof ExprInVoidContext and + ( + globalValueNumber(fc.getArgument(0)) = globalValueNumber(fc1.getArgument(0)) or + fc.getArgument(0).(VariableAccess).getTarget() = fc1.getArgument(0).(VariableAccess).getTarget() + ) and + not exists(FunctionCall fctmp | + fctmp.getTarget().hasName("SSL_free") and + fc.getASuccessor+() = fctmp and + fctmp.getASuccessor+() = fc1 + ) +select fc, "You need to handle the return value SSL_shutdown" diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index d187cfcc8d1..03b90cb3668 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 0.1.4-dev +version: 0.3.2-dev groups: - cpp - queries diff --git a/cpp/ql/test/TestUtilities/InlineExpectationsTest.qll b/cpp/ql/test/TestUtilities/InlineExpectationsTest.qll index 3891fcf13a1..4b4a31d6950 100644 --- a/cpp/ql/test/TestUtilities/InlineExpectationsTest.qll +++ b/cpp/ql/test/TestUtilities/InlineExpectationsTest.qll @@ -239,12 +239,24 @@ private string getColumnString(TColumn column) { /** * RegEx pattern to match a single expected result, not including the leading `$`. It consists of one or - * more comma-separated tags containing only letters, digits, `-` and `_` (note that the first character - * must not be a digit), optionally followed by `=` and the expected value. + * more comma-separated tags optionally followed by `=` and the expected value. + * + * Tags must be only letters, digits, `-` and `_` (note that the first character + * must not be a digit), but can contain anything enclosed in a single set of + * square brackets. + * + * Examples: + * - `tag` + * - `tag=value` + * - `tag,tag2=value` + * - `tag[foo bar]=value` + * + * Not allowed: + * - `tag[[[foo bar]` */ private string expectationPattern() { exists(string tag, string tags, string value | - tag = "[A-Za-z-_][A-Za-z-_0-9]*" and + tag = "[A-Za-z-_](?:[A-Za-z-_0-9]|\\[[^\\]\\]]*\\])*" and tags = "((?:" + tag + ")(?:\\s*,\\s*" + tag + ")*)" and // In Python, we allow both `"` and `'` for strings, as well as the prefixes `bru`. // For example, `b"foo"`. diff --git a/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/DangerousUseSSL_shutdown.expected b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/DangerousUseSSL_shutdown.expected new file mode 100644 index 00000000000..bb3d9157148 --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/DangerousUseSSL_shutdown.expected @@ -0,0 +1,2 @@ +| test.cpp:45:20:45:31 | call to SSL_shutdown | You need to handle the return value SSL_shutdown | +| test.cpp:61:11:61:22 | call to SSL_shutdown | You need to handle the return value SSL_shutdown | diff --git a/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/DangerousUseSSL_shutdown.qlref b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/DangerousUseSSL_shutdown.qlref new file mode 100644 index 00000000000..0c2096f68ff --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/DangerousUseSSL_shutdown.qlref @@ -0,0 +1 @@ +experimental/Security/CWE/CWE-670/DangerousUseSSL_shutdown.ql diff --git a/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/test.cpp b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/test.cpp new file mode 100644 index 00000000000..9ebe1cc10a5 --- /dev/null +++ b/cpp/ql/test/experimental/query-tests/Security/CWE/CWE-670/semmle/tests/test.cpp @@ -0,0 +1,75 @@ +// it's not exact, but it's enough for an example +typedef int SSL; + + +int SSL_shutdown(SSL *ssl); +int SSL_get_error(const SSL *ssl, int ret); +void ERR_clear_error(void); +void print_error(char *buff,int code); + +int gootTest1(SSL *ssl) +{ + int ret; + switch ((ret = SSL_shutdown(ssl))) { + case 1: + break; + case 0: + ERR_clear_error(); + if ((ret = SSL_shutdown(ssl)) == 1) break; // GOOD + default: + print_error("error shutdown", + SSL_get_error(ssl, ret)); + return -1; + } + return 0; +} +int gootTest2(SSL *ssl) +{ + int ret; + switch ((ret = SSL_shutdown(ssl))) { + case 1: + break; + case 0: + ERR_clear_error(); + if (-1 != (ret = SSL_shutdown(ssl))) break; // GOOD + default: + print_error("error shutdown", + SSL_get_error(ssl, ret)); + return -1; + } + return 0; +} +int badTest1(SSL *ssl) +{ + int ret; + switch ((ret = SSL_shutdown(ssl))) { + case 1: + break; + case 0: + SSL_shutdown(ssl); // BAD + break; + default: + print_error("error shutdown", + SSL_get_error(ssl, ret)); + return -1; + } + return 0; +} +int badTest2(SSL *ssl) +{ + int ret; + ret = SSL_shutdown(ssl); + switch (ret) { + case 1: + break; + case 0: + SSL_shutdown(ssl); // BAD + break; + default: + print_error("error shutdown", + SSL_get_error(ssl, ret)); + return -1; + } + return 0; +} + diff --git a/cpp/ql/test/library-tests/builtins/edg/edg.c b/cpp/ql/test/library-tests/builtins/edg/edg.c index d1a78435317..f1f0f0f1375 100644 --- a/cpp/ql/test/library-tests/builtins/edg/edg.c +++ b/cpp/ql/test/library-tests/builtins/edg/edg.c @@ -1,4 +1,4 @@ - +// semmle-extractor-options: --clang struct mystruct { int f1; int f2; @@ -13,3 +13,6 @@ void f(void) { int i2 = edg_offsetof(struct mystruct,f2); } +void g(void) { + double f = __builtin_bit_cast(double,42l); +} diff --git a/cpp/ql/test/library-tests/builtins/edg/expr.expected b/cpp/ql/test/library-tests/builtins/edg/expr.expected index 0969dc1e217..5ab0747ecc7 100644 --- a/cpp/ql/test/library-tests/builtins/edg/expr.expected +++ b/cpp/ql/test/library-tests/builtins/edg/expr.expected @@ -13,3 +13,6 @@ | edg.c:13:14:13:45 | (size_t)... | 0 | 0 | | edg.c:13:14:13:45 | __INTADDR__ | 1 | 1 | | edg.c:13:43:13:44 | f2 | 0 | 0 | +| edg.c:17:16:17:45 | __builtin_bit_cast | 1 | 1 | +| edg.c:17:16:17:45 | double | 0 | 0 | +| edg.c:17:42:17:44 | 42 | 1 | 1 | diff --git a/cpp/ql/test/library-tests/builtins/type_traits/expr.expected b/cpp/ql/test/library-tests/builtins/type_traits/expr.expected index 47918496198..a19d917aaac 100644 --- a/cpp/ql/test/library-tests/builtins/type_traits/expr.expected +++ b/cpp/ql/test/library-tests/builtins/type_traits/expr.expected @@ -296,3 +296,20 @@ | ms.cpp:255:24:255:43 | a_struct | | | | ms.cpp:256:24:256:49 | __is_final | a_final_struct | 1 | | ms.cpp:256:24:256:49 | a_final_struct | | | +| ms.cpp:258:29:258:62 | __is_assignable | a_struct,a_struct | 1 | +| ms.cpp:258:29:258:62 | a_struct | | | +| ms.cpp:258:29:258:62 | a_struct | | | +| ms.cpp:259:29:259:59 | __is_assignable | a_struct,empty | 0 | +| ms.cpp:259:29:259:59 | a_struct | | | +| ms.cpp:259:29:259:59 | empty | | | +| ms.cpp:260:29:260:57 | __is_assignable | a_struct,int | 0 | +| ms.cpp:260:29:260:57 | a_struct | | | +| ms.cpp:260:29:260:57 | int | | | +| ms.cpp:262:28:262:51 | __is_aggregate | a_struct | 1 | +| ms.cpp:262:28:262:51 | a_struct | | | +| ms.cpp:263:28:263:46 | __is_aggregate | int | 0 | +| ms.cpp:263:28:263:46 | int | | | +| ms.cpp:265:49:265:88 | __has_unique_object_representations | int | 1 | +| ms.cpp:265:49:265:88 | int | | | +| ms.cpp:266:49:266:90 | __has_unique_object_representations | float | 0 | +| ms.cpp:266:49:266:90 | float | | | diff --git a/cpp/ql/test/library-tests/builtins/type_traits/ms.cpp b/cpp/ql/test/library-tests/builtins/type_traits/ms.cpp index 742f95faf07..91d6245cc35 100644 --- a/cpp/ql/test/library-tests/builtins/type_traits/ms.cpp +++ b/cpp/ql/test/library-tests/builtins/type_traits/ms.cpp @@ -254,5 +254,14 @@ void f(void) { bool b_is_final1 = __is_final(a_struct); bool b_is_final2 = __is_final(a_final_struct); -} + bool b_is_assignable1 = __is_assignable(a_struct,a_struct); + bool b_is_assignable2 = __is_assignable(a_struct,empty); + bool b_is_assignable3 = __is_assignable(a_struct,int); + + bool b_is_aggregate1 = __is_aggregate(a_struct); + bool b_is_aggregate2 = __is_aggregate(int); + + bool b_has_unique_object_representations1 = __has_unique_object_representations(int); + bool b_has_unique_object_representations2 = __has_unique_object_representations(float); +} diff --git a/cpp/ql/test/library-tests/controlflow/nullness/nullness.expected b/cpp/ql/test/library-tests/controlflow/nullness/nullness.expected new file mode 100644 index 00000000000..bcf301ba47b --- /dev/null +++ b/cpp/ql/test/library-tests/controlflow/nullness/nullness.expected @@ -0,0 +1,20 @@ +| test.cpp:9:9:9:9 | v | test.cpp:5:13:5:13 | v | is not null | is valid | +| test.cpp:10:9:10:10 | ! ... | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:11:9:11:14 | ... == ... | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:12:9:12:17 | ... == ... | test.cpp:5:13:5:13 | v | is not null | is valid | +| test.cpp:13:9:13:14 | ... != ... | test.cpp:5:13:5:13 | v | is not null | is valid | +| test.cpp:14:9:14:17 | ... != ... | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:15:8:15:23 | call to __builtin_expect | test.cpp:5:13:5:13 | v | is not null | is valid | +| test.cpp:16:8:16:23 | call to __builtin_expect | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:17:9:17:17 | ... && ... | test.cpp:5:13:5:13 | v | is not null | is valid | +| test.cpp:18:9:18:17 | ... && ... | test.cpp:5:13:5:13 | v | is not null | is valid | +| test.cpp:19:9:19:18 | ... && ... | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:20:9:20:18 | ... && ... | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:21:9:21:14 | ... = ... | test.cpp:5:13:5:13 | v | is null | is not valid | +| test.cpp:21:9:21:14 | ... = ... | test.cpp:7:10:7:10 | b | is not null | is valid | +| test.cpp:22:9:22:14 | ... = ... | test.cpp:5:13:5:13 | v | is not null | is not valid | +| test.cpp:22:9:22:14 | ... = ... | test.cpp:7:13:7:13 | c | is not null | is not valid | +| test.cpp:22:17:22:17 | c | test.cpp:7:13:7:13 | c | is not null | is valid | +| test.cpp:23:21:23:21 | x | test.cpp:23:14:23:14 | x | is not null | is valid | +| test.cpp:24:9:24:18 | (condition decl) | test.cpp:5:13:5:13 | v | is not null | is not valid | +| test.cpp:24:9:24:18 | (condition decl) | test.cpp:24:14:24:14 | y | is not null | is valid | diff --git a/cpp/ql/test/library-tests/controlflow/nullness/nullness.ql b/cpp/ql/test/library-tests/controlflow/nullness/nullness.ql new file mode 100644 index 00000000000..864fd04f920 --- /dev/null +++ b/cpp/ql/test/library-tests/controlflow/nullness/nullness.ql @@ -0,0 +1,8 @@ +import cpp + +from AnalysedExpr a, LocalScopeVariable v, string isNullCheck, string isValidCheck +where + v.getAnAccess().getEnclosingStmt() = a.getParent() and + (if a.isNullCheck(v) then isNullCheck = "is null" else isNullCheck = "is not null") and + (if a.isValidCheck(v) then isValidCheck = "is valid" else isValidCheck = "is not valid") +select a, v, isNullCheck, isValidCheck diff --git a/cpp/ql/test/library-tests/controlflow/nullness/test.cpp b/cpp/ql/test/library-tests/controlflow/nullness/test.cpp new file mode 100644 index 00000000000..407753be17a --- /dev/null +++ b/cpp/ql/test/library-tests/controlflow/nullness/test.cpp @@ -0,0 +1,25 @@ +// semmle-extractor-options: -std=c++17 + +long __builtin_expect(long); + +void f(int *v) { + int *w; + bool b, c; + + if (v) {} + if (!v) {} + if (v == 0) {} + if ((!v) == 0) {} + if (v != 0) {} + if ((!v) != 0) {} + if(__builtin_expect((long)v)) {} + if(__builtin_expect((long)!v)) {} + if (true && v) {} + if (v && true) {} + if (true && !v) {} + if (!v && true) {} + if (b = !v) {} + if (c = !v; c) {} + if (int *x = v; x) {} + if (int *y = v) {} +} diff --git a/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-ir-consistency.expected b/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-ir-consistency.expected index 6b3e01b0e77..1c802f3eeec 100644 --- a/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-ir-consistency.expected +++ b/cpp/ql/test/library-tests/dataflow/dataflow-tests/dataflow-ir-consistency.expected @@ -199,7 +199,9 @@ postWithInFlow | example.c:28:22:28:25 | & ... [post update] | PostUpdateNode should not be the target of local flow. | | example.c:28:23:28:25 | pos [post update] | PostUpdateNode should not be the target of local flow. | | globals.cpp:5:9:5:13 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | +| globals.cpp:9:5:9:19 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | globals.cpp:13:5:13:19 | flowTestGlobal1 [post update] | PostUpdateNode should not be the target of local flow. | +| globals.cpp:16:12:16:26 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | globals.cpp:23:5:23:19 | flowTestGlobal2 [post update] | PostUpdateNode should not be the target of local flow. | | lambdas.cpp:8:6:8:6 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | lambdas.cpp:9:6:9:6 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | diff --git a/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp b/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp index 5e5c5279f16..18eb893e540 100644 --- a/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp +++ b/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.cpp @@ -334,19 +334,19 @@ namespace FlowThroughGlobals { } int f() { - sink(globalVar); // tainted or clean? Not sure. + sink(globalVar); // $ ir=333:17 ir=347:17 // tainted or clean? Not sure. taintGlobal(); - sink(globalVar); // $ MISSING: ast,ir + sink(globalVar); // $ ir=333:17 ir=347:17 MISSING: ast } int calledAfterTaint() { - sink(globalVar); // $ MISSING: ast,ir + sink(globalVar); // $ ir=333:17 ir=347:17 MISSING: ast } int taintAndCall() { globalVar = source(); calledAfterTaint(); - sink(globalVar); // $ ast,ir + sink(globalVar); // $ ast ir=333:17 ir=347:17 } } diff --git a/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.ql b/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.ql index 63c20affad1..270b313dc28 100644 --- a/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.ql +++ b/cpp/ql/test/library-tests/dataflow/dataflow-tests/test.ql @@ -2,19 +2,17 @@ import TestUtilities.dataflow.FlowTestCommon module AstTest { private import semmle.code.cpp.dataflow.DataFlow + private import semmle.code.cpp.controlflow.Guards /** * A `BarrierGuard` that stops flow to all occurrences of `x` within statement * S in `if (guarded(x)) S`. */ // This is tested in `BarrierGuard.cpp`. - class TestBarrierGuard extends DataFlow::BarrierGuard { - TestBarrierGuard() { this.(FunctionCall).getTarget().getName() = "guarded" } - - override predicate checks(Expr checked, boolean isTrue) { - checked = this.(FunctionCall).getArgument(0) and - isTrue = true - } + predicate testBarrierGuard(GuardCondition g, Expr checked, boolean isTrue) { + g.(FunctionCall).getTarget().getName() = "guarded" and + checked = g.(FunctionCall).getArgument(0) and + isTrue = true } /** Common data flow configuration to be used by tests. */ @@ -40,29 +38,26 @@ module AstTest { } override predicate isBarrier(DataFlow::Node barrier) { - barrier.asExpr().(VariableAccess).getTarget().hasName("barrier") + barrier.asExpr().(VariableAccess).getTarget().hasName("barrier") or + barrier = DataFlow::BarrierGuard::getABarrierNode() } - - override predicate isBarrierGuard(DataFlow::BarrierGuard bg) { bg instanceof TestBarrierGuard } } } module IRTest { private import semmle.code.cpp.ir.dataflow.DataFlow private import semmle.code.cpp.ir.IR + private import semmle.code.cpp.controlflow.IRGuards /** * A `BarrierGuard` that stops flow to all occurrences of `x` within statement * S in `if (guarded(x)) S`. */ // This is tested in `BarrierGuard.cpp`. - class TestBarrierGuard extends DataFlow::BarrierGuard { - TestBarrierGuard() { this.(CallInstruction).getStaticCallTarget().getName() = "guarded" } - - override predicate checksInstr(Instruction checked, boolean isTrue) { - checked = this.(CallInstruction).getPositionalArgument(0) and - isTrue = true - } + predicate testBarrierGuard(IRGuardCondition g, Instruction checked, boolean isTrue) { + g.(CallInstruction).getStaticCallTarget().getName() = "guarded" and + checked = g.(CallInstruction).getPositionalArgument(0) and + isTrue = true } /** Common data flow configuration to be used by tests. */ @@ -93,10 +88,9 @@ module IRTest { } override predicate isBarrier(DataFlow::Node barrier) { - barrier.asExpr().(VariableAccess).getTarget().hasName("barrier") + barrier.asExpr().(VariableAccess).getTarget().hasName("barrier") or + barrier = DataFlow::InstructionBarrierGuard::getABarrierNode() } - - override predicate isBarrierGuard(DataFlow::BarrierGuard bg) { bg instanceof TestBarrierGuard } } private predicate readsVariable(LoadInstruction load, Variable var) { diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp index ebbde802ff3..2ae093098d2 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp @@ -47,14 +47,14 @@ void do_source() void do_sink() { sink(global1); - sink(global2); // $ MISSING: ast,ir - sink(global3); // $ MISSING: ast,ir - sink(global4); // $ MISSING: ast,ir + sink(global2); // $ ir MISSING: ast + sink(global3); // $ ir MISSING: ast + sink(global4); // $ ir MISSING: ast sink(global5); sink(global6); - sink(global7); // $ MISSING: ast,ir - sink(global8); // $ MISSING: ast,ir - sink(global9); // $ MISSING: ast,ir + sink(global7); // $ ir MISSING: ast + sink(global8); // $ ir MISSING: ast + sink(global9); // $ ir MISSING: ast sink(global10); } diff --git a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.cpp b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.cpp index 3bbfc05ec65..45732eb6ca8 100644 --- a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.cpp +++ b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.cpp @@ -33,3 +33,11 @@ public: myTemplateClass mtc_int; myTemplateClass mtc_short; + +// Class (UserType) + +class myClass +{ +public: + int myMemberVariable; +}; diff --git a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.expected b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.expected index 76f564d1f7b..19c55430e1c 100644 --- a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.expected +++ b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/declarationEntry.expected @@ -27,5 +27,11 @@ | declarationEntry.cpp:31:4:31:19 | myMemberVariable | declarationEntry.cpp:31:4:31:19 | definition of myMemberVariable | 1 | 1 | | declarationEntry.cpp:34:22:34:28 | mtc_int | declarationEntry.cpp:34:22:34:28 | definition of mtc_int | 1 | 1 | | declarationEntry.cpp:35:24:35:32 | mtc_short | declarationEntry.cpp:35:24:35:32 | definition of mtc_short | 1 | 1 | +| declarationEntry.cpp:39:7:39:7 | operator= | declarationEntry.cpp:39:7:39:7 | declaration of operator= | 1 | 1 | +| declarationEntry.cpp:39:7:39:7 | operator= | declarationEntry.cpp:39:7:39:7 | declaration of operator= | 1 | 1 | +| declarationEntry.cpp:39:7:39:13 | myClass | declarationEntry.cpp:39:7:39:13 | definition of myClass | 1 | 1 | +| declarationEntry.cpp:39:7:39:13 | myClass | forwardDeclaration.cpp:1:7:1:13 | declaration of myClass | 1 | 1 | +| declarationEntry.cpp:42:6:42:21 | myMemberVariable | declarationEntry.cpp:42:6:42:21 | definition of myMemberVariable | 1 | 1 | +| forwardDeclaration.cpp:3:10:3:19 | myClassPtr | forwardDeclaration.cpp:3:10:3:19 | definition of myClassPtr | 1 | 1 | | macro.c:2:1:2:3 | foo | macro.c:2:1:2:3 | declaration of foo | 1 | 1 | | macro.c:4:5:4:8 | main | macro.c:4:5:4:8 | definition of main | 1 | 1 | diff --git a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/fde.expected b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/fde.expected index 9a544200cae..71c81c7ac82 100644 --- a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/fde.expected +++ b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/fde.expected @@ -10,5 +10,7 @@ | declarationEntry.cpp:28:7:28:7 | declaration of operator= | | 0 | | | declarationEntry.cpp:28:7:28:7 | declaration of operator= | | 0 | | | declarationEntry.cpp:28:7:28:7 | declaration of operator= | | 0 | | +| declarationEntry.cpp:39:7:39:7 | declaration of operator= | | 0 | | +| declarationEntry.cpp:39:7:39:7 | declaration of operator= | | 0 | | | macro.c:2:1:2:3 | declaration of foo | | 2 | c_linkage, static | | macro.c:4:5:4:8 | definition of main | | 1 | c_linkage | diff --git a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/forwardDeclaration.cpp b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/forwardDeclaration.cpp new file mode 100644 index 00000000000..1e5e0c15ce0 --- /dev/null +++ b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/forwardDeclaration.cpp @@ -0,0 +1,3 @@ +class myClass; + +myClass *myClassPtr; diff --git a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/roundTrip.expected b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/roundTrip.expected new file mode 100644 index 00000000000..e0ea52ab027 --- /dev/null +++ b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/roundTrip.expected @@ -0,0 +1,45 @@ +| declarationEntry.c:2:6:2:20 | declaration of myFirstFunction | declarationEntry.c:2:6:2:20 | myFirstFunction | yes | +| declarationEntry.c:4:6:4:21 | definition of mySecondFunction | declarationEntry.c:4:6:4:21 | mySecondFunction | yes | +| declarationEntry.c:8:6:8:20 | definition of myThirdFunction | declarationEntry.c:8:6:8:20 | myThirdFunction | yes | +| declarationEntry.c:13:2:13:2 | declaration of myFourthFunction | declarationEntry.c:13:2:13:2 | myFourthFunction | yes | +| declarationEntry.c:13:2:13:2 | declaration of myFourthFunction | declarationEntry.c:17:6:17:21 | myFourthFunction | yes | +| declarationEntry.c:14:2:14:2 | declaration of myFifthFunction | declarationEntry.c:14:2:14:2 | myFifthFunction | yes | +| declarationEntry.c:17:6:17:21 | declaration of myFourthFunction | declarationEntry.c:13:2:13:2 | myFourthFunction | yes | +| declarationEntry.c:17:6:17:21 | declaration of myFourthFunction | declarationEntry.c:17:6:17:21 | myFourthFunction | yes | +| declarationEntry.cpp:3:12:3:21 | declaration of myVariable | declarationEntry.cpp:5:5:5:14 | myVariable | yes | +| declarationEntry.cpp:5:5:5:14 | definition of myVariable | declarationEntry.cpp:5:5:5:14 | myVariable | yes | +| declarationEntry.cpp:9:6:9:15 | declaration of myFunction | declarationEntry.cpp:11:6:11:15 | myFunction | yes | +| declarationEntry.cpp:9:21:9:31 | declaration of myParameter | declarationEntry.cpp:11:21:11:31 | myParameter | yes | +| declarationEntry.cpp:11:6:11:15 | definition of myFunction | declarationEntry.cpp:11:6:11:15 | myFunction | yes | +| declarationEntry.cpp:11:21:11:31 | definition of myParameter | declarationEntry.cpp:11:21:11:31 | myParameter | yes | +| declarationEntry.cpp:18:6:18:11 | declaration of myEnum | declarationEntry.cpp:20:6:20:11 | myEnum | yes | +| declarationEntry.cpp:20:6:20:11 | definition of myEnum | declarationEntry.cpp:20:6:20:11 | myEnum | yes | +| declarationEntry.cpp:27:20:27:20 | definition of T | declarationEntry.cpp:27:20:27:20 | T | yes | +| declarationEntry.cpp:28:7:28:7 | declaration of operator= | declarationEntry.cpp:28:7:28:7 | operator= | yes | +| declarationEntry.cpp:28:7:28:7 | declaration of operator= | declarationEntry.cpp:28:7:28:7 | operator= | yes | +| declarationEntry.cpp:28:7:28:7 | declaration of operator= | declarationEntry.cpp:28:7:28:7 | operator= | yes | +| declarationEntry.cpp:28:7:28:7 | declaration of operator= | declarationEntry.cpp:28:7:28:7 | operator= | yes | +| declarationEntry.cpp:28:7:28:21 | definition of myTemplateClass | declarationEntry.cpp:28:7:28:21 | myTemplateClass | yes | +| declarationEntry.cpp:31:4:31:19 | definition of myMemberVariable | declarationEntry.cpp:31:4:31:19 | myMemberVariable | yes | +| declarationEntry.cpp:31:4:31:19 | definition of myMemberVariable | declarationEntry.cpp:31:4:31:19 | myMemberVariable | yes | +| declarationEntry.cpp:31:4:31:19 | definition of myMemberVariable | declarationEntry.cpp:31:4:31:19 | myMemberVariable | yes | +| declarationEntry.cpp:34:22:34:28 | definition of mtc_int | declarationEntry.cpp:34:22:34:28 | mtc_int | yes | +| declarationEntry.cpp:35:24:35:32 | definition of mtc_short | declarationEntry.cpp:35:24:35:32 | mtc_short | yes | +| declarationEntry.cpp:39:7:39:7 | declaration of operator= | declarationEntry.cpp:39:7:39:7 | operator= | yes | +| declarationEntry.cpp:39:7:39:7 | declaration of operator= | declarationEntry.cpp:39:7:39:7 | operator= | yes | +| declarationEntry.cpp:39:7:39:13 | definition of myClass | declarationEntry.cpp:39:7:39:13 | myClass | yes | +| declarationEntry.cpp:42:6:42:21 | definition of myMemberVariable | declarationEntry.cpp:42:6:42:21 | myMemberVariable | yes | +| file://:0:0:0:0 | declaration of 1st parameter | file://:0:0:0:0 | (unnamed parameter 0) | yes | +| file://:0:0:0:0 | declaration of 1st parameter | file://:0:0:0:0 | (unnamed parameter 0) | yes | +| file://:0:0:0:0 | declaration of 1st parameter | file://:0:0:0:0 | (unnamed parameter 0) | yes | +| file://:0:0:0:0 | declaration of 1st parameter | file://:0:0:0:0 | (unnamed parameter 0) | yes | +| file://:0:0:0:0 | declaration of 1st parameter | file://:0:0:0:0 | (unnamed parameter 0) | yes | +| file://:0:0:0:0 | declaration of 1st parameter | file://:0:0:0:0 | (unnamed parameter 0) | yes | +| file://:0:0:0:0 | definition of fp_offset | file://:0:0:0:0 | fp_offset | yes | +| file://:0:0:0:0 | definition of gp_offset | file://:0:0:0:0 | gp_offset | yes | +| file://:0:0:0:0 | definition of overflow_arg_area | file://:0:0:0:0 | overflow_arg_area | yes | +| file://:0:0:0:0 | definition of reg_save_area | file://:0:0:0:0 | reg_save_area | yes | +| forwardDeclaration.cpp:1:7:1:13 | declaration of myClass | declarationEntry.cpp:39:7:39:13 | myClass | yes | +| forwardDeclaration.cpp:3:10:3:19 | definition of myClassPtr | forwardDeclaration.cpp:3:10:3:19 | myClassPtr | yes | +| macro.c:2:1:2:3 | declaration of foo | macro.c:2:1:2:3 | foo | yes | +| macro.c:4:5:4:8 | definition of main | macro.c:4:5:4:8 | main | yes | diff --git a/cpp/ql/test/library-tests/declarationEntry/declarationEntry/roundTrip.ql b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/roundTrip.ql new file mode 100644 index 00000000000..24bbc4b7922 --- /dev/null +++ b/cpp/ql/test/library-tests/declarationEntry/declarationEntry/roundTrip.ql @@ -0,0 +1,7 @@ +import cpp + +from DeclarationEntry de, Declaration d, string canRoundTrip +where + d = de.getDeclaration() and + if d.getADeclarationEntry() = de then canRoundTrip = "yes" else canRoundTrip = "no" +select de, d, canRoundTrip diff --git a/cpp/ql/test/library-tests/ir/ir/PrintConfig.qll b/cpp/ql/test/library-tests/ir/ir/PrintConfig.qll index ccf243386fe..bd77d831cb7 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintConfig.qll +++ b/cpp/ql/test/library-tests/ir/ir/PrintConfig.qll @@ -12,4 +12,11 @@ predicate locationIsInStandardHeaders(Location loc) { * * This predicate excludes functions defined in standard headers. */ -predicate shouldDumpFunction(Function func) { not locationIsInStandardHeaders(func.getLocation()) } +predicate shouldDumpFunction(Declaration decl) { + not locationIsInStandardHeaders(decl.getLocation()) and + ( + decl instanceof Function + or + decl.(GlobalOrNamespaceVariable).hasInitializer() + ) +} diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ssa_consistency_unsound.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ir/ir.cpp b/cpp/ql/test/library-tests/ir/ir/ir.cpp index e85c5f1b505..4c49d95d453 100644 --- a/cpp/ql/test/library-tests/ir/ir/ir.cpp +++ b/cpp/ql/test/library-tests/ir/ir/ir.cpp @@ -1816,4 +1816,18 @@ void switch_initialization(int x) { } } +int global_1; + +int global_2 = 1; + +const int global_3 = 2; + +constructor_only global_4(1); + +constructor_only global_5 = constructor_only(2); + +char *global_string = "global string"; + +int global_6 = global_2; + // semmle-extractor-options: -std=c++17 --clang diff --git a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected index 4b531d9c690..3510d24b7c7 100644 --- a/cpp/ql/test/library-tests/ir/ir/operand_locations.expected +++ b/cpp/ql/test/library-tests/ir/ir/operand_locations.expected @@ -4743,6 +4743,14 @@ | ir.cpp:1034:6:1034:20 | ChiTotal | total:m1034_2 | | ir.cpp:1034:6:1034:20 | SideEffect | m1034_3 | | ir.cpp:1035:15:1035:15 | Address | &:r1035_1 | +| ir.cpp:1038:6:1038:8 | Address | &:r1038_3 | +| ir.cpp:1038:6:1038:8 | SideEffect | ~m1038_8 | +| ir.cpp:1038:12:1038:18 | Address | &:r1038_4 | +| ir.cpp:1038:12:1038:18 | Address | &:r1038_4 | +| ir.cpp:1038:12:1038:18 | ChiPartial | partial:m1038_7 | +| ir.cpp:1038:12:1038:18 | ChiTotal | total:m1038_2 | +| ir.cpp:1038:12:1038:18 | Load | m1038_5 | +| ir.cpp:1038:12:1038:18 | StoreValue | r1038_6 | | ir.cpp:1038:14:1038:14 | Address | &:r1038_5 | | ir.cpp:1038:14:1038:14 | Address | &:r1038_5 | | ir.cpp:1038:14:1038:14 | Address | &:r1038_5 | @@ -8457,6 +8465,45 @@ | ir.cpp:1815:14:1815:15 | Address | &:r1815_1 | | ir.cpp:1815:14:1815:15 | Load | m1813_4 | | ir.cpp:1815:14:1815:15 | Right | r1815_2 | +| ir.cpp:1821:5:1821:12 | Address | &:r1821_3 | +| ir.cpp:1821:5:1821:12 | SideEffect | ~m1821_6 | +| ir.cpp:1821:16:1821:16 | ChiPartial | partial:m1821_5 | +| ir.cpp:1821:16:1821:16 | ChiTotal | total:m1821_2 | +| ir.cpp:1821:16:1821:16 | StoreValue | r1821_4 | +| ir.cpp:1825:18:1825:25 | Address | &:r1825_3 | +| ir.cpp:1825:18:1825:25 | Arg(this) | this:r1825_3 | +| ir.cpp:1825:18:1825:25 | SideEffect | ~m1825_10 | +| ir.cpp:1825:27:1825:27 | Arg(0) | 0:r1825_5 | +| ir.cpp:1825:27:1825:28 | CallTarget | func:r1825_4 | +| ir.cpp:1825:27:1825:28 | ChiPartial | partial:m1825_7 | +| ir.cpp:1825:27:1825:28 | ChiPartial | partial:m1825_9 | +| ir.cpp:1825:27:1825:28 | ChiTotal | total:m1825_2 | +| ir.cpp:1825:27:1825:28 | ChiTotal | total:m1825_8 | +| ir.cpp:1825:27:1825:28 | SideEffect | ~m1825_2 | +| ir.cpp:1827:18:1827:25 | Address | &:r1827_3 | +| ir.cpp:1827:18:1827:25 | Arg(this) | this:r1827_3 | +| ir.cpp:1827:18:1827:25 | SideEffect | ~m1827_10 | +| ir.cpp:1827:28:1827:47 | CallTarget | func:r1827_4 | +| ir.cpp:1827:28:1827:47 | ChiPartial | partial:m1827_7 | +| ir.cpp:1827:28:1827:47 | ChiPartial | partial:m1827_9 | +| ir.cpp:1827:28:1827:47 | ChiTotal | total:m1827_2 | +| ir.cpp:1827:28:1827:47 | ChiTotal | total:m1827_8 | +| ir.cpp:1827:28:1827:47 | SideEffect | ~m1827_2 | +| ir.cpp:1827:46:1827:46 | Arg(0) | 0:r1827_5 | +| ir.cpp:1829:7:1829:19 | Address | &:r1829_3 | +| ir.cpp:1829:7:1829:19 | SideEffect | ~m1829_8 | +| ir.cpp:1829:23:1829:37 | ChiPartial | partial:m1829_7 | +| ir.cpp:1829:23:1829:37 | ChiTotal | total:m1829_2 | +| ir.cpp:1829:23:1829:37 | StoreValue | r1829_6 | +| ir.cpp:1829:23:1829:37 | Unary | r1829_4 | +| ir.cpp:1829:23:1829:37 | Unary | r1829_5 | +| ir.cpp:1831:5:1831:12 | Address | &:r1831_3 | +| ir.cpp:1831:5:1831:12 | SideEffect | ~m1831_7 | +| ir.cpp:1831:16:1831:23 | Address | &:r1831_4 | +| ir.cpp:1831:16:1831:23 | ChiPartial | partial:m1831_6 | +| ir.cpp:1831:16:1831:23 | ChiTotal | total:m1831_2 | +| ir.cpp:1831:16:1831:23 | Load | ~m1831_2 | +| ir.cpp:1831:16:1831:23 | StoreValue | r1831_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_5 | | perf-regression.cpp:6:3:6:5 | Address | &:r6_7 | @@ -8700,6 +8747,34 @@ | smart_ptr.cpp:47:43:47:63 | SideEffect | ~m47_16 | | smart_ptr.cpp:47:43:47:63 | Unary | r47_5 | | smart_ptr.cpp:47:43:47:63 | Unary | r47_6 | +| struct_init.cpp:9:13:9:25 | Left | r9_3 | +| struct_init.cpp:9:13:9:25 | Left | r9_3 | +| struct_init.cpp:9:13:9:25 | SideEffect | ~m11_10 | +| struct_init.cpp:9:31:12:1 | Right | r9_4 | +| struct_init.cpp:9:31:12:1 | Right | r9_6 | +| struct_init.cpp:9:31:12:1 | Unary | r9_5 | +| struct_init.cpp:9:31:12:1 | Unary | r9_5 | +| struct_init.cpp:9:31:12:1 | Unary | r9_7 | +| struct_init.cpp:9:31:12:1 | Unary | r9_7 | +| struct_init.cpp:10:5:10:21 | Address | &:r10_1 | +| struct_init.cpp:10:5:10:21 | Address | &:r10_6 | +| struct_init.cpp:10:7:10:9 | ChiPartial | partial:m10_4 | +| struct_init.cpp:10:7:10:9 | ChiTotal | total:m9_2 | +| struct_init.cpp:10:7:10:9 | StoreValue | r10_3 | +| struct_init.cpp:10:7:10:9 | Unary | r10_2 | +| struct_init.cpp:10:12:10:19 | ChiPartial | partial:m10_8 | +| struct_init.cpp:10:12:10:19 | ChiTotal | total:m10_5 | +| struct_init.cpp:10:12:10:19 | StoreValue | r10_7 | +| struct_init.cpp:11:5:11:22 | Address | &:r11_1 | +| struct_init.cpp:11:5:11:22 | Address | &:r11_6 | +| struct_init.cpp:11:7:11:9 | ChiPartial | partial:m11_4 | +| struct_init.cpp:11:7:11:9 | ChiTotal | total:m10_9 | +| struct_init.cpp:11:7:11:9 | StoreValue | r11_3 | +| struct_init.cpp:11:7:11:9 | Unary | r11_2 | +| struct_init.cpp:11:12:11:20 | ChiPartial | partial:m11_9 | +| struct_init.cpp:11:12:11:20 | ChiTotal | total:m11_5 | +| struct_init.cpp:11:12:11:20 | StoreValue | r11_8 | +| struct_init.cpp:11:13:11:20 | Unary | r11_7 | | struct_init.cpp:16:6:16:20 | ChiPartial | partial:m16_3 | | struct_init.cpp:16:6:16:20 | ChiTotal | total:m16_2 | | struct_init.cpp:16:6:16:20 | SideEffect | ~m17_5 | diff --git a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected index 9575759051e..cc50472385b 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_consistency.expected @@ -27,6 +27,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index 17c59485eb9..8f67435f3c1 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -5650,6 +5650,19 @@ ir.cpp: # 1034| v1034_5(void) = AliasedUse : ~m? # 1034| v1034_6(void) = ExitFunction : +# 1038| (lambda [] type at line 1038, col. 12) lam +# 1038| Block 0 +# 1038| v1038_1(void) = EnterFunction : +# 1038| mu1038_2(unknown) = AliasedDefinition : +# 1038| r1038_3(glval) = VariableAddress[lam] : +# 1038| r1038_4(glval) = VariableAddress[#temp1038:12] : +# 1038| mu1038_5(decltype([...](...){...})) = Uninitialized[#temp1038:12] : &:r1038_4 +# 1038| r1038_6(decltype([...](...){...})) = Load[#temp1038:12] : &:r1038_4, ~m? +# 1038| mu1038_7(decltype([...](...){...})) = Store[lam] : &:r1038_3, r1038_6 +# 1038| v1038_8(void) = ReturnVoid : +# 1038| v1038_9(void) = AliasedUse : ~m? +# 1038| v1038_10(void) = ExitFunction : + # 1038| void (lambda [] type at line 1038, col. 12)::operator()() const # 1038| Block 0 # 1038| v1038_1(void) = EnterFunction : @@ -9720,6 +9733,70 @@ ir.cpp: # 1785| v1785_7(void) = AliasedUse : ~m? # 1785| v1785_8(void) = ExitFunction : +# 1821| int global_2 +# 1821| Block 0 +# 1821| v1821_1(void) = EnterFunction : +# 1821| mu1821_2(unknown) = AliasedDefinition : +# 1821| r1821_3(glval) = VariableAddress[global_2] : +# 1821| r1821_4(int) = Constant[1] : +# 1821| mu1821_5(int) = Store[global_2] : &:r1821_3, r1821_4 +# 1821| v1821_6(void) = ReturnVoid : +# 1821| v1821_7(void) = AliasedUse : ~m? +# 1821| v1821_8(void) = ExitFunction : + +# 1825| constructor_only global_4 +# 1825| Block 0 +# 1825| v1825_1(void) = EnterFunction : +# 1825| mu1825_2(unknown) = AliasedDefinition : +# 1825| r1825_3(glval) = VariableAddress[global_4] : +# 1825| r1825_4(glval) = FunctionAddress[constructor_only] : +# 1825| r1825_5(int) = Constant[1] : +# 1825| v1825_6(void) = Call[constructor_only] : func:r1825_4, this:r1825_3, 0:r1825_5 +# 1825| mu1825_7(unknown) = ^CallSideEffect : ~m? +# 1825| mu1825_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1825_3 +# 1825| v1825_9(void) = ReturnVoid : +# 1825| v1825_10(void) = AliasedUse : ~m? +# 1825| v1825_11(void) = ExitFunction : + +# 1827| constructor_only global_5 +# 1827| Block 0 +# 1827| v1827_1(void) = EnterFunction : +# 1827| mu1827_2(unknown) = AliasedDefinition : +# 1827| r1827_3(glval) = VariableAddress[global_5] : +# 1827| r1827_4(glval) = FunctionAddress[constructor_only] : +# 1827| r1827_5(int) = Constant[2] : +# 1827| v1827_6(void) = Call[constructor_only] : func:r1827_4, this:r1827_3, 0:r1827_5 +# 1827| mu1827_7(unknown) = ^CallSideEffect : ~m? +# 1827| mu1827_8(constructor_only) = ^IndirectMayWriteSideEffect[-1] : &:r1827_3 +# 1827| v1827_9(void) = ReturnVoid : +# 1827| v1827_10(void) = AliasedUse : ~m? +# 1827| v1827_11(void) = ExitFunction : + +# 1829| char* global_string +# 1829| Block 0 +# 1829| v1829_1(void) = EnterFunction : +# 1829| mu1829_2(unknown) = AliasedDefinition : +# 1829| r1829_3(glval) = VariableAddress[global_string] : +# 1829| r1829_4(glval) = StringConstant["global string"] : +# 1829| r1829_5(char *) = Convert : r1829_4 +# 1829| r1829_6(char *) = Convert : r1829_5 +# 1829| mu1829_7(char *) = Store[global_string] : &:r1829_3, r1829_6 +# 1829| v1829_8(void) = ReturnVoid : +# 1829| v1829_9(void) = AliasedUse : ~m? +# 1829| v1829_10(void) = ExitFunction : + +# 1831| int global_6 +# 1831| Block 0 +# 1831| v1831_1(void) = EnterFunction : +# 1831| mu1831_2(unknown) = AliasedDefinition : +# 1831| r1831_3(glval) = VariableAddress[global_6] : +# 1831| r1831_4(glval) = VariableAddress[global_2] : +# 1831| r1831_5(int) = Load[global_2] : &:r1831_4, ~m? +# 1831| mu1831_6(int) = Store[global_6] : &:r1831_3, r1831_5 +# 1831| v1831_7(void) = ReturnVoid : +# 1831| v1831_8(void) = AliasedUse : ~m? +# 1831| v1831_9(void) = ExitFunction : + perf-regression.cpp: # 6| void Big::Big() # 6| Block 0 @@ -9941,6 +10018,34 @@ smart_ptr.cpp: # 28| v28_6(void) = ExitFunction : struct_init.cpp: +# 9| Info infos_in_file[] +# 9| Block 0 +# 9| v9_1(void) = EnterFunction : +# 9| mu9_2(unknown) = AliasedDefinition : +# 9| r9_3(glval) = VariableAddress[infos_in_file] : +# 9| r9_4(int) = Constant[0] : +# 9| r9_5(glval) = PointerAdd[16] : r9_3, r9_4 +# 10| r10_1(glval) = FieldAddress[name] : r9_5 +# 10| r10_2(glval) = StringConstant["1"] : +# 10| r10_3(char *) = Convert : r10_2 +# 10| mu10_4(char *) = Store[?] : &:r10_1, r10_3 +# 10| r10_5(glval<..(*)(..)>) = FieldAddress[handler] : r9_5 +# 10| r10_6(..(*)(..)) = FunctionAddress[handler1] : +# 10| mu10_7(..(*)(..)) = Store[?] : &:r10_5, r10_6 +# 9| r9_6(int) = Constant[1] : +# 9| r9_7(glval) = PointerAdd[16] : r9_3, r9_6 +# 11| r11_1(glval) = FieldAddress[name] : r9_7 +# 11| r11_2(glval) = StringConstant["3"] : +# 11| r11_3(char *) = Convert : r11_2 +# 11| mu11_4(char *) = Store[?] : &:r11_1, r11_3 +# 11| r11_5(glval<..(*)(..)>) = FieldAddress[handler] : r9_7 +# 11| r11_6(glval<..()(..)>) = FunctionAddress[handler2] : +# 11| r11_7(..(*)(..)) = CopyValue : r11_6 +# 11| mu11_8(..(*)(..)) = Store[?] : &:r11_5, r11_7 +# 9| v9_8(void) = ReturnVoid : +# 9| v9_9(void) = AliasedUse : ~m? +# 9| v9_10(void) = ExitFunction : + # 16| void let_info_escape(Info*) # 16| Block 0 # 16| v16_1(void) = EnterFunction : diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.ql b/cpp/ql/test/library-tests/ir/ir/raw_ir.ql index a0ebe4d2bdd..ae37a4a932b 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.ql +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.ql @@ -7,5 +7,5 @@ private import semmle.code.cpp.ir.implementation.raw.PrintIR private import PrintConfig private class PrintConfig extends PrintIRConfiguration { - override predicate shouldPrintFunction(Function func) { shouldDumpFunction(func) } + override predicate shouldPrintFunction(Declaration decl) { shouldDumpFunction(decl) } } diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ir/unaliased_ssa_consistency_unsound.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ssa/aliased_ssa_consistency_unsound.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected index 31e5b01229c..79887fffc1f 100644 --- a/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected +++ b/cpp/ql/test/library-tests/ir/ssa/unaliased_ssa_consistency_unsound.expected @@ -23,6 +23,7 @@ invalidOverlap nonUniqueEnclosingIRFunction fieldAddressOnNonPointer thisArgumentIsNonPointer +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected index fcfef712b56..665d30605ee 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/aliased_ssa_consistency.expected @@ -98,6 +98,9 @@ thisArgumentIsNonPointer | pmcallexpr.cpp:8:2:8:15 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() | | pointer_to_member.cpp:23:5:23:54 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | | pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | +nonUniqueIRVariable +| misc.c:178:22:178:40 | VariableAddress: __PRETTY_FUNCTION__ | Variable address instruction 'VariableAddress: __PRETTY_FUNCTION__' has no associated variable, in function '$@'. | misc.c:177:6:177:14 | void magicvars() | void magicvars() | +| misc.c:179:27:179:34 | VariableAddress: __func__ | Variable address instruction 'VariableAddress: __func__' has no associated variable, in function '$@'. | misc.c:177:6:177:14 | void magicvars() | void magicvars() | missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/syntax-zoo/dataflow-ir-consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/dataflow-ir-consistency.expected index e37a676565c..044257ed952 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/dataflow-ir-consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/dataflow-ir-consistency.expected @@ -1622,6 +1622,7 @@ postWithInFlow | cpp11.cpp:28:21:28:34 | temporary object [post update] | PostUpdateNode should not be the target of local flow. | | cpp11.cpp:29:7:29:16 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | cpp11.cpp:31:5:31:13 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | +| cpp11.cpp:36:5:36:14 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | cpp11.cpp:56:14:56:15 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | cpp11.cpp:56:14:56:15 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | cpp11.cpp:60:15:60:16 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | @@ -2230,6 +2231,8 @@ postWithInFlow | ltrbinopexpr.c:37:5:37:5 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | ltrbinopexpr.c:39:5:39:5 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | ltrbinopexpr.c:40:5:40:5 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | +| misc.c:10:5:10:13 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | +| misc.c:11:5:11:13 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:18:5:18:5 | i [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:19:5:19:5 | i [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:20:7:20:7 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | @@ -2289,6 +2292,7 @@ postWithInFlow | misc.c:200:24:200:27 | args [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:200:24:200:27 | array to pointer conversion [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:208:1:208:3 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | +| misc.c:210:5:210:20 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:216:3:216:26 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:220:3:220:5 | * ... [post update] | PostUpdateNode should not be the target of local flow. | | misc.c:220:4:220:5 | VariableAddress [post update] | PostUpdateNode should not be the target of local flow. | diff --git a/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected index 4a4bea025a8..69f6429c080 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/raw_consistency.expected @@ -148,6 +148,9 @@ thisArgumentIsNonPointer | pmcallexpr.cpp:8:2:8:15 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() | | pointer_to_member.cpp:23:5:23:54 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | | pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | +nonUniqueIRVariable +| misc.c:178:22:178:40 | VariableAddress: __PRETTY_FUNCTION__ | Variable address instruction 'VariableAddress: __PRETTY_FUNCTION__' has no associated variable, in function '$@'. | misc.c:177:6:177:14 | void magicvars() | void magicvars() | +| misc.c:179:27:179:34 | VariableAddress: __func__ | Variable address instruction 'VariableAddress: __func__' has no associated variable, in function '$@'. | misc.c:177:6:177:14 | void magicvars() | void magicvars() | missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected b/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected index 56e9f2e881a..83e97d12a7d 100644 --- a/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected +++ b/cpp/ql/test/library-tests/syntax-zoo/unaliased_ssa_consistency.expected @@ -98,6 +98,9 @@ thisArgumentIsNonPointer | pmcallexpr.cpp:8:2:8:15 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | array_delete.cpp:5:6:5:6 | void f() | void f() | | pointer_to_member.cpp:23:5:23:54 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | | pointer_to_member.cpp:24:5:24:49 | Call: call to expression | Call instruction 'Call: call to expression' has a `this` argument operand that is not an address, in function '$@'. | pointer_to_member.cpp:14:5:14:9 | int usePM(int PM::*) | int usePM(int PM::*) | +nonUniqueIRVariable +| misc.c:178:22:178:40 | VariableAddress: __PRETTY_FUNCTION__ | Variable address instruction 'VariableAddress: __PRETTY_FUNCTION__' has no associated variable, in function '$@'. | misc.c:177:6:177:14 | void magicvars() | void magicvars() | +| misc.c:179:27:179:34 | VariableAddress: __func__ | Variable address instruction 'VariableAddress: __func__' has no associated variable, in function '$@'. | misc.c:177:6:177:14 | void magicvars() | void magicvars() | missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/cpp/ql/test/library-tests/templates/CPP-203/decls.expected b/cpp/ql/test/library-tests/templates/CPP-203/decls.expected index b311041021d..33aa6114052 100644 --- a/cpp/ql/test/library-tests/templates/CPP-203/decls.expected +++ b/cpp/ql/test/library-tests/templates/CPP-203/decls.expected @@ -15,6 +15,7 @@ | test.cpp:3:8:3:8 | operator= | | test.cpp:3:8:3:10 | Str | | test.cpp:3:8:3:10 | Str | +| test.cpp:7:16:7:16 | T | | test.cpp:8:11:8:21 | val | | test.cpp:8:19:8:19 | val | | test.cpp:10:6:10:6 | f | diff --git a/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/diff_ir_expr.expected b/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/diff_ir_expr.expected index 7322e9723ec..b838a13d5af 100644 --- a/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/diff_ir_expr.expected +++ b/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/diff_ir_expr.expected @@ -1,18 +1,15 @@ | test.cpp:5:3:5:13 | ... = ... | test.cpp:5:3:5:13 | ... = ... | AST only | | test.cpp:6:3:6:13 | ... = ... | test.cpp:6:3:6:13 | ... = ... | AST only | | test.cpp:7:3:7:7 | ... = ... | test.cpp:7:3:7:7 | ... = ... | AST only | -| test.cpp:10:16:10:16 | 1 | test.cpp:10:16:10:16 | 1 | AST only | | test.cpp:16:3:16:24 | ... = ... | test.cpp:16:3:16:24 | ... = ... | AST only | | test.cpp:17:3:17:24 | ... = ... | test.cpp:17:3:17:24 | ... = ... | AST only | | test.cpp:18:3:18:7 | ... = ... | test.cpp:18:3:18:7 | ... = ... | AST only | -| test.cpp:21:16:21:16 | 2 | test.cpp:21:16:21:16 | 2 | AST only | | test.cpp:29:3:29:3 | x | test.cpp:31:3:31:3 | x | IR only | | test.cpp:29:3:29:24 | ... = ... | test.cpp:29:3:29:24 | ... = ... | AST only | | test.cpp:30:3:30:17 | call to change_global02 | test.cpp:30:3:30:17 | call to change_global02 | AST only | | test.cpp:31:3:31:3 | x | test.cpp:29:3:29:3 | x | IR only | | test.cpp:31:3:31:24 | ... = ... | test.cpp:31:3:31:24 | ... = ... | AST only | | test.cpp:32:3:32:7 | ... = ... | test.cpp:32:3:32:7 | ... = ... | AST only | -| test.cpp:35:16:35:16 | 3 | test.cpp:35:16:35:16 | 3 | AST only | | test.cpp:43:3:43:3 | x | test.cpp:45:3:45:3 | x | IR only | | test.cpp:43:3:43:24 | ... = ... | test.cpp:43:3:43:24 | ... = ... | AST only | | test.cpp:43:7:43:24 | ... + ... | test.cpp:45:7:45:24 | ... + ... | IR only | diff --git a/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/ir_gvn.expected b/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/ir_gvn.expected index 24dc1c1ab44..88e365023a1 100644 --- a/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/ir_gvn.expected +++ b/cpp/ql/test/library-tests/valuenumbering/GlobalValueNumbering/ir_gvn.expected @@ -69,6 +69,23 @@ test.cpp: # 1| v1_10(void) = AliasedUse : m1_3 # 1| v1_11(void) = ExitFunction : +# 10| int global01 +# 10| Block 0 +# 10| v10_1(void) = EnterFunction : +# 10| m10_2(unknown) = AliasedDefinition : +# 10| valnum = unique +# 10| r10_3(glval) = VariableAddress[global01] : +# 10| valnum = unique +# 10| r10_4(int) = Constant[1] : +# 10| valnum = m10_5, r10_4 +# 10| m10_5(int) = Store[global01] : &:r10_3, r10_4 +# 10| valnum = m10_5, r10_4 +# 10| m10_6(unknown) = Chi : total:m10_2, partial:m10_5 +# 10| valnum = unique +# 10| v10_7(void) = ReturnVoid : +# 10| v10_8(void) = AliasedUse : ~m10_6 +# 10| v10_9(void) = ExitFunction : + # 12| void test01(int, int) # 12| Block 0 # 12| v12_1(void) = EnterFunction : @@ -151,6 +168,23 @@ test.cpp: # 12| v12_10(void) = AliasedUse : m12_3 # 12| v12_11(void) = ExitFunction : +# 21| int global02 +# 21| Block 0 +# 21| v21_1(void) = EnterFunction : +# 21| m21_2(unknown) = AliasedDefinition : +# 21| valnum = unique +# 21| r21_3(glval) = VariableAddress[global02] : +# 21| valnum = unique +# 21| r21_4(int) = Constant[2] : +# 21| valnum = m21_5, r21_4 +# 21| m21_5(int) = Store[global02] : &:r21_3, r21_4 +# 21| valnum = m21_5, r21_4 +# 21| m21_6(unknown) = Chi : total:m21_2, partial:m21_5 +# 21| valnum = unique +# 21| v21_7(void) = ReturnVoid : +# 21| v21_8(void) = AliasedUse : ~m21_6 +# 21| v21_9(void) = ExitFunction : + # 25| void test02(int, int) # 25| Block 0 # 25| v25_1(void) = EnterFunction : @@ -240,6 +274,23 @@ test.cpp: # 25| v25_10(void) = AliasedUse : ~m30_4 # 25| v25_11(void) = ExitFunction : +# 35| int global03 +# 35| Block 0 +# 35| v35_1(void) = EnterFunction : +# 35| m35_2(unknown) = AliasedDefinition : +# 35| valnum = unique +# 35| r35_3(glval) = VariableAddress[global03] : +# 35| valnum = unique +# 35| r35_4(int) = Constant[3] : +# 35| valnum = m35_5, r35_4 +# 35| m35_5(int) = Store[global03] : &:r35_3, r35_4 +# 35| valnum = m35_5, r35_4 +# 35| m35_6(unknown) = Chi : total:m35_2, partial:m35_5 +# 35| valnum = unique +# 35| v35_7(void) = ReturnVoid : +# 35| v35_8(void) = AliasedUse : ~m35_6 +# 35| v35_9(void) = ExitFunction : + # 39| void test03(int, int, int*) # 39| Block 0 # 39| v39_1(void) = EnterFunction : diff --git a/cpp/ql/test/library-tests/variables/global/b.c b/cpp/ql/test/library-tests/variables/global/b.c index 86f23c6aae8..fb34092b820 100644 --- a/cpp/ql/test/library-tests/variables/global/b.c +++ b/cpp/ql/test/library-tests/variables/global/b.c @@ -1,3 +1,4 @@ #include "a.h" +#include "c.h" diff --git a/cpp/ql/test/library-tests/variables/global/c.c b/cpp/ql/test/library-tests/variables/global/c.c new file mode 100644 index 00000000000..0db4e3bc3e0 --- /dev/null +++ b/cpp/ql/test/library-tests/variables/global/c.c @@ -0,0 +1,12 @@ + +int js[] = { 1, 2, 3, 4 }; + +int ks[4] = { 1, 2, 3, 4 }; + +int ls[4] = { 1, 2, 3, 4 }; + +int iss[4][2] = { { 1, 2 }, { 3, 4 }, { 1, 2 }, { 3, 4 } }; + +typedef int int_alias; + +int_alias i; diff --git a/cpp/ql/test/library-tests/variables/global/c.h b/cpp/ql/test/library-tests/variables/global/c.h new file mode 100644 index 00000000000..bf03da07c8f --- /dev/null +++ b/cpp/ql/test/library-tests/variables/global/c.h @@ -0,0 +1,10 @@ + +extern int js[]; + +extern int ks[]; + +extern int ls[4]; + +extern int iss[][2]; + +extern int i; diff --git a/cpp/ql/test/library-tests/variables/global/d.cpp b/cpp/ql/test/library-tests/variables/global/d.cpp new file mode 100644 index 00000000000..62ebc3a8b61 --- /dev/null +++ b/cpp/ql/test/library-tests/variables/global/d.cpp @@ -0,0 +1,4 @@ + +namespace aNameSpace { + int xs[] = { 1, 2 }; +} diff --git a/cpp/ql/test/library-tests/variables/global/d.h b/cpp/ql/test/library-tests/variables/global/d.h new file mode 100644 index 00000000000..7be2f90115e --- /dev/null +++ b/cpp/ql/test/library-tests/variables/global/d.h @@ -0,0 +1,4 @@ + +namespace aNameSpace { + extern int xs[2]; +} diff --git a/cpp/ql/test/library-tests/variables/global/e.cpp b/cpp/ql/test/library-tests/variables/global/e.cpp new file mode 100644 index 00000000000..b2943f7fc67 --- /dev/null +++ b/cpp/ql/test/library-tests/variables/global/e.cpp @@ -0,0 +1,2 @@ + +#include "d.h" diff --git a/cpp/ql/test/library-tests/variables/global/vardecl.expected b/cpp/ql/test/library-tests/variables/global/vardecl.expected index 34339189e48..4bcb2cc938d 100644 --- a/cpp/ql/test/library-tests/variables/global/vardecl.expected +++ b/cpp/ql/test/library-tests/variables/global/vardecl.expected @@ -1,5 +1,17 @@ | a.c:4:5:4:6 | definition of is | array of {int} | 1 | | a.h:2:12:2:13 | declaration of is | array of 4 {int} | 1 | +| c.c:2:5:2:6 | definition of js | array of {int} | 1 | +| c.c:4:5:4:6 | definition of ks | array of 4 {int} | 1 | +| c.c:6:5:6:6 | definition of ls | array of 4 {int} | 1 | +| c.c:8:5:8:7 | definition of iss | array of 4 {array of 2 {int}} | 1 | +| c.c:12:11:12:11 | definition of i | typedef {int} as "int_alias" | 1 | +| c.h:2:12:2:13 | declaration of js | array of {int} | 1 | +| c.h:4:12:4:13 | declaration of ks | array of {int} | 1 | +| c.h:6:12:6:13 | declaration of ls | array of 4 {int} | 1 | +| c.h:8:12:8:14 | declaration of iss | array of {array of 2 {int}} | 1 | +| c.h:10:12:10:12 | declaration of i | int | 1 | +| d.cpp:3:7:3:8 | definition of xs | array of {int} | 1 | +| d.h:3:14:3:15 | declaration of xs | array of 2 {int} | 1 | | file://:0:0:0:0 | definition of fp_offset | unsigned int | 1 | | file://:0:0:0:0 | definition of gp_offset | unsigned int | 1 | | file://:0:0:0:0 | definition of overflow_arg_area | pointer to {void} | 1 | diff --git a/cpp/ql/test/library-tests/variables/global/variables.expected b/cpp/ql/test/library-tests/variables/global/variables.expected index 01ef82a0dcb..9d022a98264 100644 --- a/cpp/ql/test/library-tests/variables/global/variables.expected +++ b/cpp/ql/test/library-tests/variables/global/variables.expected @@ -1,4 +1,12 @@ | a.c:4:5:4:6 | is | array of {int} | 1 | +| c.c:2:5:2:6 | js | array of {int} | 1 | +| c.c:4:5:4:6 | ks | array of 4 {int} | 1 | +| c.c:6:5:6:6 | ls | array of 4 {int} | 1 | +| c.c:8:5:8:7 | iss | array of 4 {array of 2 {int}} | 1 | +| c.c:12:11:12:11 | i | typedef {int} as "int_alias" | 1 | +| d.cpp:3:7:3:8 | xs | array of {int} | 1 | +| file://:0:0:0:0 | (unnamed parameter 0) | reference to {const {struct __va_list_tag}} | 1 | +| file://:0:0:0:0 | (unnamed parameter 0) | rvalue reference to {struct __va_list_tag} | 1 | | file://:0:0:0:0 | fp_offset | unsigned int | 1 | | file://:0:0:0:0 | gp_offset | unsigned int | 1 | | file://:0:0:0:0 | overflow_arg_area | pointer to {void} | 1 | diff --git a/cpp/ql/test/library-tests/vector_types/builtin_ops.expected b/cpp/ql/test/library-tests/vector_types/builtin_ops.expected index 2c0dd9d0017..756ca2f1c17 100644 --- a/cpp/ql/test/library-tests/vector_types/builtin_ops.expected +++ b/cpp/ql/test/library-tests/vector_types/builtin_ops.expected @@ -1,2 +1,4 @@ +| vector_types2.cpp:10:15:10:42 | __builtin_shuffle | +| vector_types2.cpp:11:15:11:45 | __builtin_shuffle | | vector_types.cpp:31:13:31:49 | __builtin_shufflevector | | vector_types.cpp:58:10:58:52 | __builtin_convertvector | diff --git a/cpp/ql/test/library-tests/vector_types/variables.expected b/cpp/ql/test/library-tests/vector_types/variables.expected index 2494f192e9a..52fa98dd3f0 100644 --- a/cpp/ql/test/library-tests/vector_types/variables.expected +++ b/cpp/ql/test/library-tests/vector_types/variables.expected @@ -13,6 +13,12 @@ | file://:0:0:0:0 | gp_offset | gp_offset | file://:0:0:0:0 | unsigned int | 4 | | file://:0:0:0:0 | overflow_arg_area | overflow_arg_area | file://:0:0:0:0 | void * | 8 | | file://:0:0:0:0 | reg_save_area | reg_save_area | file://:0:0:0:0 | void * | 8 | +| vector_types2.cpp:5:7:5:7 | a | a | vector_types2.cpp:2:13:2:15 | v4i | 16 | +| vector_types2.cpp:6:7:6:7 | b | b | vector_types2.cpp:2:13:2:15 | v4i | 16 | +| vector_types2.cpp:7:7:7:12 | mask_1 | mask_1 | vector_types2.cpp:2:13:2:15 | v4i | 16 | +| vector_types2.cpp:8:7:8:12 | mask_2 | mask_2 | vector_types2.cpp:2:13:2:15 | v4i | 16 | +| vector_types2.cpp:10:7:10:11 | res_1 | res_1 | vector_types2.cpp:2:13:2:15 | v4i | 16 | +| vector_types2.cpp:11:7:11:11 | res_2 | res_2 | vector_types2.cpp:2:13:2:15 | v4i | 16 | | vector_types.cpp:9:21:9:21 | x | x | vector_types.cpp:6:15:6:17 | v4f | 16 | | vector_types.cpp:14:18:14:20 | lhs | lhs | vector_types.cpp:6:15:6:17 | v4f | 16 | | vector_types.cpp:14:27:14:29 | rhs | rhs | vector_types.cpp:6:15:6:17 | v4f | 16 | diff --git a/cpp/ql/test/library-tests/vector_types/vector_types2.cpp b/cpp/ql/test/library-tests/vector_types/vector_types2.cpp new file mode 100644 index 00000000000..d4233b28890 --- /dev/null +++ b/cpp/ql/test/library-tests/vector_types/vector_types2.cpp @@ -0,0 +1,12 @@ +// semmle-extractor-options: --gnu --gnu_version 80000 +typedef int v4i __attribute__((vector_size (16))); + +void f() { + v4i a = {1,2,3,4}; + v4i b = {5,6,7,8}; + v4i mask_1 = {3,0,1,2}; + v4i mask_2 = {3,5,4,2}; + + v4i res_1 = __builtin_shuffle(a, mask_1); + v4i res_2 = __builtin_shuffle(a, b, mask_2); +} diff --git a/cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/ImplicitDowncastFromBitfield.expected b/cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/LossyFunctionResultCast.expected similarity index 100% rename from cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/ImplicitDowncastFromBitfield.expected rename to cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/LossyFunctionResultCast.expected diff --git a/cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/ImplicitDowncastFromBitfield.qlref b/cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/LossyFunctionResultCast.qlref similarity index 100% rename from cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/ImplicitDowncastFromBitfield.qlref rename to cpp/ql/test/query-tests/Likely Bugs/Conversion/LossyFunctionResultCast/LossyFunctionResultCast.qlref diff --git a/cpp/ql/test/query-tests/Likely Bugs/Memory Management/ReturnStackAllocatedMemory/ReturnStackAllocatedMemory.expected b/cpp/ql/test/query-tests/Likely Bugs/Memory Management/ReturnStackAllocatedMemory/ReturnStackAllocatedMemory.expected index 6b8a59793a3..8f9d91fc1ad 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Memory Management/ReturnStackAllocatedMemory/ReturnStackAllocatedMemory.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Memory Management/ReturnStackAllocatedMemory/ReturnStackAllocatedMemory.expected @@ -100,12 +100,6 @@ edges | test.cpp:190:10:190:13 | Unary | test.cpp:190:10:190:13 | (reference dereference) | | test.cpp:190:10:190:13 | Unary | test.cpp:190:10:190:13 | (reference to) | | test.cpp:190:10:190:13 | pRef | test.cpp:190:10:190:13 | Unary | -| test.cpp:225:14:225:15 | px | test.cpp:226:10:226:11 | Load | -| test.cpp:226:10:226:11 | Load | test.cpp:226:10:226:11 | px | -| test.cpp:226:10:226:11 | px | test.cpp:226:10:226:11 | StoreValue | -| test.cpp:231:16:231:17 | & ... | test.cpp:225:14:225:15 | px | -| test.cpp:231:17:231:17 | Unary | test.cpp:231:16:231:17 | & ... | -| test.cpp:231:17:231:17 | x | test.cpp:231:17:231:17 | Unary | nodes | test.cpp:17:9:17:11 | & ... | semmle.label | & ... | | test.cpp:17:9:17:11 | StoreValue | semmle.label | StoreValue | @@ -221,13 +215,6 @@ nodes | test.cpp:190:10:190:13 | Unary | semmle.label | Unary | | test.cpp:190:10:190:13 | Unary | semmle.label | Unary | | test.cpp:190:10:190:13 | pRef | semmle.label | pRef | -| test.cpp:225:14:225:15 | px | semmle.label | px | -| test.cpp:226:10:226:11 | Load | semmle.label | Load | -| test.cpp:226:10:226:11 | StoreValue | semmle.label | StoreValue | -| test.cpp:226:10:226:11 | px | semmle.label | px | -| test.cpp:231:16:231:17 | & ... | semmle.label | & ... | -| test.cpp:231:17:231:17 | Unary | semmle.label | Unary | -| test.cpp:231:17:231:17 | x | semmle.label | x | #select | test.cpp:17:9:17:11 | StoreValue | test.cpp:17:10:17:11 | mc | test.cpp:17:9:17:11 | StoreValue | May return stack-allocated memory from $@. | test.cpp:17:10:17:11 | mc | mc | | test.cpp:25:9:25:11 | StoreValue | test.cpp:23:18:23:19 | mc | test.cpp:25:9:25:11 | StoreValue | May return stack-allocated memory from $@. | test.cpp:23:18:23:19 | mc | mc | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/globalVars/UncontrolledFormatString.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/globalVars/UncontrolledFormatString.expected index 7cefb7cfafc..885e188be64 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/globalVars/UncontrolledFormatString.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-134/semmle/globalVars/UncontrolledFormatString.expected @@ -1,4 +1,134 @@ edges +| globalVars.c:8:7:8:10 | copy | globalVars.c:27:9:27:12 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:27:9:27:12 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:27:9:27:12 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:30:15:30:18 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:30:15:30:18 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:30:15:30:18 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:33:15:33:18 | copy | +| globalVars.c:8:7:8:10 | copy | globalVars.c:35:11:35:14 | copy | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:38:9:38:13 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:38:9:38:13 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:38:9:38:13 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:41:15:41:19 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:41:15:41:19 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:41:15:41:19 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:44:15:44:19 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:9:7:9:11 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:11:22:11:25 | *argv | globalVars.c:12:2:12:15 | Store | +| globalVars.c:11:22:11:25 | argv | globalVars.c:12:2:12:15 | Store | +| globalVars.c:12:2:12:15 | Store | globalVars.c:8:7:8:10 | copy | +| globalVars.c:15:21:15:23 | val | globalVars.c:16:2:16:12 | Store | +| globalVars.c:16:2:16:12 | Store | globalVars.c:9:7:9:11 | copy2 | +| globalVars.c:19:25:19:27 | *str | globalVars.c:19:25:19:27 | ReturnIndirection | +| globalVars.c:24:11:24:14 | argv | globalVars.c:11:22:11:25 | argv | +| globalVars.c:24:11:24:14 | argv | globalVars.c:24:11:24:14 | argv | +| globalVars.c:24:11:24:14 | argv | globalVars.c:24:11:24:14 | argv | +| globalVars.c:24:11:24:14 | argv | globalVars.c:24:11:24:14 | argv indirection | +| globalVars.c:24:11:24:14 | argv | globalVars.c:24:11:24:14 | argv indirection | +| globalVars.c:24:11:24:14 | argv indirection | globalVars.c:11:22:11:25 | *argv | +| globalVars.c:27:9:27:12 | copy | globalVars.c:27:9:27:12 | (const char *)... | +| globalVars.c:27:9:27:12 | copy | globalVars.c:27:9:27:12 | copy | +| globalVars.c:27:9:27:12 | copy | globalVars.c:27:9:27:12 | copy indirection | +| globalVars.c:30:15:30:18 | copy | globalVars.c:30:15:30:18 | copy | +| globalVars.c:30:15:30:18 | copy | globalVars.c:30:15:30:18 | copy | +| globalVars.c:30:15:30:18 | copy | globalVars.c:30:15:30:18 | copy | +| globalVars.c:30:15:30:18 | copy | globalVars.c:30:15:30:18 | copy indirection | +| globalVars.c:30:15:30:18 | copy | globalVars.c:30:15:30:18 | copy indirection | +| globalVars.c:30:15:30:18 | copy | globalVars.c:35:11:35:14 | copy | +| globalVars.c:30:15:30:18 | copy indirection | globalVars.c:19:25:19:27 | *str | +| globalVars.c:30:15:30:18 | copy indirection | globalVars.c:30:15:30:18 | printWrapper output argument | +| globalVars.c:30:15:30:18 | printWrapper output argument | globalVars.c:35:11:35:14 | copy | +| globalVars.c:33:15:33:18 | copy | globalVars.c:35:11:35:14 | copy | +| globalVars.c:35:11:35:14 | copy | globalVars.c:15:21:15:23 | val | +| globalVars.c:35:11:35:14 | copy | globalVars.c:35:11:35:14 | copy | +| globalVars.c:38:9:38:13 | copy2 | globalVars.c:38:9:38:13 | (const char *)... | +| globalVars.c:38:9:38:13 | copy2 | globalVars.c:38:9:38:13 | copy2 | +| globalVars.c:38:9:38:13 | copy2 | globalVars.c:38:9:38:13 | copy2 indirection | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:41:15:41:19 | copy2 | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:41:15:41:19 | copy2 | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:41:15:41:19 | copy2 | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:41:15:41:19 | copy2 indirection | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:41:15:41:19 | copy2 indirection | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:50:9:50:13 | (const char *)... | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:50:9:50:13 | copy2 indirection | +| globalVars.c:41:15:41:19 | copy2 indirection | globalVars.c:19:25:19:27 | *str | +| globalVars.c:41:15:41:19 | copy2 indirection | globalVars.c:41:15:41:19 | printWrapper output argument | +| globalVars.c:41:15:41:19 | printWrapper output argument | globalVars.c:50:9:50:13 | (const char *)... | +| globalVars.c:41:15:41:19 | printWrapper output argument | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:41:15:41:19 | printWrapper output argument | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:41:15:41:19 | printWrapper output argument | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:41:15:41:19 | printWrapper output argument | globalVars.c:50:9:50:13 | copy2 indirection | +| globalVars.c:44:15:44:19 | copy2 | globalVars.c:50:9:50:13 | (const char *)... | +| globalVars.c:44:15:44:19 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:44:15:44:19 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:44:15:44:19 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:44:15:44:19 | copy2 | globalVars.c:50:9:50:13 | copy2 indirection | +| globalVars.c:50:9:50:13 | copy2 | globalVars.c:50:9:50:13 | (const char *)... | +| globalVars.c:50:9:50:13 | copy2 | globalVars.c:50:9:50:13 | copy2 | +| globalVars.c:50:9:50:13 | copy2 | globalVars.c:50:9:50:13 | copy2 indirection | subpaths +| globalVars.c:30:15:30:18 | copy indirection | globalVars.c:19:25:19:27 | *str | globalVars.c:19:25:19:27 | ReturnIndirection | globalVars.c:30:15:30:18 | printWrapper output argument | +| globalVars.c:41:15:41:19 | copy2 indirection | globalVars.c:19:25:19:27 | *str | globalVars.c:19:25:19:27 | ReturnIndirection | globalVars.c:41:15:41:19 | printWrapper output argument | nodes +| globalVars.c:8:7:8:10 | copy | semmle.label | copy | +| globalVars.c:9:7:9:11 | copy2 | semmle.label | copy2 | +| globalVars.c:11:22:11:25 | *argv | semmle.label | *argv | +| globalVars.c:11:22:11:25 | argv | semmle.label | argv | +| globalVars.c:12:2:12:15 | Store | semmle.label | Store | +| globalVars.c:15:21:15:23 | val | semmle.label | val | +| globalVars.c:16:2:16:12 | Store | semmle.label | Store | +| globalVars.c:19:25:19:27 | *str | semmle.label | *str | +| globalVars.c:19:25:19:27 | ReturnIndirection | semmle.label | ReturnIndirection | +| globalVars.c:24:11:24:14 | argv | semmle.label | argv | +| globalVars.c:24:11:24:14 | argv | semmle.label | argv | +| globalVars.c:24:11:24:14 | argv | semmle.label | argv | +| globalVars.c:24:11:24:14 | argv indirection | semmle.label | argv indirection | +| globalVars.c:27:9:27:12 | (const char *)... | semmle.label | (const char *)... | +| globalVars.c:27:9:27:12 | (const char *)... | semmle.label | (const char *)... | +| globalVars.c:27:9:27:12 | copy | semmle.label | copy | +| globalVars.c:27:9:27:12 | copy | semmle.label | copy | +| globalVars.c:27:9:27:12 | copy | semmle.label | copy | +| globalVars.c:27:9:27:12 | copy indirection | semmle.label | copy indirection | +| globalVars.c:27:9:27:12 | copy indirection | semmle.label | copy indirection | +| globalVars.c:30:15:30:18 | copy | semmle.label | copy | +| globalVars.c:30:15:30:18 | copy | semmle.label | copy | +| globalVars.c:30:15:30:18 | copy | semmle.label | copy | +| globalVars.c:30:15:30:18 | copy indirection | semmle.label | copy indirection | +| globalVars.c:30:15:30:18 | copy indirection | semmle.label | copy indirection | +| globalVars.c:30:15:30:18 | printWrapper output argument | semmle.label | printWrapper output argument | +| globalVars.c:33:15:33:18 | copy | semmle.label | copy | +| globalVars.c:35:11:35:14 | copy | semmle.label | copy | +| globalVars.c:35:11:35:14 | copy | semmle.label | copy | +| globalVars.c:38:9:38:13 | (const char *)... | semmle.label | (const char *)... | +| globalVars.c:38:9:38:13 | (const char *)... | semmle.label | (const char *)... | +| globalVars.c:38:9:38:13 | copy2 | semmle.label | copy2 | +| globalVars.c:38:9:38:13 | copy2 | semmle.label | copy2 | +| globalVars.c:38:9:38:13 | copy2 | semmle.label | copy2 | +| globalVars.c:38:9:38:13 | copy2 indirection | semmle.label | copy2 indirection | +| globalVars.c:38:9:38:13 | copy2 indirection | semmle.label | copy2 indirection | +| globalVars.c:41:15:41:19 | copy2 | semmle.label | copy2 | +| globalVars.c:41:15:41:19 | copy2 | semmle.label | copy2 | +| globalVars.c:41:15:41:19 | copy2 | semmle.label | copy2 | +| globalVars.c:41:15:41:19 | copy2 indirection | semmle.label | copy2 indirection | +| globalVars.c:41:15:41:19 | copy2 indirection | semmle.label | copy2 indirection | +| globalVars.c:41:15:41:19 | printWrapper output argument | semmle.label | printWrapper output argument | +| globalVars.c:44:15:44:19 | copy2 | semmle.label | copy2 | +| globalVars.c:50:9:50:13 | (const char *)... | semmle.label | (const char *)... | +| globalVars.c:50:9:50:13 | (const char *)... | semmle.label | (const char *)... | +| globalVars.c:50:9:50:13 | copy2 | semmle.label | copy2 | +| globalVars.c:50:9:50:13 | copy2 | semmle.label | copy2 | +| globalVars.c:50:9:50:13 | copy2 | semmle.label | copy2 | +| globalVars.c:50:9:50:13 | copy2 indirection | semmle.label | copy2 indirection | +| globalVars.c:50:9:50:13 | copy2 indirection | semmle.label | copy2 indirection | #select +| globalVars.c:27:9:27:12 | copy | globalVars.c:24:11:24:14 | argv | globalVars.c:27:9:27:12 | copy | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | globalVars.c:24:11:24:14 | argv | argv | +| globalVars.c:30:15:30:18 | copy | globalVars.c:24:11:24:14 | argv | globalVars.c:30:15:30:18 | copy | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(str), which calls printf(format) | globalVars.c:24:11:24:14 | argv | argv | +| globalVars.c:38:9:38:13 | copy2 | globalVars.c:24:11:24:14 | argv | globalVars.c:38:9:38:13 | copy2 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | globalVars.c:24:11:24:14 | argv | argv | +| globalVars.c:41:15:41:19 | copy2 | globalVars.c:24:11:24:14 | argv | globalVars.c:41:15:41:19 | copy2 | The value of this argument may come from $@ and is being used as a formatting argument to printWrapper(str), which calls printf(format) | globalVars.c:24:11:24:14 | argv | argv | +| globalVars.c:50:9:50:13 | copy2 | globalVars.c:24:11:24:14 | argv | globalVars.c:50:9:50:13 | copy2 | The value of this argument may come from $@ and is being used as a formatting argument to printf(format) | globalVars.c:24:11:24:14 | argv | argv | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/ExposedSystemData.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/ExposedSystemData.expected index 80b195bd0bd..11ec8e849a5 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/ExposedSystemData.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/ExposedSystemData.expected @@ -1,4 +1,8 @@ edges +| tests2.cpp:50:13:50:19 | global1 | tests2.cpp:82:14:82:20 | global1 | +| tests2.cpp:50:13:50:19 | global1 | tests2.cpp:82:14:82:20 | global1 | +| tests2.cpp:50:23:50:43 | Store | tests2.cpp:50:13:50:19 | global1 | +| tests2.cpp:50:23:50:43 | call to mysql_get_client_info | tests2.cpp:50:23:50:43 | Store | | tests2.cpp:63:13:63:18 | call to getenv | tests2.cpp:63:13:63:26 | (const char *)... | | tests2.cpp:64:13:64:18 | call to getenv | tests2.cpp:64:13:64:26 | (const char *)... | | tests2.cpp:65:13:65:18 | call to getenv | tests2.cpp:65:13:65:30 | (const char *)... | @@ -6,6 +10,8 @@ edges | tests2.cpp:78:18:78:38 | call to mysql_get_client_info | tests2.cpp:81:14:81:19 | (const char *)... | | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | +| tests2.cpp:82:14:82:20 | global1 | tests2.cpp:82:14:82:20 | global1 | +| tests2.cpp:82:14:82:20 | global1 | tests2.cpp:82:14:82:20 | global1 | | tests2.cpp:91:42:91:45 | str1 | tests2.cpp:93:14:93:17 | str1 | | tests2.cpp:101:8:101:15 | call to getpwuid | tests2.cpp:102:14:102:15 | pw | | tests2.cpp:109:3:109:4 | c1 [post update] [ptr] | tests2.cpp:111:14:111:15 | c1 [read] [ptr] | @@ -23,6 +29,9 @@ edges | tests_sysconf.cpp:36:21:36:27 | confstr output argument | tests_sysconf.cpp:39:19:39:25 | (const void *)... | | tests_sysconf.cpp:36:21:36:27 | confstr output argument | tests_sysconf.cpp:39:19:39:25 | pathbuf | nodes +| tests2.cpp:50:13:50:19 | global1 | semmle.label | global1 | +| tests2.cpp:50:23:50:43 | Store | semmle.label | Store | +| tests2.cpp:50:23:50:43 | call to mysql_get_client_info | semmle.label | call to mysql_get_client_info | | tests2.cpp:63:13:63:18 | call to getenv | semmle.label | call to getenv | | tests2.cpp:63:13:63:18 | call to getenv | semmle.label | call to getenv | | tests2.cpp:63:13:63:26 | (const char *)... | semmle.label | (const char *)... | @@ -39,6 +48,8 @@ nodes | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | semmle.label | call to mysql_get_client_info | | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | semmle.label | call to mysql_get_client_info | | tests2.cpp:81:14:81:19 | (const char *)... | semmle.label | (const char *)... | +| tests2.cpp:82:14:82:20 | global1 | semmle.label | global1 | +| tests2.cpp:82:14:82:20 | global1 | semmle.label | global1 | | tests2.cpp:91:42:91:45 | str1 | semmle.label | str1 | | tests2.cpp:93:14:93:17 | str1 | semmle.label | str1 | | tests2.cpp:101:8:101:15 | call to getpwuid | semmle.label | call to getpwuid | @@ -70,6 +81,7 @@ subpaths | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | This operation exposes system data from $@. | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | call to mysql_get_client_info | | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | This operation exposes system data from $@. | tests2.cpp:80:14:80:34 | call to mysql_get_client_info | call to mysql_get_client_info | | tests2.cpp:81:14:81:19 | (const char *)... | tests2.cpp:78:18:78:38 | call to mysql_get_client_info | tests2.cpp:81:14:81:19 | (const char *)... | This operation exposes system data from $@. | tests2.cpp:78:18:78:38 | call to mysql_get_client_info | call to mysql_get_client_info | +| tests2.cpp:82:14:82:20 | global1 | tests2.cpp:50:23:50:43 | call to mysql_get_client_info | tests2.cpp:82:14:82:20 | global1 | This operation exposes system data from $@. | tests2.cpp:50:23:50:43 | call to mysql_get_client_info | call to mysql_get_client_info | | tests2.cpp:93:14:93:17 | str1 | tests2.cpp:91:42:91:45 | str1 | tests2.cpp:93:14:93:17 | str1 | This operation exposes system data from $@. | tests2.cpp:91:42:91:45 | str1 | str1 | | tests2.cpp:102:14:102:15 | pw | tests2.cpp:101:8:101:15 | call to getpwuid | tests2.cpp:102:14:102:15 | pw | This operation exposes system data from $@. | tests2.cpp:101:8:101:15 | call to getpwuid | call to getpwuid | | tests2.cpp:111:14:111:19 | (const char *)... | tests2.cpp:109:12:109:17 | call to getenv | tests2.cpp:111:14:111:19 | (const char *)... | This operation exposes system data from $@. | tests2.cpp:109:12:109:17 | call to getenv | call to getenv | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/PotentiallyExposedSystemData.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/PotentiallyExposedSystemData.expected index 62fe44dcc23..ff10a3b9c1c 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/PotentiallyExposedSystemData.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/PotentiallyExposedSystemData.expected @@ -5,6 +5,14 @@ edges | tests.cpp:57:18:57:23 | call to getenv | tests.cpp:57:18:57:39 | (const char_type *)... | | tests.cpp:58:41:58:46 | call to getenv | tests.cpp:58:41:58:62 | (const char_type *)... | | tests.cpp:59:43:59:48 | call to getenv | tests.cpp:59:43:59:64 | (const char *)... | +| tests.cpp:62:7:62:18 | global_token | tests.cpp:69:17:69:28 | global_token | +| tests.cpp:62:7:62:18 | global_token | tests.cpp:71:27:71:38 | global_token | +| tests.cpp:62:7:62:18 | global_token | tests.cpp:71:27:71:38 | global_token | +| tests.cpp:62:22:62:27 | Store | tests.cpp:62:7:62:18 | global_token | +| tests.cpp:62:22:62:27 | call to getenv | tests.cpp:62:22:62:27 | Store | +| tests.cpp:69:17:69:28 | global_token | tests.cpp:73:27:73:31 | maybe | +| tests.cpp:71:27:71:38 | global_token | tests.cpp:71:27:71:38 | global_token | +| tests.cpp:71:27:71:38 | global_token | tests.cpp:71:27:71:38 | global_token | | tests.cpp:86:29:86:31 | *msg | tests.cpp:88:15:88:17 | msg | | tests.cpp:86:29:86:31 | msg | tests.cpp:88:15:88:17 | msg | | tests.cpp:97:13:97:18 | call to getenv | tests.cpp:97:13:97:34 | (const char *)... | @@ -52,6 +60,13 @@ nodes | tests.cpp:59:43:59:48 | call to getenv | semmle.label | call to getenv | | tests.cpp:59:43:59:48 | call to getenv | semmle.label | call to getenv | | tests.cpp:59:43:59:64 | (const char *)... | semmle.label | (const char *)... | +| tests.cpp:62:7:62:18 | global_token | semmle.label | global_token | +| tests.cpp:62:22:62:27 | Store | semmle.label | Store | +| tests.cpp:62:22:62:27 | call to getenv | semmle.label | call to getenv | +| tests.cpp:69:17:69:28 | global_token | semmle.label | global_token | +| tests.cpp:71:27:71:38 | global_token | semmle.label | global_token | +| tests.cpp:71:27:71:38 | global_token | semmle.label | global_token | +| tests.cpp:73:27:73:31 | maybe | semmle.label | maybe | | tests.cpp:86:29:86:31 | *msg | semmle.label | *msg | | tests.cpp:86:29:86:31 | msg | semmle.label | msg | | tests.cpp:88:15:88:17 | msg | semmle.label | msg | @@ -97,6 +112,8 @@ subpaths | tests.cpp:58:41:58:62 | (const char_type *)... | tests.cpp:58:41:58:46 | call to getenv | tests.cpp:58:41:58:62 | (const char_type *)... | This operation potentially exposes sensitive system data from $@. | tests.cpp:58:41:58:46 | call to getenv | call to getenv | | tests.cpp:59:43:59:48 | call to getenv | tests.cpp:59:43:59:48 | call to getenv | tests.cpp:59:43:59:48 | call to getenv | This operation potentially exposes sensitive system data from $@. | tests.cpp:59:43:59:48 | call to getenv | call to getenv | | tests.cpp:59:43:59:64 | (const char *)... | tests.cpp:59:43:59:48 | call to getenv | tests.cpp:59:43:59:64 | (const char *)... | This operation potentially exposes sensitive system data from $@. | tests.cpp:59:43:59:48 | call to getenv | call to getenv | +| tests.cpp:71:27:71:38 | global_token | tests.cpp:62:22:62:27 | call to getenv | tests.cpp:71:27:71:38 | global_token | This operation potentially exposes sensitive system data from $@. | tests.cpp:62:22:62:27 | call to getenv | call to getenv | +| tests.cpp:73:27:73:31 | maybe | tests.cpp:62:22:62:27 | call to getenv | tests.cpp:73:27:73:31 | maybe | This operation potentially exposes sensitive system data from $@. | tests.cpp:62:22:62:27 | call to getenv | call to getenv | | tests.cpp:88:15:88:17 | msg | tests.cpp:97:13:97:18 | call to getenv | tests.cpp:88:15:88:17 | msg | This operation potentially exposes sensitive system data from $@. | tests.cpp:97:13:97:18 | call to getenv | call to getenv | | tests.cpp:97:13:97:18 | call to getenv | tests.cpp:97:13:97:18 | call to getenv | tests.cpp:97:13:97:18 | call to getenv | This operation potentially exposes sensitive system data from $@. | tests.cpp:97:13:97:18 | call to getenv | call to getenv | | tests.cpp:97:13:97:34 | (const char *)... | tests.cpp:97:13:97:18 | call to getenv | tests.cpp:97:13:97:34 | (const char *)... | This operation potentially exposes sensitive system data from $@. | tests.cpp:97:13:97:18 | call to getenv | call to getenv | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests.cpp index e61fc582fc3..843d579386b 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests.cpp @@ -68,9 +68,9 @@ void test2(bool cond) maybe = cond ? global_token : global_other; - printf("token = '%s'\n", global_token); // BAD: outputs SECRET_TOKEN environment variable [NOT DETECTED] + printf("token = '%s'\n", global_token); // BAD: outputs SECRET_TOKEN environment variable printf("other = '%s'\n", global_other); - printf("maybe = '%s'\n", maybe); // BAD: may output SECRET_TOKEN environment variable [NOT DETECTED] + printf("maybe = '%s'\n", maybe); // BAD: may output SECRET_TOKEN environment variable } void test3() diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests2.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests2.cpp index 763f1ecfafc..e1399eab343 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests2.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-497/semmle/tests/tests2.cpp @@ -79,7 +79,7 @@ void test1() send(sock, mysql_get_client_info(), val(), val()); // BAD send(sock, buffer, val(), val()); // BAD - send(sock, global1, val(), val()); // BAD [NOT DETECTED] + send(sock, global1, val(), val()); // BAD send(sock, global2, val(), val()); // GOOD: not system data } diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected b/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected index a4db6155e31..7403cba893a 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-611/XXE.expected @@ -2,11 +2,26 @@ edges | tests2.cpp:20:17:20:31 | SAXParser output argument | tests2.cpp:22:2:22:2 | p | | tests2.cpp:33:17:33:31 | SAXParser output argument | tests2.cpp:37:2:37:2 | p | | tests3.cpp:23:21:23:53 | call to createXMLReader | tests3.cpp:25:2:25:2 | p | +| tests3.cpp:35:16:35:20 | p_3_3 | tests3.cpp:38:2:38:6 | p_3_3 | +| tests3.cpp:35:24:35:56 | Store | tests3.cpp:35:16:35:20 | p_3_3 | +| tests3.cpp:35:24:35:56 | call to createXMLReader | tests3.cpp:35:24:35:56 | Store | +| tests3.cpp:41:16:41:20 | p_3_4 | tests3.cpp:45:2:45:6 | p_3_4 | +| tests3.cpp:41:24:41:56 | Store | tests3.cpp:41:16:41:20 | p_3_4 | +| tests3.cpp:41:24:41:56 | call to createXMLReader | tests3.cpp:41:24:41:56 | Store | +| tests3.cpp:48:16:48:20 | p_3_5 | tests3.cpp:56:2:56:6 | p_3_5 | +| tests3.cpp:48:24:48:56 | Store | tests3.cpp:48:16:48:20 | p_3_5 | +| tests3.cpp:48:24:48:56 | call to createXMLReader | tests3.cpp:48:24:48:56 | Store | | tests3.cpp:60:21:60:53 | call to createXMLReader | tests3.cpp:63:2:63:2 | p | | tests3.cpp:67:21:67:53 | call to createXMLReader | tests3.cpp:70:2:70:2 | p | | tests5.cpp:27:25:27:38 | call to createLSParser | tests5.cpp:29:2:29:2 | p | | tests5.cpp:40:25:40:38 | call to createLSParser | tests5.cpp:43:2:43:2 | p | | tests5.cpp:55:25:55:38 | call to createLSParser | tests5.cpp:59:2:59:2 | p | +| tests5.cpp:63:14:63:17 | g_p1 | tests5.cpp:76:2:76:5 | g_p1 | +| tests5.cpp:63:21:63:24 | g_p2 | tests5.cpp:77:2:77:5 | g_p2 | +| tests5.cpp:67:2:67:32 | Store | tests5.cpp:63:14:63:17 | g_p1 | +| tests5.cpp:67:17:67:30 | call to createLSParser | tests5.cpp:67:2:67:32 | Store | +| tests5.cpp:70:2:70:32 | Store | tests5.cpp:63:21:63:24 | g_p2 | +| tests5.cpp:70:17:70:30 | call to createLSParser | tests5.cpp:70:2:70:32 | Store | | tests5.cpp:81:25:81:38 | call to createLSParser | tests5.cpp:83:2:83:2 | p | | tests5.cpp:81:25:81:38 | call to createLSParser | tests5.cpp:83:2:83:2 | p | | tests5.cpp:83:2:83:2 | p | tests5.cpp:85:2:85:2 | p | @@ -46,6 +61,18 @@ nodes | tests2.cpp:37:2:37:2 | p | semmle.label | p | | tests3.cpp:23:21:23:53 | call to createXMLReader | semmle.label | call to createXMLReader | | tests3.cpp:25:2:25:2 | p | semmle.label | p | +| tests3.cpp:35:16:35:20 | p_3_3 | semmle.label | p_3_3 | +| tests3.cpp:35:24:35:56 | Store | semmle.label | Store | +| tests3.cpp:35:24:35:56 | call to createXMLReader | semmle.label | call to createXMLReader | +| tests3.cpp:38:2:38:6 | p_3_3 | semmle.label | p_3_3 | +| tests3.cpp:41:16:41:20 | p_3_4 | semmle.label | p_3_4 | +| tests3.cpp:41:24:41:56 | Store | semmle.label | Store | +| tests3.cpp:41:24:41:56 | call to createXMLReader | semmle.label | call to createXMLReader | +| tests3.cpp:45:2:45:6 | p_3_4 | semmle.label | p_3_4 | +| tests3.cpp:48:16:48:20 | p_3_5 | semmle.label | p_3_5 | +| tests3.cpp:48:24:48:56 | Store | semmle.label | Store | +| tests3.cpp:48:24:48:56 | call to createXMLReader | semmle.label | call to createXMLReader | +| tests3.cpp:56:2:56:6 | p_3_5 | semmle.label | p_3_5 | | tests3.cpp:60:21:60:53 | call to createXMLReader | semmle.label | call to createXMLReader | | tests3.cpp:63:2:63:2 | p | semmle.label | p | | tests3.cpp:67:21:67:53 | call to createXMLReader | semmle.label | call to createXMLReader | @@ -61,6 +88,14 @@ nodes | tests5.cpp:43:2:43:2 | p | semmle.label | p | | tests5.cpp:55:25:55:38 | call to createLSParser | semmle.label | call to createLSParser | | tests5.cpp:59:2:59:2 | p | semmle.label | p | +| tests5.cpp:63:14:63:17 | g_p1 | semmle.label | g_p1 | +| tests5.cpp:63:21:63:24 | g_p2 | semmle.label | g_p2 | +| tests5.cpp:67:2:67:32 | Store | semmle.label | Store | +| tests5.cpp:67:17:67:30 | call to createLSParser | semmle.label | call to createLSParser | +| tests5.cpp:70:2:70:32 | Store | semmle.label | Store | +| tests5.cpp:70:17:70:30 | call to createLSParser | semmle.label | call to createLSParser | +| tests5.cpp:76:2:76:5 | g_p1 | semmle.label | g_p1 | +| tests5.cpp:77:2:77:5 | g_p2 | semmle.label | g_p2 | | tests5.cpp:81:25:81:38 | call to createLSParser | semmle.label | call to createLSParser | | tests5.cpp:83:2:83:2 | p | semmle.label | p | | tests5.cpp:83:2:83:2 | p | semmle.label | p | @@ -108,6 +143,9 @@ subpaths | tests2.cpp:22:2:22:2 | p | tests2.cpp:20:17:20:31 | SAXParser output argument | tests2.cpp:22:2:22:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests2.cpp:20:17:20:31 | SAXParser output argument | XML parser | | tests2.cpp:37:2:37:2 | p | tests2.cpp:33:17:33:31 | SAXParser output argument | tests2.cpp:37:2:37:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests2.cpp:33:17:33:31 | SAXParser output argument | XML parser | | tests3.cpp:25:2:25:2 | p | tests3.cpp:23:21:23:53 | call to createXMLReader | tests3.cpp:25:2:25:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:23:21:23:53 | call to createXMLReader | XML parser | +| tests3.cpp:38:2:38:6 | p_3_3 | tests3.cpp:35:24:35:56 | call to createXMLReader | tests3.cpp:38:2:38:6 | p_3_3 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:35:24:35:56 | call to createXMLReader | XML parser | +| tests3.cpp:45:2:45:6 | p_3_4 | tests3.cpp:41:24:41:56 | call to createXMLReader | tests3.cpp:45:2:45:6 | p_3_4 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:41:24:41:56 | call to createXMLReader | XML parser | +| tests3.cpp:56:2:56:6 | p_3_5 | tests3.cpp:48:24:48:56 | call to createXMLReader | tests3.cpp:56:2:56:6 | p_3_5 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:48:24:48:56 | call to createXMLReader | XML parser | | tests3.cpp:63:2:63:2 | p | tests3.cpp:60:21:60:53 | call to createXMLReader | tests3.cpp:63:2:63:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:60:21:60:53 | call to createXMLReader | XML parser | | tests3.cpp:70:2:70:2 | p | tests3.cpp:67:21:67:53 | call to createXMLReader | tests3.cpp:70:2:70:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests3.cpp:67:21:67:53 | call to createXMLReader | XML parser | | tests4.cpp:26:34:26:48 | (int)... | tests4.cpp:26:34:26:48 | (int)... | tests4.cpp:26:34:26:48 | (int)... | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests4.cpp:26:34:26:48 | (int)... | XML parser | @@ -118,6 +156,8 @@ subpaths | tests5.cpp:29:2:29:2 | p | tests5.cpp:27:25:27:38 | call to createLSParser | tests5.cpp:29:2:29:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:27:25:27:38 | call to createLSParser | XML parser | | tests5.cpp:43:2:43:2 | p | tests5.cpp:40:25:40:38 | call to createLSParser | tests5.cpp:43:2:43:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:40:25:40:38 | call to createLSParser | XML parser | | tests5.cpp:59:2:59:2 | p | tests5.cpp:55:25:55:38 | call to createLSParser | tests5.cpp:59:2:59:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:55:25:55:38 | call to createLSParser | XML parser | +| tests5.cpp:76:2:76:5 | g_p1 | tests5.cpp:67:17:67:30 | call to createLSParser | tests5.cpp:76:2:76:5 | g_p1 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:67:17:67:30 | call to createLSParser | XML parser | +| tests5.cpp:77:2:77:5 | g_p2 | tests5.cpp:70:17:70:30 | call to createLSParser | tests5.cpp:77:2:77:5 | g_p2 | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:70:17:70:30 | call to createLSParser | XML parser | | tests5.cpp:83:2:83:2 | p | tests5.cpp:81:25:81:38 | call to createLSParser | tests5.cpp:83:2:83:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:81:25:81:38 | call to createLSParser | XML parser | | tests5.cpp:89:2:89:2 | p | tests5.cpp:81:25:81:38 | call to createLSParser | tests5.cpp:89:2:89:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests5.cpp:81:25:81:38 | call to createLSParser | XML parser | | tests.cpp:17:2:17:2 | p | tests.cpp:15:23:15:43 | XercesDOMParser output argument | tests.cpp:17:2:17:2 | p | This $@ is not configured to prevent an XML external entity (XXE) attack. | tests.cpp:15:23:15:43 | XercesDOMParser output argument | XML parser | diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests3.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests3.cpp index 15e518daf13..8af560a8e6d 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests3.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests3.cpp @@ -35,14 +35,14 @@ void test3_2(InputSource &data) { SAX2XMLReader *p_3_3 = XMLReaderFactory::createXMLReader(); void test3_3(InputSource &data) { - p_3_3->parse(data); // BAD (parser not correctly configured) [NOT DETECTED] + p_3_3->parse(data); // BAD (parser not correctly configured) } SAX2XMLReader *p_3_4 = XMLReaderFactory::createXMLReader(); void test3_4(InputSource &data) { p_3_4->setFeature(XMLUni::fgXercesDisableDefaultEntityResolution, true); - p_3_4->parse(data); // GOOD + p_3_4->parse(data); // GOOD [FALSE POSITIVE] } SAX2XMLReader *p_3_5 = XMLReaderFactory::createXMLReader(); @@ -53,7 +53,7 @@ void test3_5_init() { void test3_5(InputSource &data) { test3_5_init(); - p_3_5->parse(data); // GOOD + p_3_5->parse(data); // GOOD [FALSE POSITIVE] } void test3_6(InputSource &data) { diff --git a/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests5.cpp b/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests5.cpp index 99027c9bd93..0d55be455da 100644 --- a/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests5.cpp +++ b/cpp/ql/test/query-tests/Security/CWE/CWE-611/tests5.cpp @@ -73,8 +73,8 @@ void test5_6_init() { void test5_6() { test5_6_init(); - g_p1->parse(*g_data); // GOOD - g_p2->parse(*g_data); // BAD (parser not correctly configured) [NOT DETECTED] + g_p1->parse(*g_data); // GOOD [FALSE POSITIVE] + g_p2->parse(*g_data); // BAD (parser not correctly configured) } void test5_7(DOMImplementationLS *impl, InputSource &data) { diff --git a/csharp/codeql-extractor.yml b/csharp/codeql-extractor.yml index 5d498049a8a..4e1fa7934ce 100644 --- a/csharp/codeql-extractor.yml +++ b/csharp/codeql-extractor.yml @@ -4,12 +4,6 @@ version: 1.22.1 column_kind: "utf16" extra_env_vars: DOTNET_GENERATE_ASPNET_CERTIFICATE: "false" - COR_ENABLE_PROFILING: "1" - COR_PROFILER: "{A3C70A64-7D41-4A94-A3F6-FD47D9259997}" - COR_PROFILER_PATH_64: "${env.CODEQL_EXTRACTOR_CSHARP_ROOT}/tools/${env.CODEQL_PLATFORM}/clrtracer64${env.CODEQL_PLATFORM_DLL_EXTENSION}" - CORECLR_ENABLE_PROFILING: "1" - CORECLR_PROFILER: "{A3C70A64-7D41-4A94-A3F6-FD47D9259997}" - CORECLR_PROFILER_PATH_64: "${env.CODEQL_EXTRACTOR_CSHARP_ROOT}/tools/${env.CODEQL_PLATFORM}/clrtracer64${env.CODEQL_PLATFORM_DLL_EXTENSION}" file_types: - name: cs display_name: C# sources diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/ImplicitMainMethod.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ImplicitMainMethod.cs new file mode 100644 index 00000000000..357912bead4 --- /dev/null +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/ImplicitMainMethod.cs @@ -0,0 +1,36 @@ +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using Semmle.Extraction.CSharp.Entities.Statements; +using System.Collections.Generic; +using System.IO; + +namespace Semmle.Extraction.CSharp.Entities +{ + internal class ImplicitMainMethod : OrdinaryMethod + { + private readonly List globalStatements; + + public ImplicitMainMethod(Context cx, IMethodSymbol symbol, List globalStatements) + : base(cx, symbol) + { + this.globalStatements = globalStatements; + } + + protected override void PopulateMethodBody(TextWriter trapFile) + { + GlobalStatementsBlock.Create(Context, this, globalStatements); + } + + public static ImplicitMainMethod Create(Context cx, IMethodSymbol method, List globalStatements) + { + return ImplicitMainMethodFactory.Instance.CreateEntity(cx, method, (method, globalStatements)); + } + + private class ImplicitMainMethodFactory : CachedEntityFactory<(IMethodSymbol, List), ImplicitMainMethod> + { + public static ImplicitMainMethodFactory Instance { get; } = new ImplicitMainMethodFactory(); + + public override ImplicitMainMethod Create(Context cx, (IMethodSymbol, List) init) => new ImplicitMainMethod(cx, init.Item1, init.Item2); + } + } +} diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs index 8777e95d5d0..cd765159769 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Method.cs @@ -46,7 +46,7 @@ namespace Semmle.Extraction.CSharp.Entities // so there's nothing to extract. } - private void PopulateMethodBody(TextWriter trapFile) + protected virtual void PopulateMethodBody(TextWriter trapFile) { if (!IsSourceDeclaration) return; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs index 576eb913433..4de48236707 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/OrdinaryMethod.cs @@ -8,7 +8,7 @@ namespace Semmle.Extraction.CSharp.Entities { internal class OrdinaryMethod : Method { - private OrdinaryMethod(Context cx, IMethodSymbol init) + protected OrdinaryMethod(Context cx, IMethodSymbol init) : base(cx, init) { } public override string Name => Symbol.GetName(); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/GlobalStatementsBlock.cs b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/GlobalStatementsBlock.cs index 0b31313278a..91301780ed4 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/GlobalStatementsBlock.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Entities/Statements/GlobalStatementsBlock.cs @@ -2,17 +2,22 @@ using Semmle.Extraction.Kinds; using System.Linq; using System.IO; using Semmle.Extraction.Entities; +using System.Collections.Generic; +using Microsoft.CodeAnalysis.CSharp.Syntax; +using System; namespace Semmle.Extraction.CSharp.Entities.Statements { internal class GlobalStatementsBlock : Statement { private readonly Method parent; + private readonly List globalStatements; - private GlobalStatementsBlock(Context cx, Method parent) + private GlobalStatementsBlock(Context cx, Method parent, List globalStatements) : base(cx, StmtKind.BLOCK, parent, 0) { this.parent = parent; + this.globalStatements = globalStatements; } public override Microsoft.CodeAnalysis.Location? ReportingLocation @@ -27,9 +32,9 @@ namespace Semmle.Extraction.CSharp.Entities.Statements } } - public static GlobalStatementsBlock Create(Context cx, Method parent) + public static GlobalStatementsBlock Create(Context cx, Method parent, List globalStatements) { - var ret = new GlobalStatementsBlock(cx, parent); + var ret = new GlobalStatementsBlock(cx, parent, globalStatements); ret.TryPopulate(); return ret; } @@ -37,6 +42,14 @@ namespace Semmle.Extraction.CSharp.Entities.Statements protected override void PopulateStatement(TextWriter trapFile) { trapFile.stmt_location(this, Context.CreateLocation(ReportingLocation)); + + for (var i = 0; i < globalStatements.Count; i++) + { + if (globalStatements[i].Statement is not null) + { + Statement.Create(Context, globalStatements[i].Statement, this, i); + } + } } } } diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs index 8d63c6288bf..ec4f44c21c7 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Extractor.cs @@ -99,12 +99,6 @@ namespace Semmle.Extraction.CSharp using var logger = MakeLogger(options.Verbosity, options.Console); - if (Environment.GetEnvironmentVariable("SEMMLE_CLRTRACER") == "1" && !options.ClrTracer) - { - logger.Log(Severity.Info, "Skipping extraction since already extracted from the CLR tracer"); - return ExitCode.Ok; - } - var canonicalPathCache = CanonicalPathCache.Create(logger, 1000); var pathTransformer = new PathTransformer(canonicalPathCache); diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs index 7b4e0e95ea3..c2d21d6a16a 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Extractor/Options.cs @@ -27,11 +27,6 @@ namespace Semmle.Extraction.CSharp /// public IList CompilerArguments { get; } = new List(); - /// - /// Holds if the extractor was launched from the CLR tracer. - /// - public bool ClrTracer { get; private set; } = false; - /// /// Holds if assembly information should be prefixed to TRAP labels. /// @@ -87,9 +82,6 @@ namespace Semmle.Extraction.CSharp { switch (flag) { - case "clrtracer": - ClrTracer = value; - return true; case "assemblysensitivetrap": AssemblySensitiveTrap = value; return true; diff --git a/csharp/extractor/Semmle.Extraction.CSharp/Populators/CompilationUnitVisitor.cs b/csharp/extractor/Semmle.Extraction.CSharp/Populators/CompilationUnitVisitor.cs index be53e48f319..eaa961f672e 100644 --- a/csharp/extractor/Semmle.Extraction.CSharp/Populators/CompilationUnitVisitor.cs +++ b/csharp/extractor/Semmle.Extraction.CSharp/Populators/CompilationUnitVisitor.cs @@ -3,7 +3,6 @@ using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.CSharp.Syntax; using Semmle.Util.Logging; using Semmle.Extraction.CSharp.Entities; -using Semmle.Extraction.CSharp.Entities.Statements; using System.Linq; namespace Semmle.Extraction.CSharp.Populators @@ -60,23 +59,14 @@ namespace Semmle.Extraction.CSharp.Populators } var entryPoint = Cx.Compilation.GetEntryPoint(System.Threading.CancellationToken.None); - var entryMethod = Method.Create(Cx, entryPoint); - if (entryMethod is null) + if (entryPoint is null) { Cx.ExtractionError("No entry method found. Skipping the extraction of global statements.", null, Cx.CreateLocation(globalStatements[0].GetLocation()), null, Severity.Info); return; } - var block = GlobalStatementsBlock.Create(Cx, entryMethod); - - for (var i = 0; i < globalStatements.Count; i++) - { - if (globalStatements[i].Statement is not null) - { - Statement.Create(Cx, globalStatements[i].Statement, block, i); - } - } + ImplicitMainMethod.Create(Cx, entryPoint, globalStatements); } } } diff --git a/csharp/extractor/Semmle.Extraction.Tests/Options.cs b/csharp/extractor/Semmle.Extraction.Tests/Options.cs index 9b17320fbaa..2637eb3d5f4 100644 --- a/csharp/extractor/Semmle.Extraction.Tests/Options.cs +++ b/csharp/extractor/Semmle.Extraction.Tests/Options.cs @@ -29,7 +29,6 @@ namespace Semmle.Extraction.Tests Assert.True(options.Threads >= 1); Assert.Equal(Verbosity.Info, options.Verbosity); Assert.False(options.Console); - Assert.False(options.ClrTracer); Assert.False(options.PDB); Assert.False(options.Fast); Assert.Equal(TrapWriter.CompressionMode.Brotli, options.TrapCompression); diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 8d49a52e30a..0efa6239b0f 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.2.2 + +## 1.2.1 + +## 1.2.0 + +## 1.1.4 + ## 1.1.3 ## 1.1.2 diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.1.4.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.1.4.md new file mode 100644 index 00000000000..651a36ad0f0 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.1.4.md @@ -0,0 +1 @@ +## 1.1.4 diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.0.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.0.md new file mode 100644 index 00000000000..0ff42339575 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.0.md @@ -0,0 +1 @@ +## 1.2.0 diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.1.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.1.md new file mode 100644 index 00000000000..ddf8866b672 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.1.md @@ -0,0 +1 @@ +## 1.2.1 diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.2.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.2.md new file mode 100644 index 00000000000..81af4d86d3b --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.2.2.md @@ -0,0 +1 @@ +## 1.2.2 diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 35e710ab1bf..0a70a9a01a7 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.3 +lastReleaseVersion: 1.2.2 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 742747fdec9..78cc75ede63 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.1.4-dev +version: 1.2.3-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 8d49a52e30a..0efa6239b0f 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 1.2.2 + +## 1.2.1 + +## 1.2.0 + +## 1.1.4 + ## 1.1.3 ## 1.1.2 diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.1.4.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.1.4.md new file mode 100644 index 00000000000..651a36ad0f0 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.1.4.md @@ -0,0 +1 @@ +## 1.1.4 diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.0.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.0.md new file mode 100644 index 00000000000..0ff42339575 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.0.md @@ -0,0 +1 @@ +## 1.2.0 diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.1.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.1.md new file mode 100644 index 00000000000..ddf8866b672 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.1.md @@ -0,0 +1 @@ +## 1.2.1 diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.2.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.2.md new file mode 100644 index 00000000000..81af4d86d3b --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.2.2.md @@ -0,0 +1 @@ +## 1.2.2 diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 35e710ab1bf..0a70a9a01a7 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.3 +lastReleaseVersion: 1.2.2 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index e5ce4bb150a..fced50b6ef4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.1.4-dev +version: 1.2.3-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 5ef7f456c17..5ea16d73e48 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.3.2 + +## 0.3.1 + +## 0.3.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. + +## 0.2.3 + ## 0.2.2 ## 0.2.1 diff --git a/csharp/ql/src/IDEContextual.qll b/csharp/ql/lib/IDEContextual.qll similarity index 100% rename from csharp/ql/src/IDEContextual.qll rename to csharp/ql/lib/IDEContextual.qll diff --git a/csharp/ql/lib/change-notes/released/0.2.3.md b/csharp/ql/lib/change-notes/released/0.2.3.md new file mode 100644 index 00000000000..b92596ffef1 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.2.3.md @@ -0,0 +1 @@ +## 0.2.3 diff --git a/csharp/ql/lib/change-notes/released/0.3.0.md b/csharp/ql/lib/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..54af6e00ac0 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.3.0.md @@ -0,0 +1,5 @@ +## 0.3.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. diff --git a/csharp/ql/lib/change-notes/released/0.3.1.md b/csharp/ql/lib/change-notes/released/0.3.1.md new file mode 100644 index 00000000000..2b0719929a1 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.3.1.md @@ -0,0 +1 @@ +## 0.3.1 diff --git a/csharp/ql/lib/change-notes/released/0.3.2.md b/csharp/ql/lib/change-notes/released/0.3.2.md new file mode 100644 index 00000000000..8309e697333 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.3.2.md @@ -0,0 +1 @@ +## 0.3.2 diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 16a06790aa8..18c64250f42 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.2 +lastReleaseVersion: 0.3.2 diff --git a/csharp/ql/src/definitions.qll b/csharp/ql/lib/definitions.qll similarity index 100% rename from csharp/ql/src/definitions.qll rename to csharp/ql/lib/definitions.qll diff --git a/csharp/ql/src/localDefinitions.ql b/csharp/ql/lib/localDefinitions.ql similarity index 100% rename from csharp/ql/src/localDefinitions.ql rename to csharp/ql/lib/localDefinitions.ql diff --git a/csharp/ql/src/localReferences.ql b/csharp/ql/lib/localReferences.ql similarity index 100% rename from csharp/ql/src/localReferences.ql rename to csharp/ql/lib/localReferences.ql diff --git a/csharp/ql/src/printAst.ql b/csharp/ql/lib/printAst.ql similarity index 100% rename from csharp/ql/src/printAst.ql rename to csharp/ql/lib/printAst.ql diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 3654b323743..8f932e28c7a 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 0.2.3-dev +version: 0.3.3-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImplShared.qll b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImplShared.qll index 47fcd24883c..7d0dd10c084 100644 --- a/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImplShared.qll +++ b/csharp/ql/lib/semmle/code/csharp/controlflow/internal/ControlFlowGraphImplShared.qll @@ -881,7 +881,12 @@ import Cached * graph is restricted to nodes from `RelevantNode`. */ module TestOutput { - abstract class RelevantNode extends Node { } + abstract class RelevantNode extends Node { + /** + * Gets a string used to resolve ties in node and edge ordering. + */ + string getOrderDisambuigation() { result = "" } + } query predicate nodes(RelevantNode n, string attr, string val) { attr = "semmle.order" and @@ -894,7 +899,8 @@ module TestOutput { p order by l.getFile().getBaseName(), l.getFile().getAbsolutePath(), l.getStartLine(), - l.getStartColumn(), l.getEndLine(), l.getEndColumn(), p.toString() + l.getStartColumn(), l.getEndLine(), l.getEndColumn(), p.toString(), + p.getOrderDisambuigation() ) ).toString() } @@ -916,7 +922,8 @@ module TestOutput { s order by l.getFile().getBaseName(), l.getFile().getAbsolutePath(), l.getStartLine(), - l.getStartColumn(), l.getEndLine(), l.getEndColumn(), t.toString() + l.getStartColumn(), l.getEndLine(), l.getEndColumn(), t.toString(), s.toString(), + s.getOrderDisambuigation() ) ).toString() } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll index 9e8baa291ca..782d33ea020 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/ExternalFlow.qll @@ -69,6 +69,12 @@ * sources "remote" indicates a default remote flow source, and for summaries * "taint" indicates a default additional taint step and "value" indicates a * globally applicable value-preserving step. + * 9. The `provenance` column is a tag to indicate the origin of the summary. + * There are two supported values: "generated" and "manual". "generated" means that + * the model has been emitted by the model generator tool and "manual" means + * that the model has been written by hand. This information is used in a heuristic + * for dataflow analysis to determine, if a model or source code should be used for + * determining flow. */ import csharp @@ -163,17 +169,10 @@ private predicate sinkModel(string row) { any(SinkModelCsv s).row(row) } private predicate summaryModel(string row) { any(SummaryModelCsv s).row(row) } -bindingset[input] -private predicate getKind(string input, string kind, boolean generated) { - input.splitAt(":", 0) = "generated" and kind = input.splitAt(":", 1) and generated = true - or - not input.matches("%:%") and kind = input and generated = false -} - /** Holds if a source model exists for the given parameters. */ predicate sourceModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string output, string kind, boolean generated + string output, string kind, string provenance ) { exists(string row | sourceModel(row) and @@ -185,14 +184,15 @@ predicate sourceModel( row.splitAt(";", 4) = signature and row.splitAt(";", 5) = ext and row.splitAt(";", 6) = output and - exists(string k | row.splitAt(";", 7) = k and getKind(k, kind, generated)) + row.splitAt(";", 7) = kind and + row.splitAt(";", 8) = provenance ) } /** Holds if a sink model exists for the given parameters. */ predicate sinkModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string input, string kind, boolean generated + string input, string kind, string provenance ) { exists(string row | sinkModel(row) and @@ -204,14 +204,15 @@ predicate sinkModel( row.splitAt(";", 4) = signature and row.splitAt(";", 5) = ext and row.splitAt(";", 6) = input and - exists(string k | row.splitAt(";", 7) = k and getKind(k, kind, generated)) + row.splitAt(";", 7) = kind and + row.splitAt(";", 8) = provenance ) } /** Holds if a summary model exists for the given parameters. */ predicate summaryModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string input, string output, string kind, boolean generated + string input, string output, string kind, string provenance ) { exists(string row | summaryModel(row) and @@ -224,7 +225,8 @@ predicate summaryModel( row.splitAt(";", 5) = ext and row.splitAt(";", 6) = input and row.splitAt(";", 7) = output and - exists(string k | row.splitAt(";", 8) = k and getKind(k, kind, generated)) + row.splitAt(";", 8) = kind and + row.splitAt(";", 9) = provenance ) } @@ -259,25 +261,25 @@ predicate modelCoverage(string namespace, int namespaces, string kind, string pa part = "source" and n = strictcount(string subns, string type, boolean subtypes, string name, string signature, - string ext, string output, boolean generated | + string ext, string output, string provenance | canonicalNamespaceLink(namespace, subns) and - sourceModel(subns, type, subtypes, name, signature, ext, output, kind, generated) + sourceModel(subns, type, subtypes, name, signature, ext, output, kind, provenance) ) or part = "sink" and n = strictcount(string subns, string type, boolean subtypes, string name, string signature, - string ext, string input, boolean generated | + string ext, string input, string provenance | canonicalNamespaceLink(namespace, subns) and - sinkModel(subns, type, subtypes, name, signature, ext, input, kind, generated) + sinkModel(subns, type, subtypes, name, signature, ext, input, kind, provenance) ) or part = "summary" and n = strictcount(string subns, string type, boolean subtypes, string name, string signature, - string ext, string input, string output, boolean generated | + string ext, string input, string output, string provenance | canonicalNamespaceLink(namespace, subns) and - summaryModel(subns, type, subtypes, name, signature, ext, input, output, kind, generated) + summaryModel(subns, type, subtypes, name, signature, ext, input, output, kind, provenance) ) ) } @@ -286,12 +288,16 @@ predicate modelCoverage(string namespace, int namespaces, string kind, string pa module CsvValidation { /** Holds if some row in a CSV-based flow model appears to contain typos. */ query predicate invalidModelRow(string msg) { - exists(string pred, string namespace, string type, string name, string signature, string ext | - sourceModel(namespace, type, _, name, signature, ext, _, _, _) and pred = "source" + exists( + string pred, string namespace, string type, string name, string signature, string ext, + string provenance + | + sourceModel(namespace, type, _, name, signature, ext, _, _, provenance) and pred = "source" or - sinkModel(namespace, type, _, name, signature, ext, _, _, _) and pred = "sink" + sinkModel(namespace, type, _, name, signature, ext, _, _, provenance) and pred = "sink" or - summaryModel(namespace, type, _, name, signature, ext, _, _, _, _) and pred = "summary" + summaryModel(namespace, type, _, name, signature, ext, _, _, _, provenance) and + pred = "summary" | not namespace.regexpMatch("[a-zA-Z0-9_\\.]+") and msg = "Dubious namespace \"" + namespace + "\" in " + pred + " model." @@ -307,6 +313,9 @@ module CsvValidation { or not ext.regexpMatch("|Attribute") and msg = "Unrecognized extra API graph element \"" + ext + "\" in " + pred + " model." + or + not provenance = ["manual", "generated"] and + msg = "Unrecognized provenance description \"" + provenance + "\" in " + pred + " model." ) or exists(string pred, AccessPath input, string part | @@ -338,18 +347,18 @@ module CsvValidation { ) or exists(string pred, string row, int expect | - sourceModel(row) and expect = 8 and pred = "source" + sourceModel(row) and expect = 9 and pred = "source" or - sinkModel(row) and expect = 8 and pred = "sink" + sinkModel(row) and expect = 9 and pred = "sink" or - summaryModel(row) and expect = 9 and pred = "summary" + summaryModel(row) and expect = 10 and pred = "summary" | exists(int cols | cols = 1 + max(int n | exists(row.splitAt(";", n))) and cols != expect and msg = "Wrong number of columns in " + pred + " model row, expected " + expect + ", got " + cols + - "." + " in " + row + "." ) or exists(string b | @@ -359,23 +368,20 @@ module CsvValidation { ) ) or - exists(string row, string k, string kind | summaryModel(row) | - k = row.splitAt(";", 8) and - getKind(k, kind, _) and + exists(string row, string kind | summaryModel(row) | + kind = row.splitAt(";", 8) and not kind = ["taint", "value"] and msg = "Invalid kind \"" + kind + "\" in summary model." ) or - exists(string row, string k, string kind | sinkModel(row) | - k = row.splitAt(";", 7) and - getKind(k, kind, _) and + exists(string row, string kind | sinkModel(row) | + kind = row.splitAt(";", 7) and not kind = ["code", "sql", "xss", "remote", "html"] and msg = "Invalid kind \"" + kind + "\" in sink model." ) or - exists(string row, string k, string kind | sourceModel(row) | - k = row.splitAt(";", 7) and - getKind(k, kind, _) and + exists(string row, string kind | sourceModel(row) | + kind = row.splitAt(";", 7) and not kind = "local" and msg = "Invalid kind \"" + kind + "\" in source model." ) diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll index e3602649581..340bfe280b7 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll index e3602649581..340bfe280b7 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl2.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll index e3602649581..340bfe280b7 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl3.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll index e3602649581..340bfe280b7 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl4.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll index e3602649581..340bfe280b7 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImpl5.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll index e3602649581..340bfe280b7 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowImplForContentDataFlow.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll index 388179eeb8e..7685e519b27 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/DataFlowPublic.qll @@ -173,6 +173,33 @@ abstract class NonLocalJumpNode extends Node { } /** + * Holds if the guard `g` validates the expression `e` upon evaluating to `v`. + * + * The expression `e` is expected to be a syntactic part of the guard `g`. + * For example, the guard `g` might be a call `isSafe(x)` and the expression `e` + * the argument `x`. + */ +signature predicate guardChecksSig(Guard g, Expr e, AbstractValue v); + +/** + * Provides a set of barrier nodes for a guard that validates an expression. + * + * This is expected to be used in `isBarrier`/`isSanitizer` definitions + * in data flow and taint tracking. + */ +module BarrierGuard { + /** Gets a node that is safely guarded by the given guard check. */ + ExprNode getABarrierNode() { + exists(Guard g, Expr e, AbstractValue v | + guardChecks(g, e, v) and + g.controlsNode(result.getControlFlowNode(), e, v) + ) + } +} + +/** + * DEPRECATED: Use `BarrierGuard` module instead. + * * A guard that validates some expression. * * To use this in a configuration, extend the class and provide a @@ -181,7 +208,7 @@ abstract class NonLocalJumpNode extends Node { * * It is important that all extending classes in scope are disjoint. */ -class BarrierGuard extends Guard { +deprecated class BarrierGuard extends Guard { /** Holds if this guard validates `e` upon evaluating to `v`. */ abstract predicate checks(Expr e, AbstractValue v); diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll index 400a10741fb..7abae2b105b 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImpl.qll @@ -1116,13 +1116,13 @@ module Private { preservesValue = false and result = "taint" } - private string renderGenerated(RelevantSummarizedCallable c) { - if c.(SummarizedCallable).isAutoGenerated() then result = "generated:" else result = "" + private string renderProvenance(RelevantSummarizedCallable c) { + if c.(SummarizedCallable).isAutoGenerated() then result = "generated" else result = "manual" } /** * A query predicate for outputting flow summaries in semi-colon separated format in QL tests. - * The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;outputspec;(generated:)?kind", + * The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind;provenance"", * ext is hardcoded to empty. */ query predicate summary(string csv) { @@ -1133,7 +1133,7 @@ module Private { c.relevantSummary(input, output, preservesValue) and csv = c.getCallableCsv() + getComponentStackCsv(input) + ";" + getComponentStackCsv(output) + - ";" + renderGenerated(c) + renderKind(preservesValue) + ";" + renderKind(preservesValue) + ";" + renderProvenance(c) ) } } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll index 7fa9df72ba2..cbd990691a9 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/FlowSummaryImplSpecific.qll @@ -91,6 +91,13 @@ DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) { ) } +bindingset[provenance] +private boolean isGenerated(string provenance) { + provenance = "generated" and result = true + or + provenance != "generated" and result = false +} + /** * Holds if an external flow summary exists for `c` with input specification * `input`, output specification `output`, kind `kind`, and a flag `generated` @@ -98,9 +105,11 @@ DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) { */ predicate summaryElement(Callable c, string input, string output, string kind, boolean generated) { exists( - string namespace, string type, boolean subtypes, string name, string signature, string ext + string namespace, string type, boolean subtypes, string name, string signature, string ext, + string provenance | - summaryModel(namespace, type, subtypes, name, signature, ext, input, output, kind, generated) and + summaryModel(namespace, type, subtypes, name, signature, ext, input, output, kind, provenance) and + generated = isGenerated(provenance) and c = interpretElement(namespace, type, subtypes, name, signature, ext) ) } @@ -112,9 +121,11 @@ predicate summaryElement(Callable c, string input, string output, string kind, b */ predicate sourceElement(Element e, string output, string kind, boolean generated) { exists( - string namespace, string type, boolean subtypes, string name, string signature, string ext + string namespace, string type, boolean subtypes, string name, string signature, string ext, + string provenance | - sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, generated) and + sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance) and + generated = isGenerated(provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } @@ -126,9 +137,11 @@ predicate sourceElement(Element e, string output, string kind, boolean generated */ predicate sinkElement(Element e, string input, string kind, boolean generated) { exists( - string namespace, string type, boolean subtypes, string name, string signature, string ext + string namespace, string type, boolean subtypes, string name, string signature, string ext, + string provenance | - sinkModel(namespace, type, subtypes, name, signature, ext, input, kind, generated) and + sinkModel(namespace, type, subtypes, name, signature, ext, input, kind, provenance) and + generated = isGenerated(provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll index 268c5cd49df..f263ee0114b 100755 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/TaintTrackingPrivate.qll @@ -19,12 +19,6 @@ private import semmle.code.csharp.frameworks.WCF */ predicate defaultTaintSanitizer(DataFlow::Node node) { none() } -/** - * Holds if `guard` should be a sanitizer guard in all global taint flow configurations - * but not in local taint. - */ -predicate defaultTaintSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - /** * Holds if default `TaintTracking::Configuration`s should allow implicit reads * of `c` at sinks and inputs to additional taint steps. diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking1/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking2/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking3/TaintTrackingImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking3/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking3/TaintTrackingImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking3/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking4/TaintTrackingImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking4/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking4/TaintTrackingImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking4/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking5/TaintTrackingImpl.qll b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking5/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking5/TaintTrackingImpl.qll +++ b/csharp/ql/lib/semmle/code/csharp/dataflow/internal/tainttracking5/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll index e62c6c3ee94..c6559f23d7a 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/EntityFramework.qll @@ -240,7 +240,7 @@ module EntityFramework { private class SystemDataEntityDbSetSqlQuerySinkModelCsv extends SinkModelCsv { override predicate row(string row) { row = - "System.Data.Entity;DbSet;false;SqlQuery;(System.String,System.Object[]);;Argument[0];sql" + "System.Data.Entity;DbSet;false;SqlQuery;(System.String,System.Object[]);;Argument[0];sql;manual" } } @@ -249,14 +249,14 @@ module EntityFramework { override predicate row(string row) { row = [ - "System.Data.Entity;Database;false;SqlQuery;(System.Type,System.String,System.Object[]);;Argument[1];sql", - "System.Data.Entity;Database;false;SqlQuery<>;(System.String,System.Object[]);;Argument[0];sql", - "System.Data.Entity;Database;false;ExecuteSqlCommand;(System.String,System.Object[]);;Argument[0];sql", - "System.Data.Entity;Database;false;ExecuteSqlCommand;(System.Data.Entity.TransactionalBehavior,System.String,System.Object[]);;Argument[1];sql", - "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.Data.Entity.TransactionalBehavior,System.String,System.Threading.CancellationToken,System.Object[]);;Argument[1];sql", - "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.String,System.Threading.CancellationToken,System.Object[]);;Argument[0];sql", - "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.String,System.Object[]);;Argument[0];sql", - "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.Data.Entity.TransactionalBehavior,System.String,System.Object[]);;Argument[1];sql" + "System.Data.Entity;Database;false;SqlQuery;(System.Type,System.String,System.Object[]);;Argument[1];sql;manual", + "System.Data.Entity;Database;false;SqlQuery<>;(System.String,System.Object[]);;Argument[0];sql;manual", + "System.Data.Entity;Database;false;ExecuteSqlCommand;(System.String,System.Object[]);;Argument[0];sql;manual", + "System.Data.Entity;Database;false;ExecuteSqlCommand;(System.Data.Entity.TransactionalBehavior,System.String,System.Object[]);;Argument[1];sql;manual", + "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.Data.Entity.TransactionalBehavior,System.String,System.Threading.CancellationToken,System.Object[]);;Argument[1];sql;manual", + "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.String,System.Threading.CancellationToken,System.Object[]);;Argument[0];sql;manual", + "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.String,System.Object[]);;Argument[0];sql;manual", + "System.Data.Entity;Database;false;ExecuteSqlCommandAsync;(System.Data.Entity.TransactionalBehavior,System.String,System.Object[]);;Argument[1];sql;manual" ] } } @@ -266,7 +266,7 @@ module EntityFramework { override predicate row(string row) { row = [ - "Microsoft.EntityFrameworkCore;RelationalQueryableExtensions;false;FromSqlRaw<>;(Microsoft.EntityFrameworkCore.DbSet,System.String,System.Object[]);;Argument[1];sql", + "Microsoft.EntityFrameworkCore;RelationalQueryableExtensions;false;FromSqlRaw<>;(Microsoft.EntityFrameworkCore.DbSet,System.String,System.Object[]);;Argument[1];sql;manual", ] } } @@ -276,11 +276,11 @@ module EntityFramework { override predicate row(string row) { row = [ - "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRaw;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRaw;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[]);;Argument[1];sql", - "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[]);;Argument[1];sql", - "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", + "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRaw;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRaw;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[]);;Argument[1];sql;manual", + "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Object[]);;Argument[1];sql;manual", + "Microsoft.EntityFrameworkCore;RelationalDatabaseFacadeExtensions;false;ExecuteSqlRawAsync;(Microsoft.EntityFrameworkCore.Infrastructure.DatabaseFacade,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/JsonNET.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/JsonNET.qll index d563de43b96..221c0f0fac6 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/JsonNET.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/JsonNET.qll @@ -52,65 +52,65 @@ module JsonNET { override predicate row(string row) { row = [ - "Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object);;Argument[0];Argument[1];taint", - "Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];Argument[1];taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Enum);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Guid);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.TimeSpan);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonConvert;false;ToString;(System.Uri);;Argument[0];ReturnValue;taint", + "Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object);;Argument[0];Argument[1];taint;manual", + "Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];Argument[1];taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Enum);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Guid);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.TimeSpan);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonConvert;false;ToString;(System.Uri);;Argument[0];ReturnValue;taint;manual", ] } } @@ -180,13 +180,13 @@ module JsonNET { override predicate row(string row) { row = [ - "Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint", - "Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint", - "Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint", - "Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint" + "Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint;manual", + "Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint;manual", + "Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint;manual", + "Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint;manual" ] } } @@ -228,11 +228,11 @@ module JsonNET { override predicate row(string row) { row = [ - "Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String);;Argument[Qualifier];ReturnValue;taint", - "Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,Newtonsoft.Json.Linq.JsonSelectSettings);;Argument[Qualifier];ReturnValue;taint", - "Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint", - "Newtonsoft.Json.Linq;JToken;false;ToString;();;Argument[Qualifier];ReturnValue;taint", - "Newtonsoft.Json.Linq;JToken;false;ToString;(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[Qualifier];ReturnValue;taint", + "Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,Newtonsoft.Json.Linq.JsonSelectSettings);;Argument[Qualifier];ReturnValue;taint;manual", + "Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;manual", + "Newtonsoft.Json.Linq;JToken;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual", + "Newtonsoft.Json.Linq;JToken;false;ToString;(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[Qualifier];ReturnValue;taint;manual", ] } } @@ -253,21 +253,21 @@ module JsonNET { override predicate row(string row) { row = [ - "Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "Newtonsoft.Json.Linq;JObject;false;Parse;(System.String);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json.Linq;JObject;false;Parse;(System.String,Newtonsoft.Json.Linq.JsonLoadSettings);;Argument[0];ReturnValue;taint", - "Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value", - "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value", + "Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "Newtonsoft.Json.Linq;JObject;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json.Linq;JObject;false;Parse;(System.String,Newtonsoft.Json.Linq.JsonLoadSettings);;Argument[0];ReturnValue;taint;manual", + "Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual", + "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -277,8 +277,8 @@ module JsonNET { override predicate row(string row) { row = [ - "Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value", + "Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -288,8 +288,8 @@ module JsonNET { override predicate row(string row) { row = [ - "Newtonsoft.Json.Linq;JConstructor;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "Newtonsoft.Json.Linq;JConstructor;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value", + "Newtonsoft.Json.Linq;JConstructor;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "Newtonsoft.Json.Linq;JConstructor;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -298,7 +298,7 @@ module JsonNET { private class NewtonsoftJsonLinqJContainerFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "Newtonsoft.Json.Linq;JContainer;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value" + "Newtonsoft.Json.Linq;JContainer;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual" } } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/ServiceStack.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/ServiceStack.qll index bf4a72b4174..1145933352f 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/ServiceStack.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/ServiceStack.qll @@ -47,89 +47,89 @@ private class ServiceStackRemoteSinkModelCsv extends SinkModelCsv { row = [ // IRestClient - "ServiceStack;IRestClient;true;Send<>;(System.String,System.String,System.Object);;Argument[2];remote", - "ServiceStack;IRestClient;true;Patch<>;(System.String,System.Object);;Argument[1];remote", - "ServiceStack;IRestClient;true;Post<>;(System.String,System.Object);;Argument[1];remote", - "ServiceStack;IRestClient;true;Put<>;(System.String,System.Object);;Argument[1];remote", + "ServiceStack;IRestClient;true;Send<>;(System.String,System.String,System.Object);;Argument[2];remote;manual", + "ServiceStack;IRestClient;true;Patch<>;(System.String,System.Object);;Argument[1];remote;manual", + "ServiceStack;IRestClient;true;Post<>;(System.String,System.Object);;Argument[1];remote;manual", + "ServiceStack;IRestClient;true;Put<>;(System.String,System.Object);;Argument[1];remote;manual", // IRestClientSync - "ServiceStack;IRestClientSync;true;CustomMethod;(System.String,ServiceStack.IReturnVoid);;Argument[1];remote", - "ServiceStack;IRestClientSync;true;CustomMethod<>;(System.String,System.Object);;Argument[1];remote", - "ServiceStack;IRestClientSync;true;CustomMethod<>;(System.String,ServiceStack.IReturn);;Argument[1];remote", - "ServiceStack;IRestClientSync;true;Delete;(ServiceStack.IReturnVoid);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Delete<>;(System.Object);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Delete<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Get;(ServiceStack.IReturnVoid);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Get<>;(System.Object);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Get<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Patch;(ServiceStack.IReturnVoid);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Patch<>;(System.Object);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Patch<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Post;(ServiceStack.IReturnVoid);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Post<>;(System.Object);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Post<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Put;(ServiceStack.IReturnVoid);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Put<>;(System.Object);;Argument[0];remote", - "ServiceStack;IRestClientSync;true;Put<>;(ServiceStack.IReturn);;Argument[0];remote", + "ServiceStack;IRestClientSync;true;CustomMethod;(System.String,ServiceStack.IReturnVoid);;Argument[1];remote;manual", + "ServiceStack;IRestClientSync;true;CustomMethod<>;(System.String,System.Object);;Argument[1];remote;manual", + "ServiceStack;IRestClientSync;true;CustomMethod<>;(System.String,ServiceStack.IReturn);;Argument[1];remote;manual", + "ServiceStack;IRestClientSync;true;Delete;(ServiceStack.IReturnVoid);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Delete<>;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Delete<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Get;(ServiceStack.IReturnVoid);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Get<>;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Get<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Patch;(ServiceStack.IReturnVoid);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Patch<>;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Patch<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Post;(ServiceStack.IReturnVoid);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Post<>;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Post<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Put;(ServiceStack.IReturnVoid);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Put<>;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IRestClientSync;true;Put<>;(ServiceStack.IReturn);;Argument[0];remote;manual", // IRestGateway - "ServiceStack;IRestGateway;true;Delete<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestGateway;true;Get<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestGateway;true;Post<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestGateway;true;Put<>;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;IRestGateway;true;Send<>;(ServiceStack.IReturn);;Argument[0];remote", + "ServiceStack;IRestGateway;true;Delete<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestGateway;true;Get<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestGateway;true;Post<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestGateway;true;Put<>;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;IRestGateway;true;Send<>;(ServiceStack.IReturn);;Argument[0];remote;manual", // IOneWayClient - "ServiceStack;IOneWayClient;true;SendAllOneWay;(System.Collections.Generic.IEnumerable);;Argument[1].Element;remote", - "ServiceStack;IOneWayClient;true;SendOneWay;(System.String,System.Object);;Argument[1];remote", - "ServiceStack;IOneWayClient;true;SendOneWay;(System.Object);;Argument[0];remote", + "ServiceStack;IOneWayClient;true;SendAllOneWay;(System.Collections.Generic.IEnumerable);;Argument[1].Element;remote;manual", + "ServiceStack;IOneWayClient;true;SendOneWay;(System.String,System.Object);;Argument[1];remote;manual", + "ServiceStack;IOneWayClient;true;SendOneWay;(System.Object);;Argument[0];remote;manual", // IServiceGateway - "ServiceStack;IServiceGateway;true;Publish;(System.Object);;Argument[0];remote", - "ServiceStack;IServiceGateway;true;PublishAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;remote", - "ServiceStack;IServiceGateway;true;Send<>;(System.Object);;Argument[0];remote", - "ServiceStack;IServiceGateway;true;SendAll<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;remote", + "ServiceStack;IServiceGateway;true;Publish;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IServiceGateway;true;PublishAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;remote;manual", + "ServiceStack;IServiceGateway;true;Send<>;(System.Object);;Argument[0];remote;manual", + "ServiceStack;IServiceGateway;true;SendAll<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;remote;manual", // IRestClientAsync - "ServiceStack;IRestClientAsync;true;CustomMethodAsync;(System.String,ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[1];remote", - "ServiceStack;IRestClientAsync;true;CustomMethodAsync<>;(System.String,System.Object,System.Threading.CancellationToken);;Argument[1];remote", - "ServiceStack;IRestClientAsync;true;CustomMethodAsync<>;(System.String,ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[1];remote", - "ServiceStack;IRestClientAsync;true;DeleteAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;DeleteAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;DeleteAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;GetAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;GetAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;GetAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PatchAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PatchAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PatchAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PostAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PostAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PostAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PutAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PutAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestClientAsync;true;PutAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", + "ServiceStack;IRestClientAsync;true;CustomMethodAsync;(System.String,ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[1];remote;manual", + "ServiceStack;IRestClientAsync;true;CustomMethodAsync<>;(System.String,System.Object,System.Threading.CancellationToken);;Argument[1];remote;manual", + "ServiceStack;IRestClientAsync;true;CustomMethodAsync<>;(System.String,ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[1];remote;manual", + "ServiceStack;IRestClientAsync;true;DeleteAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;DeleteAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;DeleteAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;GetAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;GetAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;GetAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PatchAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PatchAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PatchAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PostAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PostAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PostAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PutAsync;(ServiceStack.IReturnVoid,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PutAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestClientAsync;true;PutAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", // IRestGatewayAsync - "ServiceStack;IRestGatewayAsync;true;DeleteAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestGatewayAsync;true;GetAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestGatewayAsync;true;PostAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestGatewayAsync;true;PutAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IRestGatewayAsync;true;SendAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote", + "ServiceStack;IRestGatewayAsync;true;DeleteAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestGatewayAsync;true;GetAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestGatewayAsync;true;PostAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestGatewayAsync;true;PutAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IRestGatewayAsync;true;SendAsync<>;(ServiceStack.IReturn,System.Threading.CancellationToken);;Argument[0];remote;manual", // IServiceGatewayAsync - "ServiceStack;IServiceGatewayAsync;true;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IServiceGatewayAsync;true;PublishAllAsync;(System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[0].Element;remote", - "ServiceStack;IServiceGatewayAsync;true;SendAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote", - "ServiceStack;IServiceGatewayAsync;true;SendAllAsync<>;(System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[0].Element;remote", + "ServiceStack;IServiceGatewayAsync;true;PublishAsync;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IServiceGatewayAsync;true;PublishAllAsync;(System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[0].Element;remote;manual", + "ServiceStack;IServiceGatewayAsync;true;SendAsync<>;(System.Object,System.Threading.CancellationToken);;Argument[0];remote;manual", + "ServiceStack;IServiceGatewayAsync;true;SendAllAsync<>;(System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[0].Element;remote;manual", // ServiceClientBase - "ServiceStack;ServiceClientBase;true;Publish<>;(T);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Publish<>;(ServiceStack.Messaging.IMessage);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Delete;(System.Object);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Get;(System.Object);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Patch;(System.Object);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Post;(System.Object);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Put;(System.Object);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Head;(System.Object);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;Head;(ServiceStack.IReturn);;Argument[0];remote", - "ServiceStack;ServiceClientBase;true;CustomMethod;(System.String,System.String,System.Object);;Argument[2];remote", - "ServiceStack;ServiceClientBase;true;CustomMethod<>;(System.String,System.String,System.Object);;Argument[2];remote", - "ServiceStack;ServiceClientBase;true;CustomMethodAsync<>;(System.String,System.String,System.Object,System.Threading.CancellationToken);;Argument[2];remote", - "ServiceStack;ServiceClientBase;true;DownloadBytes;(System.String,System.String,System.Object);;Argument[2];remote", - "ServiceStack;ServiceClientBase;true;DownloadBytesAsync;(System.String,System.String,System.Object);;Argument[2];remote" + "ServiceStack;ServiceClientBase;true;Publish<>;(T);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Publish<>;(ServiceStack.Messaging.IMessage);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Delete;(System.Object);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Get;(System.Object);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Patch;(System.Object);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Post;(System.Object);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Put;(System.Object);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Head;(System.Object);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;Head;(ServiceStack.IReturn);;Argument[0];remote;manual", + "ServiceStack;ServiceClientBase;true;CustomMethod;(System.String,System.String,System.Object);;Argument[2];remote;manual", + "ServiceStack;ServiceClientBase;true;CustomMethod<>;(System.String,System.String,System.Object);;Argument[2];remote;manual", + "ServiceStack;ServiceClientBase;true;CustomMethodAsync<>;(System.String,System.String,System.Object,System.Threading.CancellationToken);;Argument[2];remote;manual", + "ServiceStack;ServiceClientBase;true;DownloadBytes;(System.String,System.String,System.Object);;Argument[2];remote;manual", + "ServiceStack;ServiceClientBase;true;DownloadBytesAsync;(System.String,System.String,System.Object);;Argument[2];remote;manual" ] } } @@ -139,104 +139,104 @@ private class ServiceStackSqlSinkModelCsv extends SinkModelCsv { row = [ // SqlExpression - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeFrom;(System.String);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeGroupBy;(System.String);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeHaving;(System.String,System.Object[]);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeOrderBy;(System.String);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeSelect;(System.String,System.Boolean);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeSelect;(System.String);;Argument[0];sql", - "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeFrom;(System.String);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeGroupBy;(System.String);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeHaving;(System.String,System.Object[]);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeOrderBy;(System.String);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeSelect;(System.String,System.Boolean);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeSelect;(System.String);;Argument[0];sql;manual", + "ServiceStack.OrmLite;SqlExpression<>;true;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql;manual", // IUntypedSqlExpression - "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql", - "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeFrom;(System.String);;Argument[0];sql", - "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql", - "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeSelect;(System.String);;Argument[0];sql", - "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql", + "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeAnd;(System.String,System.Object[]);;Argument[0];sql;manual", + "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeFrom;(System.String);;Argument[0];sql;manual", + "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeOr;(System.String,System.Object[]);;Argument[0];sql;manual", + "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeSelect;(System.String);;Argument[0];sql;manual", + "ServiceStack.OrmLite;IUntypedSqlExpression;true;UnsafeWhere;(System.String,System.Object[]);;Argument[0];sql;manual", // OrmLiteReadApi - "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Action);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Exists<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Dictionary<,>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Lookup<,>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Lookup<,>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;KeyValuePairs;(System.Data.IDbConnection,System.String,System.System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Scalar<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Scalar<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.Type,System.String,System.Object);;Argument[2];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SelectLazy<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SelectNonDefaults<>;(System.Data.IDbConnection,System.String,T);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Single<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Single<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Action);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Column<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;Column<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnDistinct<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnDistinct<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnLazy<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnLazy<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Action);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ExecuteNonQuery;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Exists<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Dictionary<,>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Lookup<,>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Lookup<,>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;KeyValuePairs;(System.Data.IDbConnection,System.String,System.System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Scalar<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Scalar<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.Type,System.String,System.Object);;Argument[2];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Select<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SelectLazy<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SelectNonDefaults<>;(System.Data.IDbConnection,System.String,T);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Single<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Single<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlColumn<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlList<>;(System.Data.IDbConnection,System.String,System.Action);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;SqlScalar<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Column<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;Column<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnDistinct<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnDistinct<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnLazy<>;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApi;false;ColumnLazy<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", // OrmLiteReadExpressionsApi - "ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;RowCount;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;RowCount;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql", + "ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;RowCount;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadExpressionsApi;false;RowCount;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable);;Argument[1];sql;manual", // OrmLiteReadExpressionsApiAsync - "ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;RowCountAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", + "ServiceStack.OrmLite;OrmLiteReadExpressionsApiAsync;false;RowCountAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", // OrmLiteReadApiAsync - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnDistinctAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnDistinctAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;DictionaryAsync<,>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExistsAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;KeyValuePairsAsync<,>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;KeyValuePairsAsync<,>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<,>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<,>;(System.Data.IDbCommand,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<,>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ScalarAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ScalarAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Threading.CancellationToken);;Argument[2];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectNonDefaultsAsync<>;(System.Data.IDbConnection,System.String,T,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SingleAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SingleAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Action,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnDistinctAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ColumnDistinctAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;DictionaryAsync<,>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExecuteNonQueryAsync;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ExistsAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;KeyValuePairsAsync<,>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;KeyValuePairsAsync<,>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<,>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<,>;(System.Data.IDbCommand,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;LookupAsync<,>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ScalarAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;ScalarAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Threading.CancellationToken);;Argument[2];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SelectNonDefaultsAsync<>;(System.Data.IDbConnection,System.String,T,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SingleAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SingleAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlColumnAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlListAsync<>;(System.Data.IDbConnection,System.String,System.Action,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<>;(System.Data.IDbConnection,System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteReadApiAsync;false;SqlScalarAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual", // Write API - "ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;ExecuteSqlAsync;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;ExecuteSqlAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql" + "ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String,System.Object);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteWriteApi;false;ExecuteSql;(System.Data.IDbConnection,System.String,System.Collections.Generic.Dictionary);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;ExecuteSqlAsync;(System.Data.IDbConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "ServiceStack.OrmLite;OrmLiteWriteApiAsync;false;ExecuteSqlAsync;(System.Data.IDbConnection,System.String,System.Object,System.Threading.CancellationToken);;Argument[1];sql;manual" ] } } @@ -246,34 +246,34 @@ private class ServiceStackCodeInjectionSinkModelCsv extends SinkModelCsv { row = [ // Redis API - "ServiceStack.Redis;IRedisClient;true;Custom;(System.Object[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecCachedLua;(System.String,System.Func);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLua;(System.String,System.String[],System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLua;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLuaAsInt;(System.String,System.String[],System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLuaAsInt;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLuaAsList;(System.String,System.String[],System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLuaAsList;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLuaAsString;(System.String,System.String[],System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;ExecLuaAsString;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClient;true;LoadLuaScript;(System.String);;Argument[0];code", + "ServiceStack.Redis;IRedisClient;true;Custom;(System.Object[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecCachedLua;(System.String,System.Func);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLua;(System.String,System.String[],System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLua;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLuaAsInt;(System.String,System.String[],System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLuaAsInt;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLuaAsList;(System.String,System.String[],System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLuaAsList;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLuaAsString;(System.String,System.String[],System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;ExecLuaAsString;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClient;true;LoadLuaScript;(System.String);;Argument[0];code;manual", // IRedisClientAsync - "ServiceStack.Redis;IRedisClientAsync;true;CustomAsync;(System.Object[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;CustomAsync;(System.Object[],System.Threading.CancellationToken);;Argument[0].Element;code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecCachedLuaAsync;(System.String,System.Func>,System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[]);;Argument[0];code", - "ServiceStack.Redis;IRedisClientAsync;true;LoadLuaScriptAsync;(System.String,System.Threading.CancellationToken);;Argument[0];code" + "ServiceStack.Redis;IRedisClientAsync;true;CustomAsync;(System.Object[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;CustomAsync;(System.Object[],System.Threading.CancellationToken);;Argument[0].Element;code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecCachedLuaAsync;(System.String,System.Func>,System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsync;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsIntAsync;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsStringAsync;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[],System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[],System.Threading.CancellationToken);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;ExecLuaAsListAsync;(System.String,System.String[]);;Argument[0];code;manual", + "ServiceStack.Redis;IRedisClientAsync;true;LoadLuaScriptAsync;(System.String,System.Threading.CancellationToken);;Argument[0];code;manual" ] } } @@ -282,13 +282,13 @@ private class ServiceStackXssSummaryModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "ServiceStack;HttpResult;false;HttpResult;(System.String,System.String);;Argument[0];ReturnValue;taint", - "ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String,System.Net.HttpStatusCode);;Argument[0];ReturnValue;taint", - "ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String);;Argument[0];ReturnValue;taint", - "ServiceStack;HttpResult;false;HttpResult;(System.Object,System.Net.HttpStatusCode);;Argument[0];ReturnValue;taint", - "ServiceStack;HttpResult;false;HttpResult;(System.Object);;Argument[0];ReturnValue;taint", - "ServiceStack;HttpResult;false;HttpResult;(System.IO.Stream,System.String);;Argument[0];ReturnValue;taint", - "ServiceStack;HttpResult;false;HttpResult;(System.Byte[],System.String);;Argument[0];ReturnValue;taint" + "ServiceStack;HttpResult;false;HttpResult;(System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String,System.Net.HttpStatusCode);;Argument[0];ReturnValue;taint;manual", + "ServiceStack;HttpResult;false;HttpResult;(System.Object,System.String);;Argument[0];ReturnValue;taint;manual", + "ServiceStack;HttpResult;false;HttpResult;(System.Object,System.Net.HttpStatusCode);;Argument[0];ReturnValue;taint;manual", + "ServiceStack;HttpResult;false;HttpResult;(System.Object);;Argument[0];ReturnValue;taint;manual", + "ServiceStack;HttpResult;false;HttpResult;(System.IO.Stream,System.String);;Argument[0];ReturnValue;taint;manual", + "ServiceStack;HttpResult;false;HttpResult;(System.Byte[],System.String);;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/Sql.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/Sql.qll index 78975527af6..04c06399fea 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/Sql.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/Sql.qll @@ -53,21 +53,21 @@ private class IDbCommandConstructionSinkModelCsv extends SinkModelCsv { row = [ // SqlCommand - "System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String);;Argument[0];sql", - "System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];sql", - "System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection,System.Data.SqlClient.SqlTransaction);;Argument[0];sql", + "System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String);;Argument[0];sql;manual", + "System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];sql;manual", + "System.Data.SqlClient;SqlCommand;false;SqlCommand;(System.String,System.Data.SqlClient.SqlConnection,System.Data.SqlClient.SqlTransaction);;Argument[0];sql;manual", // OdbcCommand - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String);;Argument[0];sql", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];sql", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[0];sql", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String);;Argument[0];sql;manual", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];sql;manual", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[0];sql;manual", // OleDbCommand - "System.Data.OleDb;OleDbCommand;false;OleDbCommand;(System.String);;Argument[0];sql", - "System.Data.OleDb;OleDbCommand;false;OleDbCommand;(System.String,System.Data.OleDb.OleDbConnection);;Argument[0];sql", - "System.Data.OleDb;OleDbCommand;false;OleDbCommand;(System.String,System.Data.OleDb.OleDbConnection,System.Data.OleDb.OleDbTransaction);;Argument[0];sql", + "System.Data.OleDb;OleDbCommand;false;OleDbCommand;(System.String);;Argument[0];sql;manual", + "System.Data.OleDb;OleDbCommand;false;OleDbCommand;(System.String,System.Data.OleDb.OleDbConnection);;Argument[0];sql;manual", + "System.Data.OleDb;OleDbCommand;false;OleDbCommand;(System.String,System.Data.OleDb.OleDbConnection,System.Data.OleDb.OleDbTransaction);;Argument[0];sql;manual", // EntityCommand - "System.Data.EntityClient;EntityCommand;false;EntityCommand;(System.String);;Argument[0];sql", - "System.Data.EntityClient;EntityCommand;false;EntityCommand;(System.String,System.Data.EntityClient.EntityConnection);;Argument[0];sql", - "System.Data.EntityClient;EntityCommand;false;EntityCommand;(System.String,System.Data.EntityClient.EntityConnection,System.Data.EntityClient.EntityTransaction);;Argument[0];sql" + "System.Data.EntityClient;EntityCommand;false;EntityCommand;(System.String);;Argument[0];sql;manual", + "System.Data.EntityClient;EntityCommand;false;EntityCommand;(System.String,System.Data.EntityClient.EntityConnection);;Argument[0];sql;manual", + "System.Data.EntityClient;EntityCommand;false;EntityCommand;(System.String,System.Data.EntityClient.EntityConnection,System.Data.EntityClient.EntityTransaction);;Argument[0];sql;manual" ] } } @@ -77,8 +77,8 @@ private class SqlDataAdapterConstructionSinkModelCsv extends SinkModelCsv { override predicate row(string row) { row = [ - "System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.String,System.String);;Argument[0];sql", - "System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];sql" + "System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.String,System.String);;Argument[0];sql;manual", + "System.Data.SqlClient;SqlDataAdapter;false;SqlDataAdapter;(System.String,System.Data.SqlClient.SqlConnection);;Argument[0];sql;manual" ] } } @@ -89,63 +89,63 @@ private class MySqlHelperMethodCallSinkModelCsv extends SinkModelCsv { row = [ // ExecuteDataRow/Async - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataRow;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataRowAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataRowAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataRow;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataRowAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataRowAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteDataset - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(System.String,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(System.String,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDataset;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteDatasetAsync - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteDatasetAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteNonQuery - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQuery;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQuery;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQuery;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQuery;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteNonQueryAsync - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteNonQueryAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteReader - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(System.String,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(System.String,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReader;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteReaderAsync - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteReaderAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteScalar - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(System.String,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(System.String,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalar;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // ExecuteScalarAsync - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(System.String,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;ExecuteScalarAsync;(MySql.Data.MySqlClient.MySqlConnection,System.String,System.Threading.CancellationToken,MySql.Data.MySqlClient.MySqlParameter[]);;Argument[1];sql;manual", // UpdateDataset/Async - "MySql.Data.MySqlClient;MySqlHelper;false;UpdateDataset;(System.String,System.String,System.Data.DataSet,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;UpdateDatasetAsync;(System.String,System.String,System.Data.DataSet,System.String);;Argument[1];sql", - "MySql.Data.MySqlClient;MySqlHelper;false;UpdateDatasetAsync;(System.String,System.String,System.Data.DataSet,System.String,System.Threading.CancellationToken);;Argument[1];sql" + "MySql.Data.MySqlClient;MySqlHelper;false;UpdateDataset;(System.String,System.String,System.Data.DataSet,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;UpdateDatasetAsync;(System.String,System.String,System.Data.DataSet,System.String);;Argument[1];sql;manual", + "MySql.Data.MySqlClient;MySqlHelper;false;UpdateDatasetAsync;(System.String,System.String,System.Data.DataSet,System.String,System.Threading.CancellationToken);;Argument[1];sql;manual" ] } } @@ -156,38 +156,38 @@ private class MicrosoftSqlHelperSinkModelCsv extends SinkModelCsv { row = [ // ExecuteNonQuery - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.String,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.String,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteNonQuery;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", // ExecuteDataset - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.String,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.String,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteDataset;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", // ExecuteReader - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.String,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.String,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", // ExecuteScalar - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.String,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.String,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.String,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteScalar;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", // ExecuteXmlReader - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql", - "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql" + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlConnection,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String);;Argument[2];sql;manual", + "Microsoft.ApplicationBlocks.Data;SqlHelper;false;ExecuteXmlReader;(System.Data.SqlClient.SqlTransaction,System.Data.CommandType,System.String,System.Data.SqlClient.SqlParameter[]);;Argument[2];sql;manual" ] } } @@ -198,65 +198,65 @@ private class DapperSqlMapperSinkModelCsv extends SinkModelCsv { row = [ // Execute* - "Dapper;SqlMapper;false;Execute;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteScalar;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteScalarAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteScalar<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteScalarAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteReader;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteReaderAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;ExecuteReaderAsync;(System.Data.DbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", + "Dapper;SqlMapper;false;Execute;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteScalar;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteScalarAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteScalar<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteScalarAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteReader;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteReaderAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;ExecuteReaderAsync;(System.Data.DbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", // Query* - "Dapper;SqlMapper;false;Query;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryMultiple;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryMultipleAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirst;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirstAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirst<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirstAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirstOrDefault;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirstOrDefaultAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirstOrDefault<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryFirstOrDefaultAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingle;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingleAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingle<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingleAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingleOrDefault;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingleOrDefaultAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingleOrDefault<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QuerySingleOrDefaultAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql", + "Dapper;SqlMapper;false;Query;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryMultiple;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryMultipleAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirst;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirstAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirst<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirstAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirstOrDefault;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirstOrDefaultAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirstOrDefault<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryFirstOrDefaultAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingle;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingleAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingle<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingleAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingleOrDefault;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingleOrDefaultAsync;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingleOrDefault<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QuerySingleOrDefaultAsync<>;(System.Data.IDbConnection,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[1];sql;manual", // Query* with System.Type parameter - "Dapper;SqlMapper;false;Query;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QueryAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QueryFirst;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QueryFirstAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QueryFirstOrDefault;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QueryFirstOrDefaultAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QuerySingle;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QuerySingleAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QuerySingleOrDefault;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", - "Dapper;SqlMapper;false;QuerySingleOrDefaultAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql", + "Dapper;SqlMapper;false;Query;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QueryAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Boolean,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QueryFirst;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QueryFirstAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QueryFirstOrDefault;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QueryFirstOrDefaultAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QuerySingle;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QuerySingleAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QuerySingleOrDefault;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", + "Dapper;SqlMapper;false;QuerySingleOrDefaultAsync;(System.Data.IDbConnection,System.Type,System.String,System.Object,System.Data.IDbTransaction,System.Nullable,System.Nullable);;Argument[2];sql;manual", // Query with multiple type parameters - "Dapper;SqlMapper;false;Query<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;Query<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;Query<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;Query<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;Query<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;Query<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", + "Dapper;SqlMapper;false;Query<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;Query<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;Query<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;Query<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;Query<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;Query<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<,,,,,,,>;(System.Data.IDbConnection,System.String,System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", // Query with System.Type[] parameter - "Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql", - "Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql" + "Dapper;SqlMapper;false;Query<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual", + "Dapper;SqlMapper;false;QueryAsync<>;(System.Data.IDbConnection,System.String,System.Type[],System.Func,System.Object,System.Data.IDbTransaction,System.Boolean,System.String,System.Nullable,System.Nullable);;Argument[1];sql;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/System.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/System.qll index a3f89ba14ce..b4eb0b00fc5 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/System.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/System.qll @@ -70,19 +70,19 @@ private class SystemArrayFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Array;false;AsReadOnly<>;(T[]);;Argument[0].Element;ReturnValue.Element;value", - "System;Array;false;Clone;();;Argument[0].Element;ReturnValue.Element;value", - "System;Array;false;CopyTo;(System.Array,System.Int64);;Argument[Qualifier].Element;Argument[0].Element;value", - "System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value", - "System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value", - "System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value", - "System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value", - "System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value", - "System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value", - "System;Array;false;Reverse;(System.Array);;Argument[0].Element;ReturnValue.Element;value", - "System;Array;false;Reverse;(System.Array,System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System;Array;false;Reverse<>;(T[]);;Argument[0].Element;ReturnValue.Element;value", - "System;Array;false;Reverse<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", + "System;Array;false;AsReadOnly<>;(T[]);;Argument[0].Element;ReturnValue.Element;value;manual", + "System;Array;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System;Array;false;CopyTo;(System.Array,System.Int64);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual", + "System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual", + "System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual", + "System;Array;false;Reverse;(System.Array);;Argument[0].Element;ReturnValue.Element;value;manual", + "System;Array;false;Reverse;(System.Array,System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System;Array;false;Reverse<>;(T[]);;Argument[0].Element;ReturnValue.Element;value;manual", + "System;Array;false;Reverse<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", ] } } @@ -121,11 +121,11 @@ private class SystemBooleanFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Boolean;false;Parse;(System.String);;Argument[0];ReturnValue;taint", - "System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];Argument[1];taint", - "System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];ReturnValue;taint", - "System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;Argument[1];taint", - "System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;ReturnValue;taint", + "System;Boolean;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];Argument[1];taint;manual", + "System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;Argument[1];taint;manual", + "System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual", ] } } @@ -140,333 +140,333 @@ private class SystemConvertFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint", - "System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint", - "System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;taint", - "System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue.Element;taint", - "System;Convert;false;FromHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue.Element;taint", - "System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue.Element;taint", - "System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[3].Element;taint", - "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;Argument[3].Element;taint", - "System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToHexString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint", - "System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint", - "System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[1].Element;taint", - "System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[2];taint", - "System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];ReturnValue;taint", - "System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[1].Element;taint", - "System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[2];taint", - "System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint", - "System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[1].Element;taint", - "System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[2];taint", + "System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;taint;manual", + "System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue.Element;taint;manual", + "System;Convert;false;FromHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue.Element;taint;manual", + "System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue.Element;taint;manual", + "System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[3].Element;taint;manual", + "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;Argument[3].Element;taint;manual", + "System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToHexString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[1].Element;taint;manual", + "System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[2];taint;manual", + "System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[1].Element;taint;manual", + "System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[2];taint;manual", + "System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual", + "System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[1].Element;taint;manual", + "System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[2];taint;manual", ] } } @@ -580,19 +580,19 @@ private class SystemInt32FlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint", - "System;Int32;false;Parse;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint", - "System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0];ReturnValue;taint", - "System;Int32;false;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0].Element;ReturnValue;taint", - "System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];ReturnValue;taint", - "System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint", - "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;Argument[1];taint", - "System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];ReturnValue;taint", - "System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint", - "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;Argument[3];taint" + "System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Int32;false;Parse;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint;manual", + "System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual", + "System;Int32;false;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0].Element;ReturnValue;taint;manual", + "System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint;manual", + "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;Argument[1];taint;manual", + "System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint;manual", + "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;Argument[3];taint;manual" ] } } @@ -622,10 +622,10 @@ private class SystemLazyFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Lazy<>;false;Lazy;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value", - "System;Lazy<>;false;Lazy;(System.Func,System.Boolean);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value", - "System;Lazy<>;false;Lazy;(System.Func,System.Threading.LazyThreadSafetyMode);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value", - "System;Lazy<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint", + "System;Lazy<>;false;Lazy;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual", + "System;Lazy<>;false;Lazy;(System.Func,System.Boolean);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual", + "System;Lazy<>;false;Lazy;(System.Func,System.Threading.LazyThreadSafetyMode);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual", + "System;Lazy<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual", ] } } @@ -664,12 +664,12 @@ private class SystemNullableFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Nullable<>;false;GetValueOrDefault;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value", - "System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value", - "System;Nullable<>;false;GetValueOrDefault;(T);;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value", - "System;Nullable<>;false;Nullable;(T);;Argument[0];ReturnValue.Property[System.Nullable<>.Value];value", - "System;Nullable<>;false;get_HasValue;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;taint", - "System;Nullable<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint", + "System;Nullable<>;false;GetValueOrDefault;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value;manual", + "System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value;manual", + "System;Nullable<>;false;GetValueOrDefault;(T);;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value;manual", + "System;Nullable<>;false;Nullable;(T);;Argument[0];ReturnValue.Property[System.Nullable<>.Value];value;manual", + "System;Nullable<>;false;get_HasValue;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;taint;manual", + "System;Nullable<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual", ] } } @@ -885,123 +885,123 @@ private class SystemStringFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;String;false;Clone;();;Argument[Qualifier];ReturnValue;value", - "System;String;false;Concat;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint", - "System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint", - "System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint", - "System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint", - "System;String;false;Concat;(System.Object[]);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint", - "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3].Element;ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint", - "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint", - "System;String;false;Concat;(System.String[]);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Concat<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint", - "System;String;false;Format;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint", - "System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.CharEnumerator.Current];value", - "System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value", - "System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint", - "System;String;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.Char,System.Object[]);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.Char,System.String[]);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.String,System.String[]);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint", - "System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint", - "System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint", - "System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint", - "System;String;false;Normalize;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;PadLeft;(System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;PadLeft;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;PadRight;(System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;PadRight;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Remove;(System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint", - "System;String;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint", - "System;String;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.Char[],System.Int32);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint", - "System;String;false;String;(System.Char[]);;Argument[0].Element;ReturnValue;taint", - "System;String;false;String;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System;String;false;Substring;(System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;ToLower;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;ToLowerInvariant;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;ToString;();;Argument[Qualifier];ReturnValue;value", - "System;String;false;ToString;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value", - "System;String;false;ToUpper;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;ToUpperInvariant;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Trim;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Trim;(System.Char);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;Trim;(System.Char[]);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;TrimEnd;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;TrimEnd;(System.Char);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;TrimEnd;(System.Char[]);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;TrimStart;();;Argument[Qualifier];ReturnValue;taint", - "System;String;false;TrimStart;(System.Char);;Argument[Qualifier];ReturnValue;taint", - "System;String;false;TrimStart;(System.Char[]);;Argument[Qualifier];ReturnValue;taint", + "System;String;false;Clone;();;Argument[Qualifier];ReturnValue;value;manual", + "System;String;false;Concat;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Concat;(System.Object[]);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3].Element;ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;manual", + "System;String;false;Concat;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Concat<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Format;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.CharEnumerator.Current];value;manual", + "System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual", + "System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.Char,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.Char,System.String[]);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.String[]);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual", + "System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual", + "System;String;false;Normalize;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;PadLeft;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;PadLeft;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;PadRight;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;PadRight;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Remove;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System;String;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.Char[],System.Int32);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual", + "System;String;false;String;(System.Char[]);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;String;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System;String;false;Substring;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;ToLower;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;ToLowerInvariant;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;ToString;();;Argument[Qualifier];ReturnValue;value;manual", + "System;String;false;ToString;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;manual", + "System;String;false;ToUpper;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;ToUpperInvariant;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Trim;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Trim;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;Trim;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;TrimEnd;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;TrimEnd;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;TrimEnd;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;TrimStart;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;TrimStart;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual", + "System;String;false;TrimStart;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual", ] } } @@ -1072,13 +1072,13 @@ private class SystemUriFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Uri;false;ToString;();;Argument[Qualifier];ReturnValue;taint", - "System;Uri;false;Uri;(System.String);;Argument[0];ReturnValue;taint", - "System;Uri;false;Uri;(System.String,System.Boolean);;Argument[0];ReturnValue;taint", - "System;Uri;false;Uri;(System.String,System.UriKind);;Argument[0];ReturnValue;taint", - "System;Uri;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint", - "System;Uri;false;get_PathAndQuery;();;Argument[Qualifier];ReturnValue;taint", - "System;Uri;false;get_Query;();;Argument[Qualifier];ReturnValue;taint", + "System;Uri;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;Uri;false;Uri;(System.String);;Argument[0];ReturnValue;taint;manual", + "System;Uri;false;Uri;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System;Uri;false;Uri;(System.String,System.UriKind);;Argument[0];ReturnValue;taint;manual", + "System;Uri;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;Uri;false;get_PathAndQuery;();;Argument[Qualifier];ReturnValue;taint;manual", + "System;Uri;false;get_Query;();;Argument[Qualifier];ReturnValue;taint;manual", ] } } @@ -1320,41 +1320,41 @@ private class SystemTupleFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value", - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value", - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value", - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value", - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value", - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value", - "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value", - "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value", - "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value", - "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value", - "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value", - "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value", - "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value", - "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value", - "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value", - "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value", - "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value", - "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value", - "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value", - "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value", - "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value", - "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value", - "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value", - "System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value", - "System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value", - "System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value", - "System;Tuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value", - "System;Tuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value", - "System;Tuple;false;Create<>;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value" + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value;manual", + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value;manual", + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value;manual", + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value;manual", + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value;manual", + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value;manual", + "System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value;manual", + "System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value;manual", + "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value;manual", + "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value;manual", + "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value;manual", + "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value;manual", + "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value;manual", + "System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value;manual", + "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value;manual", + "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value;manual", + "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value;manual", + "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value;manual", + "System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value;manual", + "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value;manual", + "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value;manual", + "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value;manual", + "System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value;manual", + "System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value;manual", + "System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value;manual", + "System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value;manual", + "System;Tuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value;manual", + "System;Tuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value;manual", + "System;Tuple;false;Create<>;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value;manual" ] } } @@ -1364,76 +1364,76 @@ private class SystemTupleTFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value", - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value", - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value", - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value", - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value", - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value", - "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item1];ReturnValue;value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item2];ReturnValue;value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item3];ReturnValue;value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item4];ReturnValue;value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item5];ReturnValue;value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item6];ReturnValue;value", - "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item7];ReturnValue;value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value", - "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item1];ReturnValue;value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item2];ReturnValue;value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item3];ReturnValue;value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item4];ReturnValue;value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item5];ReturnValue;value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item6];ReturnValue;value", - "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item7];ReturnValue;value", - "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value", - "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value", - "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value", - "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value", - "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value", - "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value", - "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item1];ReturnValue;value", - "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item2];ReturnValue;value", - "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item3];ReturnValue;value", - "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item4];ReturnValue;value", - "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item5];ReturnValue;value", - "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item6];ReturnValue;value", - "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value", - "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value", - "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value", - "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value", - "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value", - "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item1];ReturnValue;value", - "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item2];ReturnValue;value", - "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item3];ReturnValue;value", - "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item4];ReturnValue;value", - "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item5];ReturnValue;value", - "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value", - "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value", - "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value", - "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value", - "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item1];ReturnValue;value", - "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item2];ReturnValue;value", - "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item3];ReturnValue;value", - "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item4];ReturnValue;value", - "System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value", - "System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value", - "System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value", - "System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item1];ReturnValue;value", - "System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item2];ReturnValue;value", - "System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item3];ReturnValue;value", - "System;Tuple<,>;false;Tuple;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value", - "System;Tuple<,>;false;Tuple;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value", - "System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item1];ReturnValue;value", - "System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item2];ReturnValue;value", - "System;Tuple<>;false;Tuple;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value", - "System;Tuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<>.Item1];ReturnValue;value", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value;manual", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value;manual", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value;manual", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value;manual", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value;manual", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value;manual", + "System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item1];ReturnValue;value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item2];ReturnValue;value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item3];ReturnValue;value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item4];ReturnValue;value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item5];ReturnValue;value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item6];ReturnValue;value;manual", + "System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item7];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value;manual", + "System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item1];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item2];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item3];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item4];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item5];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item6];ReturnValue;value;manual", + "System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item7];ReturnValue;value;manual", + "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value;manual", + "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value;manual", + "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value;manual", + "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value;manual", + "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value;manual", + "System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value;manual", + "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item1];ReturnValue;value;manual", + "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item2];ReturnValue;value;manual", + "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item3];ReturnValue;value;manual", + "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item4];ReturnValue;value;manual", + "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item5];ReturnValue;value;manual", + "System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item6];ReturnValue;value;manual", + "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value;manual", + "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value;manual", + "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value;manual", + "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value;manual", + "System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value;manual", + "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item1];ReturnValue;value;manual", + "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item2];ReturnValue;value;manual", + "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item3];ReturnValue;value;manual", + "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item4];ReturnValue;value;manual", + "System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item5];ReturnValue;value;manual", + "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value;manual", + "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value;manual", + "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value;manual", + "System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value;manual", + "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item1];ReturnValue;value;manual", + "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item2];ReturnValue;value;manual", + "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item3];ReturnValue;value;manual", + "System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item4];ReturnValue;value;manual", + "System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value;manual", + "System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value;manual", + "System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value;manual", + "System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item1];ReturnValue;value;manual", + "System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item2];ReturnValue;value;manual", + "System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item3];ReturnValue;value;manual", + "System;Tuple<,>;false;Tuple;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value;manual", + "System;Tuple<,>;false;Tuple;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value;manual", + "System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item1];ReturnValue;value;manual", + "System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item2];ReturnValue;value;manual", + "System;Tuple<>;false;Tuple;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value;manual", + "System;Tuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<>.Item1];ReturnValue;value;manual", ] } } @@ -1443,132 +1443,132 @@ private class SystemTupleExtensionsFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item7];Argument[7];value", - "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item6];Argument[6];value", - "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item5];Argument[5];value", - "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item4];Argument[4];value", - "System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item3];Argument[3];value", - "System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item1];Argument[1];value", - "System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item2];Argument[2];value", - "System;TupleExtensions;false;Deconstruct<>;(System.Tuple,T1);;Argument[0].Property[System.Tuple<>.Item1];Argument[1];value", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item7];Argument[7];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item6];Argument[6];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item5];Argument[5];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item4];Argument[4];value;manual", + "System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item3];Argument[3];value;manual", + "System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item1];Argument[1];value;manual", + "System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item2];Argument[2];value;manual", + "System;TupleExtensions;false;Deconstruct<>;(System.Tuple,T1);;Argument[0].Property[System.Tuple<>.Item1];Argument[1];value;manual", ] } } @@ -1578,41 +1578,41 @@ private class SystemValueTupleFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value", - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value", - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value", - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value", - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value", - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value", - "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value", - "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value", - "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value", - "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value", - "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value", - "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value", - "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value", - "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value", - "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value", - "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value", - "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value", - "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value", - "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value", - "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value", - "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value", - "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value", - "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value", - "System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value", - "System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value", - "System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value", - "System;ValueTuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value", - "System;ValueTuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value", - "System;ValueTuple;false;Create<>;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value;manual", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value;manual", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value;manual", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value;manual", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value;manual", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value;manual", + "System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value;manual", + "System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value;manual", + "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value;manual", + "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value;manual", + "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value;manual", + "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value;manual", + "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value;manual", + "System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value;manual", + "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value;manual", + "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value;manual", + "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value;manual", + "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value;manual", + "System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value;manual", + "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value;manual", + "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value;manual", + "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value;manual", + "System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value;manual", + "System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value;manual", + "System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value;manual", + "System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value;manual", + "System;ValueTuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value;manual", + "System;ValueTuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value;manual", + "System;ValueTuple;false;Create<>;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value;manual", ] } } @@ -1622,76 +1622,76 @@ private class SystemValueTupleTFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value", - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value", - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value", - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value", - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value", - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value", - "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item1];ReturnValue;value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item2];ReturnValue;value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item3];ReturnValue;value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item4];ReturnValue;value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item5];ReturnValue;value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item6];ReturnValue;value", - "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item7];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value", - "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item1];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item2];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item3];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item4];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item5];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item6];ReturnValue;value", - "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item7];ReturnValue;value", - "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value", - "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value", - "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value", - "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value", - "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value", - "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value", - "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item1];ReturnValue;value", - "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item2];ReturnValue;value", - "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item3];ReturnValue;value", - "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item4];ReturnValue;value", - "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item5];ReturnValue;value", - "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item6];ReturnValue;value", - "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value", - "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value", - "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value", - "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value", - "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value", - "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item1];ReturnValue;value", - "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item2];ReturnValue;value", - "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item3];ReturnValue;value", - "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item4];ReturnValue;value", - "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item5];ReturnValue;value", - "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value", - "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value", - "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value", - "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value", - "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item1];ReturnValue;value", - "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item2];ReturnValue;value", - "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item3];ReturnValue;value", - "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item4];ReturnValue;value", - "System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value", - "System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value", - "System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value", - "System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item1];ReturnValue;value", - "System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item2];ReturnValue;value", - "System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item3];ReturnValue;value", - "System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value", - "System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value", - "System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item1];ReturnValue;value", - "System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item2];ReturnValue;value", - "System;ValueTuple<>;false;ValueTuple;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value", - "System;ValueTuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<>.Item1];ReturnValue;value", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value;manual", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value;manual", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value;manual", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value;manual", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value;manual", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value;manual", + "System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item3];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item4];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item5];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item6];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item7];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value;manual", + "System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item3];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item4];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item5];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item6];ReturnValue;value;manual", + "System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item7];ReturnValue;value;manual", + "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value;manual", + "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value;manual", + "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value;manual", + "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value;manual", + "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value;manual", + "System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value;manual", + "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item3];ReturnValue;value;manual", + "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item4];ReturnValue;value;manual", + "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item5];ReturnValue;value;manual", + "System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item6];ReturnValue;value;manual", + "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value;manual", + "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value;manual", + "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value;manual", + "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value;manual", + "System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value;manual", + "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item3];ReturnValue;value;manual", + "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item4];ReturnValue;value;manual", + "System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item5];ReturnValue;value;manual", + "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value;manual", + "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value;manual", + "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value;manual", + "System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value;manual", + "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item3];ReturnValue;value;manual", + "System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item4];ReturnValue;value;manual", + "System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value;manual", + "System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value;manual", + "System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value;manual", + "System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item3];ReturnValue;value;manual", + "System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value;manual", + "System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value;manual", + "System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item1];ReturnValue;value;manual", + "System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item2];ReturnValue;value;manual", + "System;ValueTuple<>;false;ValueTuple;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value;manual", + "System;ValueTuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<>.Item1];ReturnValue;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/generated/dotnet/Runtime.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/generated/dotnet/Runtime.qll index 8415636ddfb..f4c5596c973 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/generated/dotnet/Runtime.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/generated/dotnet/Runtime.qll @@ -1,10122 +1,9892 @@ /** * THIS FILE IS AN AUTO-GENERATED MODELS AS DATA FILE. DO NOT EDIT. - * Definitions of taint steps in the dotnetruntime framework. + * Definitions of taint steps in the Runtime framework. */ import csharp private import semmle.code.csharp.dataflow.ExternalFlow +private class RuntimeSinksCsv extends SinkModelCsv { + override predicate row(string row) { + row = + [ + "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];sql;generated", + "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.String);;Argument[0];sql;generated", + "System.Net.Http;StringContent;false;StringContent;(System.String);;Argument[0];xss;generated", + "System.Net.Http;StringContent;false;StringContent;(System.String,System.Text.Encoding);;Argument[0];xss;generated" + ] + } +} + private class RuntimeSummaryCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "JsonToItemsTaskFactory;JsonToItemsTaskFactory+CaseInsensitiveDictionaryConverter;false;Read;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint", - "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonModelItemConverter;false;Read;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint", - "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonToItemsTask;false;SetPropertyValue;(Microsoft.Build.Framework.TaskPropertyInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonToItemsTask;false;get_BuildEngine;();;Argument[Qualifier];ReturnValue;generated:taint", - "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonToItemsTask;false;set_BuildEngine;(Microsoft.Build.Framework.IBuildEngine);;Argument[0];Argument[Qualifier];generated:taint", - "JsonToItemsTaskFactory;JsonToItemsTaskFactory;false;GetTaskParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "JsonToItemsTaskFactory;JsonToItemsTaskFactory;false;Initialize;(System.String,System.Collections.Generic.IDictionary,System.String,Microsoft.Build.Framework.IBuildEngine);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;Convert;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type);;Argument[2];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable,System.Type,System.Collections.Generic.IEnumerable);;Argument[4].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;IsEvent;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type);;Argument[2];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint", - "Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint", - "Microsoft.CSharp;CSharpCodeProvider;false;CSharpCodeProvider;(System.Collections.Generic.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.CSharp;CSharpCodeProvider;false;CreateCompiler;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.CSharp;CSharpCodeProvider;false;CreateGenerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.CSharp;CSharpCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.CSharp;CSharpCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;get_AbsoluteExpiration;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;get_AbsoluteExpirationRelativeToNow;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;get_SlidingExpiration;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;set_AbsoluteExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;set_AbsoluteExpirationRelativeToNow;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;set_SlidingExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetOptions;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetOptions;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetOptions;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetPriority;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.CacheItemPriority);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSize;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem);;Argument[2];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[2];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Primitives.IChangeToken);;Argument[2];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,System.DateTimeOffset);;Argument[2];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,System.TimeSpan);;Argument[2];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCache;false;CreateEntry;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCache;false;MemoryCache;(Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Logging.ILoggerFactory);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetPriority;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.CacheItemPriority);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSize;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.Int64);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_AbsoluteExpiration;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_AbsoluteExpirationRelativeToNow;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_Size;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_SlidingExpiration;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_AbsoluteExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_AbsoluteExpirationRelativeToNow;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_Size;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_SlidingExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheOptions;false;get_SizeLimit;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Caching.Memory;MemoryCacheOptions;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.Caching.Memory;MemoryCacheOptions;false;set_SizeLimit;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration.EnvironmentVariables;EnvironmentVariablesConfigurationProvider;false;EnvironmentVariablesConfigurationProvider;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration.EnvironmentVariables;EnvironmentVariablesConfigurationProvider;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration.Memory;MemoryConfigurationProvider;false;MemoryConfigurationProvider;(Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration.Memory;MemoryConfigurationSource;false;Build;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration.UserSecrets;PathHelper;false;GetSecretsPathFromSecretsId;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;false;CreateDecryptingXmlReader;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ChainedBuilderExtensions;false;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ChainedBuilderExtensions;false;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ChainedConfigurationProvider;false;GetChildKeys;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ChainedConfigurationProvider;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ChainedConfigurationProvider;false;TryGet;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;CommandLineConfigurationExtensions;false;AddCommandLine;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String[]);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;CommandLineConfigurationExtensions;false;AddCommandLine;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String[],System.Collections.Generic.IDictionary);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;Get;(Microsoft.Extensions.Configuration.IConfiguration,System.Type);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;Get<>;(Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object);;Argument[3];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue<>;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue<>;(Microsoft.Extensions.Configuration.IConfiguration,System.String,T);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue<>;(Microsoft.Extensions.Configuration.IConfiguration,System.String,T);;Argument[2];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationBuilder;false;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.Configuration;ConfigurationExtensions;false;GetConnectionString;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationExtensions;false;GetRequiredSection;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationExtensions;false;GetRequiredSection;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;Build;();;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;GetSection;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;GetSection;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Sources;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationPath;false;Combine;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationPath;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationPath;false;GetParentPath;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationPath;false;GetSectionKey;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationProvider;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationProvider;true;GetChildKeys;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRoot;false;ConfigurationRoot;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRoot;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRoot;false;GetSection;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRoot;false;GetSection;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRoot;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRoot;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationRootExtensions;false;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationSection;false;ConfigurationSection;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationSection;false;ConfigurationSection;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;FileConfigurationExtensions;false;SetBasePath;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;FileConfigurationExtensions;false;SetFileProvider;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;MemoryConfigurationBuilderExtensions;false;AddInMemoryCollection;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;MemoryConfigurationBuilderExtensions;false;AddInMemoryCollection;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets<>;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets<>;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets<>;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;RemoveAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;RemoveAll<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Replace;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Replace;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Replace;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAdd;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAdd;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAddEnumerable;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAddEnumerable;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[0].Element;generated:taint", - "Microsoft.Extensions.DependencyInjection.Specification.Fakes;ClassWithNestedReferencesToProvider;false;ClassWithNestedReferencesToProvider;(System.IServiceProvider);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyInjection.Specification.Fakes;FakeDisposableCallbackService;false;FakeDisposableCallbackService;(Microsoft.Extensions.DependencyInjection.Specification.Fakes.FakeDisposeCallback);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyInjection;ActivatorUtilities;false;GetServiceOrCreateInstance;(System.IServiceProvider,System.Type);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ActivatorUtilities;false;GetServiceOrCreateInstance<>;(System.IServiceProvider);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;AsyncServiceScope;false;AsyncServiceScope;(Microsoft.Extensions.DependencyInjection.IServiceScope);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyInjection;AsyncServiceScope;false;get_ServiceProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;DefaultServiceProviderFactory;false;CreateBuilder;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;DefaultServiceProviderFactory;false;DefaultServiceProviderFactory;(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;AddHttpMessageHandler<>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;AddTypedClient<,>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;AddTypedClient<>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;ConfigurePrimaryHttpMessageHandler<>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;SetHandlerLifetime;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;false;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;false;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;false;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;false;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;false;Bind<>;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsBuilderDataAnnotationsExtensions;false;ValidateDataAnnotations<>;(Microsoft.Extensions.Options.OptionsBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsBuilderExtensions;false;ValidateOnStart<>;(Microsoft.Extensions.Options.OptionsBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;false;Configure<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;false;Configure<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;AddOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;ConfigureOptions<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;false;AddHostedService<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped<,>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton<,>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient<,>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetRequiredService;(System.IServiceProvider,System.Type);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetRequiredService<>;(System.IServiceProvider);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetService<>;(System.IServiceProvider);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetServices;(System.IServiceProvider,System.Type);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetServices<>;(System.IServiceProvider);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyModel.Resolution;AppBaseCompilationAssemblyResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;generated:taint", - "Microsoft.Extensions.DependencyModel.Resolution;CompositeCompilationAssemblyResolver;false;CompositeCompilationAssemblyResolver;(Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyModel.Resolution;CompositeCompilationAssemblyResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;generated:taint", - "Microsoft.Extensions.DependencyModel.Resolution;PackageCompilationAssemblyResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;generated:taint", - "Microsoft.Extensions.DependencyModel.Resolution;ReferenceAssemblyPathResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;generated:taint", - "Microsoft.Extensions.DependencyModel;CompilationLibrary;false;ResolveReferencePaths;(Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver[]);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyModel;RuntimeAssembly;false;Create;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyModel;RuntimeAssembly;false;RuntimeAssembly;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;RuntimeAssetGroup;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;RuntimeAssetGroup;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;get_AssetPaths;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;get_RuntimeFiles;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileProviders.Composite;CompositeDirectoryContents;false;CompositeDirectoryContents;(System.Collections.Generic.IList,System.String);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Composite;CompositeDirectoryContents;false;CompositeDirectoryContents;(System.Collections.Generic.IList,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Internal;PhysicalDirectoryContents;false;PhysicalDirectoryContents;(System.String,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Physical;PhysicalDirectoryInfo;false;PhysicalDirectoryInfo;(System.IO.DirectoryInfo);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Physical;PhysicalFileInfo;false;PhysicalFileInfo;(System.IO.FileInfo);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Physical;PhysicalFileInfo;false;get_PhysicalPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileProviders.Physical;PhysicalFilesWatcher;false;PhysicalFilesWatcher;(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Physical;PhysicalFilesWatcher;false;PhysicalFilesWatcher;(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;false;PollingFileChangeToken;(System.IO.FileInfo);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;CompositeFileProvider;(Microsoft.Extensions.FileProviders.IFileProvider[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;CompositeFileProvider;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;GetDirectoryContents;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;GetDirectoryContents;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;get_FileProviders;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileProviders;PhysicalFileProvider;false;GetDirectoryContents;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Abstractions;DirectoryInfoWrapper;false;GetDirectory;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Abstractions;FileInfoWrapper;false;FileInfoWrapper;(System.IO.FileInfo);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Abstractions;FileInfoWrapper;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContext<>;false;PushDataFrame;(TFrame);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinear+FrameData;false;get_Stem;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinear;false;CalculateStem;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRagged+FrameData;false;get_Stem;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRagged;false;CalculateStem;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing.Internal;MatcherContext;false;MatcherContext;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase,System.StringComparison);;Argument[2];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;GetDirectory;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;GetFile;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;get_ParentDirectory;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.FileSystemGlobbing;Matcher;false;AddExclude;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.FileSystemGlobbing;Matcher;false;AddInclude;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;ApplicationLifetime;(Microsoft.Extensions.Logging.ILogger);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;get_ApplicationStarted;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;get_ApplicationStopped;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;get_ApplicationStopping;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting.Systemd;ServiceState;false;ServiceState;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Hosting.Systemd;ServiceState;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting.WindowsServices;WindowsServiceLifetime;false;WaitForStartAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;BackgroundService;true;StartAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;BackgroundService;true;get_ExecuteTask;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;HostBuilder;false;UseServiceProviderFactory<>;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Hosting;HostBuilder;false;UseServiceProviderFactory<>;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);;Argument[Qualifier];ReturnValue;generated:value", - "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;ConfigureDefaults;(Microsoft.Extensions.Hosting.IHostBuilder,System.String[]);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;UseContentRoot;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;UseEnvironment;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;SystemdHostBuilderExtensions;false;UseSystemd;(Microsoft.Extensions.Hosting.IHostBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Hosting;WindowsServiceLifetimeHostBuilderExtensions;false;UseWindowsService;(Microsoft.Extensions.Hosting.IHostBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;false;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;false;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;false;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http.Logging;LoggingScopeHttpMessageHandler;false;LoggingScopeHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http.Logging;LoggingScopeHttpMessageHandler;false;LoggingScopeHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http.Logging;LoggingScopeHttpMessageHandler;false;LoggingScopeHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http;HttpClientFactoryOptions;false;get_HandlerLifetime;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Http;HttpClientFactoryOptions;false;set_HandlerLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Http;HttpMessageHandlerBuilder;false;CreateHandlerPipeline;(System.Net.Http.HttpMessageHandler,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Http;HttpMessageHandlerBuilder;false;CreateHandlerPipeline;(System.Net.Http.HttpMessageHandler,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;ConsoleLoggerProvider;(Microsoft.Extensions.Options.IOptionsMonitor,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;CreateLogger;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;CreateLogger;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;SetScopeProvider;(Microsoft.Extensions.Logging.IExternalScopeProvider);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging.Debug;DebugLoggerProvider;false;CreateLogger;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;CreateLogger;(System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;CreateLogger;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;EventLogLoggerProvider;(Microsoft.Extensions.Logging.EventLog.EventLogSettings);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;SetScopeProvider;(Microsoft.Extensions.Logging.IExternalScopeProvider);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging.EventSource;EventSourceLoggerProvider;false;CreateLogger;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging.EventSource;EventSourceLoggerProvider;false;EventSourceLoggerProvider;(Microsoft.Extensions.Logging.EventSource.LoggingEventSource);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging.TraceSource;TraceSourceLoggerProvider;false;TraceSourceLoggerProvider;(System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging.TraceSource;TraceSourceLoggerProvider;false;TraceSourceLoggerProvider;(System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddConsoleFormatter<,>;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;false;AddDebug;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;false;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;false;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.EventLog.EventLogSettings);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;EventSourceLoggerFactoryExtensions;false;AddEventSourceLogger;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter<>;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter<>;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;Logger<>;false;BeginScope<>;(TState);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;LoggerExtensions;false;BeginScope;(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;LoggerExternalScopeProvider;false;Push;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;AddConfiguration;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;AddProvider;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;ClearProviders;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;SetMinimumLevel;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Diagnostics.SourceSwitch);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Diagnostics.TraceListener);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Options;ConfigurationChangeTokenSource<>;false;ConfigurationChangeTokenSource;(System.String,Microsoft.Extensions.Configuration.IConfiguration);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Options;ConfigurationChangeTokenSource<>;false;GetChangeToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Options;OptionsFactory<>;false;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Options;OptionsFactory<>;false;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);;Argument[1].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Options;OptionsFactory<>;false;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);;Argument[2].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Options;OptionsManager<>;false;OptionsManager;(Microsoft.Extensions.Options.IOptionsFactory);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Options;OptionsMonitor<>;false;OptionsMonitor;(Microsoft.Extensions.Options.IOptionsFactory,System.Collections.Generic.IEnumerable>,Microsoft.Extensions.Options.IOptionsMonitorCache);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Options;OptionsMonitor<>;false;OptionsMonitor;(Microsoft.Extensions.Options.IOptionsFactory,System.Collections.Generic.IEnumerable>,Microsoft.Extensions.Options.IOptionsMonitorCache);;Argument[2];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Primitives;Extensions;false;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Primitives;StringTokenizer+Enumerator;false;Enumerator;(Microsoft.Extensions.Primitives.StringTokenizer);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(System.String,System.Char[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "Microsoft.Extensions.Primitives;StringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Interop;AnsiStringMarshaller;false;AnsiStringMarshaller;(Microsoft.Interop.Utf8StringMarshaller);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;ArrayMarshaller;false;ArrayMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Boolean,Microsoft.Interop.InteropGenerationOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;ArrayMarshaller;false;ArrayMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Boolean,Microsoft.Interop.InteropGenerationOptions);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Interop;ArrayMarshaller;false;ArrayMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Boolean,Microsoft.Interop.InteropGenerationOptions);;Argument[3];Argument[Qualifier];generated:taint", - "Microsoft.Interop;ArrayMarshaller;false;AsNativeType;(Microsoft.Interop.TypePositionInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Interop;AttributedMarshallingModelGeneratorFactory;false;AttributedMarshallingModelGeneratorFactory;(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.InteropGenerationOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;AttributedMarshallingModelGeneratorFactory;false;AttributedMarshallingModelGeneratorFactory;(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.InteropGenerationOptions);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Interop;AttributedMarshallingModelGeneratorFactory;false;AttributedMarshallingModelGeneratorFactory;(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.InteropGenerationOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;BoolMarshallerBase;false;AsNativeType;(Microsoft.Interop.TypePositionInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Interop;BoolMarshallerBase;false;BoolMarshallerBase;(Microsoft.CodeAnalysis.CSharp.Syntax.PredefinedTypeSyntax,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;ByValueContentsMarshalKindValidator;false;ByValueContentsMarshalKindValidator;(Microsoft.Interop.IMarshallingGeneratorFactory);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;ConditionalStackallocMarshallingGenerator;false;GetAllocationMarkerIdentifier;(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Interop;DllImportGenerator+IncrementalityTracker;false;get_ExecutedSteps;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Interop;GeneratorDiagnostics;false;get_Diagnostics;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Interop;MarshallerHelpers;false;GetCompatibleGenericTypeParameterSyntax;(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax);;Argument[0];ReturnValue;generated:taint", - "Microsoft.Interop;MarshallerHelpers;false;GetMarshallerIdentifier;(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Interop;MarshallerHelpers;false;GetNativeSpanIdentifier;(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[2];Argument[Qualifier];generated:taint", - "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[3];Argument[Qualifier];generated:taint", - "Microsoft.Interop;PinnableManagedValueMarshaller;false;AsNativeType;(Microsoft.Interop.TypePositionInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Interop;PinnableManagedValueMarshaller;false;PinnableManagedValueMarshaller;(Microsoft.Interop.IMarshallingGenerator);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;PlatformDefinedStringMarshaller;false;PlatformDefinedStringMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.Interop.IMarshallingGenerator);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Interop;PlatformDefinedStringMarshaller;false;PlatformDefinedStringMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.Interop.IMarshallingGenerator);;Argument[1];Argument[Qualifier];generated:taint", - "Microsoft.Interop;StubCodeContext;true;GetAdditionalIdentifier;(Microsoft.Interop.TypePositionInfo,System.String);;Argument[1];ReturnValue;generated:taint", - "Microsoft.Interop;StubCodeContext;true;GetAdditionalIdentifier;(Microsoft.Interop.TypePositionInfo,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.NET.Build.Tasks;RunReadyToRunCompiler;false;GenerateResponseFileCommands;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.NETCore.Platforms.BuildTasks;Extensions;false;NullAsEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "Microsoft.NETCore.Platforms.BuildTasks;RuntimeGroupCollection;false;RuntimeGroupCollection;(System.Collections.Generic.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.NETCore.Platforms.BuildTasks;RuntimeVersion;false;RuntimeVersion;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.NETCore.Platforms.BuildTasks;RuntimeVersion;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.VisualBasic;VBCodeProvider;false;CreateCompiler;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.VisualBasic;VBCodeProvider;false;CreateGenerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.VisualBasic;VBCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.VisualBasic;VBCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "Microsoft.VisualBasic;VBCodeProvider;false;VBCodeProvider;(System.Collections.Generic.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint", - "Microsoft.Win32.SafeHandles;SafeFileHandle;false;SafeFileHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Win32.SafeHandles;SafePipeHandle;false;SafePipeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Win32.SafeHandles;SafeProcessHandle;false;SafeProcessHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Win32.SafeHandles;SafeRegistryHandle;false;SafeRegistryHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Win32.SafeHandles;SafeWaitHandle;false;SafeWaitHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "Microsoft.Win32;RegistryKey;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Win32;RegistryKey;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint", - "Microsoft.Win32;RegistryKey;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;generated:taint", - "System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[1];Argument[Qualifier];generated:taint", - "System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[2];Argument[Qualifier];generated:taint", - "System.Buffers;MemoryHandle;false;get_Pointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;MemoryManager<>;true;get_Memory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>+Enumerator;false;Enumerator;(System.Buffers.ReadOnlySequence<>);;Argument[0];Argument[Qualifier];generated:taint", - "System.Buffers;ReadOnlySequence<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[2];Argument[Qualifier];generated:taint", - "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint", - "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[1];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64);;Argument[Qualifier];ReturnValue;generated:value", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[0];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[0];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[0];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[1];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;TryGet;(System.SequencePosition,System.ReadOnlyMemory,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;get_End;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;get_First;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;ReadOnlySequence<>;false;get_Start;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;SequenceReader;(System.Buffers.ReadOnlySequence);;Argument[0];Argument[Qualifier];generated:taint", - "System.Buffers;SequenceReader<>;false;TryReadExact;(System.Int32,System.Buffers.ReadOnlySequence);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,T,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;TryReadToAny;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;get_Position;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Buffers;SequenceReader<>;false;get_UnreadSequence;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeCompiler;false;JoinStringArray;(System.String[],System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeCompiler;false;JoinStringArray;(System.String[],System.String);;Argument[1];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeCompiler;true;GetResponseFileCmdArgs;(System.CodeDom.Compiler.CompilerParameters,System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;CreateEscapedIdentifier;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;CreateGenerator;(System.IO.TextWriter);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;CreateGenerator;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;CreateValidIdentifier;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromCompileUnit;(System.CodeDom.CodeCompileUnit,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromExpression;(System.CodeDom.CodeExpression,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromStatement;(System.CodeDom.CodeStatement,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeDomProvider;true;GetTypeOutput;(System.CodeDom.CodeTypeReference);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;CreateEscapedIdentifier;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;CreateValidIdentifier;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromCompileUnit;(System.CodeDom.CodeCompileUnit,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromExpression;(System.CodeDom.CodeExpression,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromStatement;(System.CodeDom.CodeStatement,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GenerateTypes;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;GetTypeOutput;(System.CodeDom.CodeTypeReference);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentClass;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentMember;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentMemberName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;false;get_Output;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGenerator;true;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;true;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGenerator;true;GenerateNamespace;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CodeGeneratorOptions;false;get_BracingStyle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGeneratorOptions;false;get_IndentString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CodeGeneratorOptions;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;Add;(System.CodeDom.Compiler.CompilerError);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;AddRange;(System.CodeDom.Compiler.CompilerErrorCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;AddRange;(System.CodeDom.Compiler.CompilerError[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;CompilerErrorCollection;(System.CodeDom.Compiler.CompilerErrorCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;CompilerErrorCollection;(System.CodeDom.Compiler.CompilerError[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;CopyTo;(System.CodeDom.Compiler.CompilerError[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;Insert;(System.Int32,System.CodeDom.Compiler.CompilerError);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;Remove;(System.CodeDom.Compiler.CompilerError);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CompilerErrorCollection;false;set_Item;(System.Int32,System.CodeDom.Compiler.CompilerError);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerInfo;false;get_CodeDomProviderType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CompilerParameters;false;get_TempFiles;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CompilerParameters;false;set_TempFiles;(System.CodeDom.Compiler.TempFileCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;CompilerResults;false;get_CompiledAssembly;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;CompilerResults;false;set_CompiledAssembly;(System.Reflection.Assembly);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[2].Element;ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[4];ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3].Element;ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[1].Element;ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[2].Element;ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[4];ReturnValue;generated:taint", - "System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Tool;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;WriteLineNoTabsAsync;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;WriteLineNoTabsAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;get_InnerWriter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;get_NewLine;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;IndentedTextWriter;false;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;TempFileCollection;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;get_BasePath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom.Compiler;TempFileCollection;false;get_TempDir;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeArgumentReferenceExpression;false;CodeArgumentReferenceExpression;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArgumentReferenceExpression;false;get_ParameterName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeArgumentReferenceExpression;false;set_ParameterName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;get_CreateType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;get_Initializers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeArrayCreateExpression;false;set_CreateType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayIndexerExpression;false;CodeArrayIndexerExpression;(System.CodeDom.CodeExpression,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeArrayIndexerExpression;false;get_Indices;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttachEventStatement;false;CodeAttachEventStatement;(System.CodeDom.CodeEventReferenceExpression,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttachEventStatement;false;get_Event;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttachEventStatement;false;set_Event;(System.CodeDom.CodeEventReferenceExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgument;false;CodeAttributeArgument;(System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgument;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttributeArgument;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;Add;(System.CodeDom.CodeAttributeArgument);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;AddRange;(System.CodeDom.CodeAttributeArgumentCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;AddRange;(System.CodeDom.CodeAttributeArgument[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;CodeAttributeArgumentCollection;(System.CodeDom.CodeAttributeArgumentCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;CodeAttributeArgumentCollection;(System.CodeDom.CodeAttributeArgument[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;CopyTo;(System.CodeDom.CodeAttributeArgument[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;Insert;(System.Int32,System.CodeDom.CodeAttributeArgument);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;Remove;(System.CodeDom.CodeAttributeArgument);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttributeArgumentCollection;false;set_Item;(System.Int32,System.CodeDom.CodeAttributeArgument);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeAttributeArgument[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeAttributeArgument[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.String,System.CodeDom.CodeAttributeArgument[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.String,System.CodeDom.CodeAttributeArgument[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttributeDeclaration;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;Add;(System.CodeDom.CodeAttributeDeclaration);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;AddRange;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;AddRange;(System.CodeDom.CodeAttributeDeclaration[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;CodeAttributeDeclarationCollection;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;CodeAttributeDeclarationCollection;(System.CodeDom.CodeAttributeDeclaration[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;CopyTo;(System.CodeDom.CodeAttributeDeclaration[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;Insert;(System.Int32,System.CodeDom.CodeAttributeDeclaration);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;Remove;(System.CodeDom.CodeAttributeDeclaration);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeAttributeDeclarationCollection;false;set_Item;(System.Int32,System.CodeDom.CodeAttributeDeclaration);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCastExpression;false;CodeCastExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCastExpression;false;CodeCastExpression;(System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCastExpression;false;CodeCastExpression;(System.Type,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCastExpression;false;get_TargetType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCastExpression;false;set_TargetType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference,System.CodeDom.CodeStatement[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference,System.CodeDom.CodeStatement[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference,System.CodeDom.CodeStatement[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;get_CatchExceptionType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCatchClause;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCatchClause;false;get_Statements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCatchClause;false;set_CatchExceptionType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClause;false;set_LocalName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;Add;(System.CodeDom.CodeCatchClause);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;AddRange;(System.CodeDom.CodeCatchClauseCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;AddRange;(System.CodeDom.CodeCatchClause[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;CodeCatchClauseCollection;(System.CodeDom.CodeCatchClauseCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;CodeCatchClauseCollection;(System.CodeDom.CodeCatchClause[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;CopyTo;(System.CodeDom.CodeCatchClause[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;Insert;(System.Int32,System.CodeDom.CodeCatchClause);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;Remove;(System.CodeDom.CodeCatchClause);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCatchClauseCollection;false;set_Item;(System.Int32,System.CodeDom.CodeCatchClause);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeChecksumPragma;false;CodeChecksumPragma;(System.String,System.Guid,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeChecksumPragma;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeChecksumPragma;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeComment;false;CodeComment;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeComment;false;CodeComment;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeComment;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeComment;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;Add;(System.CodeDom.CodeCommentStatement);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;AddRange;(System.CodeDom.CodeCommentStatementCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;AddRange;(System.CodeDom.CodeCommentStatement[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;CodeCommentStatementCollection;(System.CodeDom.CodeCommentStatementCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;CodeCommentStatementCollection;(System.CodeDom.CodeCommentStatement[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;CopyTo;(System.CodeDom.CodeCommentStatement[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;Insert;(System.Int32,System.CodeDom.CodeCommentStatement);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;Remove;(System.CodeDom.CodeCommentStatement);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCommentStatementCollection;false;set_Item;(System.Int32,System.CodeDom.CodeCommentStatement);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeCompileUnit;false;get_AssemblyCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCompileUnit;false;get_EndDirectives;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCompileUnit;false;get_ReferencedAssemblies;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeCompileUnit;false;get_StartDirectives;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeDefaultValueExpression;false;CodeDefaultValueExpression;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDefaultValueExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeDefaultValueExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDelegateCreateExpression;false;CodeDelegateCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDelegateCreateExpression;false;CodeDelegateCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDelegateCreateExpression;false;get_DelegateType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeDelegateCreateExpression;false;get_MethodName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeDelegateCreateExpression;false;set_DelegateType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDelegateCreateExpression;false;set_MethodName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;Add;(System.CodeDom.CodeDirective);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;AddRange;(System.CodeDom.CodeDirectiveCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;AddRange;(System.CodeDom.CodeDirective[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;CodeDirectiveCollection;(System.CodeDom.CodeDirectiveCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;CodeDirectiveCollection;(System.CodeDom.CodeDirective[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;CopyTo;(System.CodeDom.CodeDirective[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;Insert;(System.Int32,System.CodeDom.CodeDirective);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;Remove;(System.CodeDom.CodeDirective);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeDirectiveCollection;false;set_Item;(System.Int32,System.CodeDom.CodeDirective);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeEventReferenceExpression;false;CodeEventReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeEventReferenceExpression;false;get_EventName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeEventReferenceExpression;false;set_EventName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;Add;(System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;AddRange;(System.CodeDom.CodeExpressionCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;AddRange;(System.CodeDom.CodeExpression[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;CodeExpressionCollection;(System.CodeDom.CodeExpressionCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;CodeExpressionCollection;(System.CodeDom.CodeExpression[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;CopyTo;(System.CodeDom.CodeExpression[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeExpressionCollection;false;Insert;(System.Int32,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;Remove;(System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeExpressionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeExpressionCollection;false;set_Item;(System.Int32,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeFieldReferenceExpression;false;CodeFieldReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeFieldReferenceExpression;false;get_FieldName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeFieldReferenceExpression;false;set_FieldName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeGotoStatement;false;CodeGotoStatement;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeGotoStatement;false;get_Label;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeGotoStatement;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeIndexerExpression;false;CodeIndexerExpression;(System.CodeDom.CodeExpression,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeIndexerExpression;false;get_Indices;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeLabeledStatement;false;CodeLabeledStatement;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeLabeledStatement;false;CodeLabeledStatement;(System.String,System.CodeDom.CodeStatement);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeLabeledStatement;false;get_Label;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeLabeledStatement;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeLinePragma;false;CodeLinePragma;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeLinePragma;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeLinePragma;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberEvent;false;get_ImplementationTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberEvent;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberEvent;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.CodeDom.CodeTypeReference,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.CodeDom.CodeTypeReference,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberField;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberField;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberMethod;false;get_ImplementationTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberMethod;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberMethod;false;get_ReturnTypeCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberMethod;false;get_Statements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberMethod;false;get_TypeParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberMethod;false;set_ReturnType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMemberProperty;false;get_ImplementationTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberProperty;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMemberProperty;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodInvokeExpression;false;CodeMethodInvokeExpression;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeExpression[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodInvokeExpression;false;CodeMethodInvokeExpression;(System.CodeDom.CodeMethodReferenceExpression,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodInvokeExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMethodInvokeExpression;false;set_Method;(System.CodeDom.CodeMethodReferenceExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodReferenceExpression;false;CodeMethodReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodReferenceExpression;false;CodeMethodReferenceExpression;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeTypeReference[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodReferenceExpression;false;CodeMethodReferenceExpression;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeTypeReference[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeMethodReferenceExpression;false;get_MethodName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMethodReferenceExpression;false;get_TypeArguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeMethodReferenceExpression;false;set_MethodName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespace;false;CodeNamespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespace;false;get_Comments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespace;false;get_Imports;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespace;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespace;false;get_Types;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespace;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;Add;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;AddRange;(System.CodeDom.CodeNamespaceCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;AddRange;(System.CodeDom.CodeNamespace[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;CodeNamespaceCollection;(System.CodeDom.CodeNamespaceCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;CodeNamespaceCollection;(System.CodeDom.CodeNamespace[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;CopyTo;(System.CodeDom.CodeNamespace[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;Insert;(System.Int32,System.CodeDom.CodeNamespace);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;Remove;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespaceCollection;false;set_Item;(System.Int32,System.CodeDom.CodeNamespace);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceImport;false;CodeNamespaceImport;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespaceImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceImportCollection;false;Add;(System.CodeDom.CodeNamespaceImport);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceImportCollection;false;AddRange;(System.CodeDom.CodeNamespaceImport[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeNamespaceImportCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespaceImportCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeNamespaceImportCollection;false;set_Item;(System.Int32,System.CodeDom.CodeNamespaceImport);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeObject;false;get_UserData;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeObjectCreateExpression;false;CodeObjectCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeObjectCreateExpression;false;CodeObjectCreateExpression;(System.String,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeObjectCreateExpression;false;CodeObjectCreateExpression;(System.Type,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeObjectCreateExpression;false;get_CreateType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeObjectCreateExpression;false;set_CreateType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.CodeDom.CodeTypeReference,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.CodeDom.CodeTypeReference,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;set_CustomAttributes;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;Add;(System.CodeDom.CodeParameterDeclarationExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;AddRange;(System.CodeDom.CodeParameterDeclarationExpressionCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;AddRange;(System.CodeDom.CodeParameterDeclarationExpression[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;CodeParameterDeclarationExpressionCollection;(System.CodeDom.CodeParameterDeclarationExpressionCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;CodeParameterDeclarationExpressionCollection;(System.CodeDom.CodeParameterDeclarationExpression[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;CopyTo;(System.CodeDom.CodeParameterDeclarationExpression[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;Insert;(System.Int32,System.CodeDom.CodeParameterDeclarationExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;Remove;(System.CodeDom.CodeParameterDeclarationExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;set_Item;(System.Int32,System.CodeDom.CodeParameterDeclarationExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodePropertyReferenceExpression;false;CodePropertyReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodePropertyReferenceExpression;false;get_PropertyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodePropertyReferenceExpression;false;set_PropertyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeRegionDirective;false;CodeRegionDirective;(System.CodeDom.CodeRegionMode,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeRegionDirective;false;get_RegionText;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeRegionDirective;false;set_RegionText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeRemoveEventStatement;false;CodeRemoveEventStatement;(System.CodeDom.CodeEventReferenceExpression,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeRemoveEventStatement;false;CodeRemoveEventStatement;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeRemoveEventStatement;false;get_Event;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeRemoveEventStatement;false;set_Event;(System.CodeDom.CodeEventReferenceExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetCompileUnit;false;CodeSnippetCompileUnit;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetCompileUnit;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeSnippetCompileUnit;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetExpression;false;CodeSnippetExpression;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetExpression;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeSnippetExpression;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetStatement;false;CodeSnippetStatement;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetStatement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeSnippetStatement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetTypeMember;false;CodeSnippetTypeMember;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeSnippetTypeMember;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeSnippetTypeMember;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatement;false;get_EndDirectives;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeStatement;false;get_StartDirectives;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeStatementCollection;false;Add;(System.CodeDom.CodeStatement);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;AddRange;(System.CodeDom.CodeStatementCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;AddRange;(System.CodeDom.CodeStatement[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;CodeStatementCollection;(System.CodeDom.CodeStatementCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;CodeStatementCollection;(System.CodeDom.CodeStatement[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;CopyTo;(System.CodeDom.CodeStatement[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeStatementCollection;false;Insert;(System.Int32,System.CodeDom.CodeStatement);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;Remove;(System.CodeDom.CodeStatement);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeStatementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeStatementCollection;false;set_Item;(System.Int32,System.CodeDom.CodeStatement);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclaration;false;CodeTypeDeclaration;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclaration;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeDeclaration;false;get_Members;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeDeclaration;false;get_TypeParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;Add;(System.CodeDom.CodeTypeDeclaration);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;AddRange;(System.CodeDom.CodeTypeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;AddRange;(System.CodeDom.CodeTypeDeclaration[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;CodeTypeDeclarationCollection;(System.CodeDom.CodeTypeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;CodeTypeDeclarationCollection;(System.CodeDom.CodeTypeDeclaration[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;CopyTo;(System.CodeDom.CodeTypeDeclaration[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeDeclaration);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;Remove;(System.CodeDom.CodeTypeDeclaration);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeDeclarationCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeDeclaration);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDelegate;false;CodeTypeDelegate;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeDelegate;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeDelegate;false;set_ReturnType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMember;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeMember;false;get_EndDirectives;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeMember;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeMember;false;get_StartDirectives;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeMember;false;set_CustomAttributes;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMember;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;Add;(System.CodeDom.CodeTypeMember);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;AddRange;(System.CodeDom.CodeTypeMemberCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;AddRange;(System.CodeDom.CodeTypeMember[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;CodeTypeMemberCollection;(System.CodeDom.CodeTypeMemberCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;CodeTypeMemberCollection;(System.CodeDom.CodeTypeMember[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;CopyTo;(System.CodeDom.CodeTypeMember[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeMember);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;Remove;(System.CodeDom.CodeTypeMember);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeMemberCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeMember);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeOfExpression;false;CodeTypeOfExpression;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeOfExpression;false;CodeTypeOfExpression;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeOfExpression;false;CodeTypeOfExpression;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeOfExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeOfExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameter;false;CodeTypeParameter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameter;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeParameter;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeParameter;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeParameter;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;Add;(System.CodeDom.CodeTypeParameter);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;AddRange;(System.CodeDom.CodeTypeParameterCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;AddRange;(System.CodeDom.CodeTypeParameter[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;CodeTypeParameterCollection;(System.CodeDom.CodeTypeParameterCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;CodeTypeParameterCollection;(System.CodeDom.CodeTypeParameter[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;CopyTo;(System.CodeDom.CodeTypeParameter[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeParameter);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;Remove;(System.CodeDom.CodeTypeParameter);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeParameterCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeParameter);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.String,System.CodeDom.CodeTypeReferenceOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.String,System.CodeDom.CodeTypeReference[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReference;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeReference;false;get_TypeArguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeReference;false;set_BaseType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;Add;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;Add;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;AddRange;(System.CodeDom.CodeTypeReferenceCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;AddRange;(System.CodeDom.CodeTypeReference[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;CodeTypeReferenceCollection;(System.CodeDom.CodeTypeReferenceCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;CodeTypeReferenceCollection;(System.CodeDom.CodeTypeReference[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;CopyTo;(System.CodeDom.CodeTypeReference[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeReference);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;Remove;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeReferenceCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeReference);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceExpression;false;CodeTypeReferenceExpression;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceExpression;false;CodeTypeReferenceExpression;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceExpression;false;CodeTypeReferenceExpression;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeTypeReferenceExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeTypeReferenceExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableDeclarationStatement;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableReferenceExpression;false;CodeVariableReferenceExpression;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.CodeDom;CodeVariableReferenceExpression;false;get_VariableName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.CodeDom;CodeVariableReferenceExpression;false;set_VariableName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;Add;(T,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;ConcurrentBag<>;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentBag<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;ConcurrentBag<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentBag<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetOrAdd;(TKey,TValue);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentStack<>;false;ConcurrentStack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Concurrent;ConcurrentStack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentStack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections.Concurrent;ConcurrentStack<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;OrderablePartitioner<>;false;GetDynamicPartitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable,System.Collections.Concurrent.EnumerablePartitionerOptions);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IList,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Concurrent;Partitioner;false;Create<>;(TSource[],System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;AsReadOnly<,>;(System.Collections.Generic.IDictionary);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;AsReadOnly<>;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetDefaultAssets;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetDefaultGroup;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetDefaultRuntimeFileAssets;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetRuntimeAssets;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetRuntimeFileAssets;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetRuntimeGroup;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;Remove<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;Argument[2];generated:taint", - "System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[1];Argument[0].Element;generated:taint", - "System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[2];Argument[0].Element;generated:taint", - "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Entry;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+KeyCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;Dictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+ValueCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;Dictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Int32,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Generic;Dictionary<,>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections.Generic;Dictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Dictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;HashSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;HashSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections.Generic;HashSet<>;false;HashSet;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;HashSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;HashSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;KeyValuePair;false;Create<,>;(TKey,TValue);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;KeyValuePair;false;Create<,>;(TKey,TValue);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Generic;KeyValuePair<,>;false;Deconstruct;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;KeyValuePair<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;KeyValuePair<,>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[0];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[0];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;Remove;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedList<>;false;get_First;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;get_Last;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;LinkedListNode<>;false;LinkedListNode;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;LinkedListNode<>;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedListNode<>;false;get_Next;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedListNode<>;false;get_Previous;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedListNode<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;LinkedListNode<>;false;set_Value;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;List<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;List<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections.Generic;List<>;false;List;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;List<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;NonRandomizedStringEqualityComparer;false;GetUnderlyingEqualityComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>+UnorderedItemsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>+UnorderedItemsCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>+UnorderedItemsCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;PriorityQueue<,>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;EnqueueDequeue;(TElement,TPriority);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;EnqueueDequeue;(TElement,TPriority);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;EnqueueRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Int32,System.Collections.Generic.IComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;TryDequeue;(TElement,TPriority);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;TryPeek;(TElement,TPriority);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;PriorityQueue<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Queue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Queue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Queue<>;false;Enqueue;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;Queue<>;false;Queue;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;Queue<>;false;TryDequeue;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Queue<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Queue<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedDictionary<,>+KeyValuePairComparer;false;KeyValuePairComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>+KeyList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>+ValueList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>;false;GetKeyAtIndex;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>;false;GetValueAtIndex;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>;false;SetValueAtIndex;(System.Int32,TValue);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedList<,>;false;TryGetValue;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedList<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;SortedSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedSet<>;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedSet<>;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedSet<>;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;SortedSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;SortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Generic;Stack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Stack<>;false;Push;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Generic;Stack<>;false;Stack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Generic;Stack<>;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Stack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Stack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Generic;Stack<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[3];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;Create<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray;false;ToImmutableArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;MoveToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;As<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;AsMemory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;CastArray<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;CastUp<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[1].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;OfType<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[2].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;GetValueOrDefault<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Immutable.ImmutableDictionary+Builder);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;Clear;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;Create<>;(System.Collections.Generic.IEqualityComparer,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Immutable.ImmutableHashSet+Builder);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;Clear;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;WithComparer;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableHashSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableHashSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableInterlocked;false;GetOrAdd<,>;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;Remove<>;(System.Collections.Immutable.IImmutableList,T);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;RemoveRange<>;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];Argument[0].Element;generated:taint", - "System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Immutable.ImmutableList+Builder);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>+Builder;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableQueue;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue;false;Dequeue<>;(System.Collections.Immutable.IImmutableQueue,T);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableQueue<>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable>);;Argument[1].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[2].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Clear;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T[]);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;CreateBuilder<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Immutable.ImmutableSortedSet+Builder);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Max;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Min;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Clear;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableSortedSet<>;false;WithComparer;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableSortedSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;get_Max;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;get_Min;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableSortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Immutable;ImmutableStack;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack;false;Pop<>;(System.Collections.Immutable.IImmutableStack,T);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack<>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack<>;false;Pop;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack<>;false;Pop;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[0];ReturnValue;generated:taint", - "System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;Collection<>;false;Collection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.ObjectModel;Collection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;Collection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;KeyedCollection;(System.Collections.Generic.IEqualityComparer,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;TryGetValue;(TKey,TItem);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;KeyedCollection<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint", - "System.Collections.ObjectModel;ReadOnlyCollection<>;false;ReadOnlyCollection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;HybridDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;ListDictionary;false;ListDictionary;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;ListDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllKeys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameObjectCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Specialized;NameObjectCollectionBase;true;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameValueCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Int32,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameValueCollection;false;Set;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NameValueCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NameValueCollection;false;set_Item;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32,System.Int32);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[2];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_NewItems;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_OldItems;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;OrderedDictionary;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Int32,System.Collections.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections.Specialized;OrderedDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections.Specialized;StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;StringDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections.Specialized;StringDictionary;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;StringDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections.Specialized;StringEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;ArrayList;false;Adapter;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;ArrayList;false;ArrayList;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections;ArrayList;false;CopyTo;(System.Array);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Collections;ArrayList;false;ReadOnly;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;ArrayList;false;ReadOnly;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;ArrayList;false;SetRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Collections;ArrayList;false;Synchronized;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;ArrayList;false;Synchronized;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;ArrayList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;And;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;LeftShift;(System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;Not;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;Or;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;RightShift;(System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;Xor;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;BitArray;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections;CollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;CollectionBase;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;CollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Comparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryBase;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryBase;false;get_InnerHashtable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryBase;true;OnGet;(System.Object,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Collections;DictionaryEntry;false;Deconstruct;(System.Object,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections;DictionaryEntry;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;DictionaryEntry;false;set_Key;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;DictionaryEntry;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Hashtable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IEqualityComparer);;Argument[2];Argument[Qualifier];generated:taint", - "System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];generated:taint", - "System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[3];Argument[Qualifier];generated:taint", - "System.Collections;Hashtable;false;Synchronized;(System.Collections.Hashtable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;Hashtable;false;get_EqualityComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Hashtable;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;Hashtable;false;get_comparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Hashtable;false;get_hcp;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Hashtable;false;set_comparer;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;Hashtable;false;set_hcp;(System.Collections.IHashCodeProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;ListDictionaryInternal;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;ListDictionaryInternal;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;Queue;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Queue;false;Enqueue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;Queue;false;Queue;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections;Queue;false;Synchronized;(System.Collections.Queue);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;Queue;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;ReadOnlyCollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;ReadOnlyCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;SortedList;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;SortedList;false;GetKeyList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;SortedList;false;SetByIndex;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Collections;SortedList;false;SortedList;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;SortedList;false;Synchronized;(System.Collections.SortedList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;SortedList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Collections;Stack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Collections;Stack;false;Stack;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Collections;Stack;false;Synchronized;(System.Collections.Stack);;Argument[0].Element;ReturnValue;generated:taint", - "System.Collections;Stack;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Collections;Stack;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Hosting;AggregateCatalog;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AggregateCatalog;false;get_Catalogs;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AggregateExportProvider;false;AggregateExportProvider;(System.ComponentModel.Composition.Hosting.ExportProvider[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AggregateExportProvider;false;GetExportsCore;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AggregateExportProvider;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.Reflection.ReflectionContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.Reflection.ReflectionContext);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AtomicComposition;false;AtomicComposition;(System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;AtomicComposition;false;TryGetValue<>;(System.Object,System.Boolean,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;AtomicComposition;false;TryGetValue<>;(System.Object,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;CatalogExportProvider;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.CompositionOptions);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;GetExportsCore;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;get_Catalog;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;get_SourceProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;set_SourceProvider;(System.ComponentModel.Composition.Hosting.ExportProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CatalogExtensions;false;CreateCompositionService;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog);;Argument[0].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;ComposablePartCatalogChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;ComposablePartCatalogChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;get_AddedDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;get_RemovedDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartExportProvider;false;Compose;(System.ComponentModel.Composition.Hosting.CompositionBatch);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartExportProvider;false;get_SourceProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ComposablePartExportProvider;false;set_SourceProvider;(System.ComponentModel.Composition.Hosting.ExportProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;AddExport;(System.ComponentModel.Composition.Primitives.Export);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;AddPart;(System.ComponentModel.Composition.Primitives.ComposablePart);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;CompositionBatch;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;CompositionBatch;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;RemovePart;(System.ComponentModel.Composition.Primitives.ComposablePart);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;get_PartsToAdd;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionBatch;false;get_PartsToRemove;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionContainer;false;CompositionContainer;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.CompositionOptions,System.ComponentModel.Composition.Hosting.ExportProvider[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionContainer;false;CompositionContainer;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.CompositionOptions,System.ComponentModel.Composition.Hosting.ExportProvider[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionContainer;false;GetExportsCore;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionContainer;false;get_Catalog;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionContainer;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;get_Children;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;get_PublicSurface;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext);;Argument[2];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_FullPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_LoadedFiles;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_SearchPattern;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<,>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<,>;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<>;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportProvider;false;TryGetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;ExportsChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;ExportsChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;get_AddedExports;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;get_ChangedContractNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;get_RemovedExports;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;FilteredCatalog;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;FilteredCatalog;false;get_Complement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Hosting;ImportEngine;false;ImportEngine;(System.ComponentModel.Composition.Hosting.ExportProvider,System.ComponentModel.Composition.Hosting.CompositionOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ComposablePartCatalog;true;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ComposablePartCatalog;true;get_Parts;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ComposablePartException;false;ComposablePartException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ComposablePartException;false;ComposablePartException;(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ComposablePartException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.ComponentModel.Composition.Primitives;ComposablePartException;false;get_Element;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;ContractBasedImportDefinition;(System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;ContractBasedImportDefinition;(System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;get_Constraint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;get_RequiredMetadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;get_RequiredTypeIdentity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;Export;false;get_Definition;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;Export;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;Export;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ExportDefinition;false;ExportDefinition;(System.String,System.Collections.Generic.IDictionary);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ExportDefinition;false;ExportDefinition;(System.String,System.Collections.Generic.IDictionary);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ExportDefinition;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ExportDefinition;false;get_ContractName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ExportDefinition;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ExportedDelegate;false;ExportedDelegate;(System.Object,System.Reflection.MethodInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ExportedDelegate;false;ExportedDelegate;(System.Object,System.Reflection.MethodInfo);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ImportDefinition;false;ImportDefinition;(System.Linq.Expressions.Expression>,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ImportDefinition;false;ImportDefinition;(System.Linq.Expressions.Expression>,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.Collections.Generic.IDictionary);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Primitives;ImportDefinition;false;get_Constraint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ImportDefinition;false;get_ContractName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Primitives;ImportDefinition;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;LazyMemberInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;LazyMemberInfo;false;LazyMemberInfo;(System.Reflection.MemberInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.ReflectionModel;LazyMemberInfo;false;LazyMemberInfo;(System.Reflection.MemberTypes,System.Reflection.MemberInfo[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateExportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateExportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateExportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[4];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[5];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetExportFactoryProductImportDefinition;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetExportingMember;(System.ComponentModel.Composition.Primitives.ExportDefinition);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetImportingMember;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetImportingParameter;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetPartType;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;TryMakeGenericPartDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Primitives.ComposablePartDefinition);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;AddMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractType;(System.Type);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractType<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;ExportBuilder;false;Inherited;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AllowDefault;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AllowRecomposition;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractType;(System.Type);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractType<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsMany;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;RequiredCreationPolicy;(System.ComponentModel.Composition.CreationPolicy);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;ImportBuilder;false;Source;(System.ComponentModel.Composition.ImportSource);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;PartBuilder;false;AddMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;PartBuilder;false;Export;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder;false;Export<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder;false;ExportInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder;false;SetCreationPolicy;(System.ComponentModel.Composition.CreationPolicy);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ExportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ExportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ImportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ImportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;PartBuilder<>;false;SelectConstructor;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Composition.Registration;RegistrationBuilder;false;GetCustomAttributes;(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition.Registration;RegistrationBuilder;false;GetCustomAttributes;(System.Reflection.ParameterInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;AddPart;(System.ComponentModel.Composition.Hosting.CompositionBatch,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.Object,System.Reflection.ReflectionContext);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;GetContractName;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;GetMetadataView<>;(System.Collections.Generic.IDictionary);;Argument[0].Element;ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;GetTypeIdentity;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;GetTypeIdentity;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;SatisfyImportsOnce;(System.ComponentModel.Composition.ICompositionService,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel.Composition;AttributedModelServices;false;SatisfyImportsOnce;(System.ComponentModel.Composition.ICompositionService,System.Object,System.Reflection.ReflectionContext);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CatalogReflectionContextAttribute;false;CatalogReflectionContextAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Composition;ChangeRejectedException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionError;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionError;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionError;false;get_Element;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionError;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionException;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;CompositionException;false;get_RootCauses;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;ExportFactory<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Composition;ExportLifetimeContext<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;get_Schema;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;set_Schema;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;AssociatedMetadataTypeTypeDescriptionProvider;(System.Type,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;CompareAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateField;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateFilter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetOrder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Prompt;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ResourceType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ShortName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_GroupName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Prompt;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ShortName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayText;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayTextResourceType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayTextResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;get_Extensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;set_Extensions;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;FilterUIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;MaxLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;MetadataTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;get_MetadataClassType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;MinLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;RangeAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;RegularExpressionAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;StringLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;UIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessage;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;ValidationAttribute;true;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationContext;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationContext;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.DataAnnotations;ValidationContext;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;ValidationException;false;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.DataAnnotations;ValidationException;false;get_ValidationResult;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design.Serialization;ContextStack;false;Append;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Design.Serialization;ContextStack;false;Pop;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design.Serialization;ContextStack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Design.Serialization;ContextStack;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design.Serialization;DesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design.Serialization;RootDesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerCollection;false;DesignerCollection;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Design;DesignerCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerOptionService;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerVerb;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerVerb;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerVerb;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;DesignerVerb;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Design;DesignerVerbCollection;false;DesignerVerbCollection;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel.Design;DesignerVerbCollection;false;Remove;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel.Design;MenuCommand;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;ServiceContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel.Design;ServiceContainer;false;ServiceContainer;(System.IServiceProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;ArrayConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;AsyncOperation;false;get_SynchronizationContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;AttributeCollection;false;AttributeCollection;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.ComponentModel;AttributeCollection;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;AttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;AttributeCollection;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;AttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint", - "System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint", - "System.ComponentModel;CategoryAttribute;false;CategoryAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;CategoryAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;CharConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;CollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;Component;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;Component;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;Component;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;Component;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;ComponentCollection;false;ComponentCollection;(System.ComponentModel.IComponent[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;ComponentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ComponentCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String,System.Globalization.CultureInfo);;Argument[Qualifier];Argument[0];generated:taint", - "System.ComponentModel;Container;false;Add;(System.ComponentModel.IComponent,System.String);;Argument[1];Argument[0];generated:taint", - "System.ComponentModel;Container;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;Container;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;Container;false;get_Components;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ContainerFilterService;true;FilterComponents;(System.ComponentModel.ComponentCollection);;Argument[0].Element;ReturnValue;generated:taint", - "System.ComponentModel;CultureInfoConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;CultureInfoConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;CultureInfoConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;CustomTypeDescriptor;false;CustomTypeDescriptor;(System.ComponentModel.ICustomTypeDescriptor);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;CustomTypeDescriptor;true;GetAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;CustomTypeDescriptor;true;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;CustomTypeDescriptor;true;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;CustomTypeDescriptor;true;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;DecimalConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;DefaultValueAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;DefaultValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;DesignerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EditorAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;EventDescriptorCollection;(System.ComponentModel.EventDescriptor[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;EventHandlerList;false;AddHandlers;(System.ComponentModel.EventHandlerList);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;EventHandlerList;false;get_Item;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;GuidConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;LicFileLicenseProvider;false;GetKey;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;LicFileLicenseProvider;false;GetLicense;(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;LicenseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;LicenseProviderAttribute;false;get_LicenseProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;LicenseProviderAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ListSortDescriptionCollection;false;ListSortDescriptionCollection;(System.ComponentModel.ListSortDescription[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;ListSortDescriptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel;MarshalByValueComponent;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MarshalByValueComponent;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MarshalByValueComponent;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MarshalByValueComponent;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToDisplayString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;false;GetInvokee;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;false;GetSite;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;MemberDescriptor;true;CreateAttributeCollection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.ComponentModel;MemberDescriptor;true;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;get_AttributeArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;MemberDescriptor;true;set_AttributeArray;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;MultilineStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;NestedContainer;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;NestedContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:value", - "System.ComponentModel;NullableConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;NullableConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;ProgressChangedEventArgs;false;ProgressChangedEventArgs;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.ComponentModel;ProgressChangedEventArgs;false;get_UserState;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptor;false;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.ComponentModel;PropertyDescriptor;false;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptor;false;GetValueChangedHandler;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptor;true;get_Converter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.String,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.Type,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;PropertyTabAttribute;false;get_TabClasses;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ReferenceConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;ReferenceConverter;false;ReferenceConverter;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;RunWorkerCompletedEventArgs;false;RunWorkerCompletedEventArgs;(System.Object,System.Exception,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;RunWorkerCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;StringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;ToolboxItemFilterAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter+StandardValuesCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.ComponentModel;TypeConverter+StandardValuesCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter+StandardValuesCollection;false;StandardValuesCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;TypeConverter+StandardValuesCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertTo;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;ConvertToString;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;GetProperties;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;GetStandardValues;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeConverter;false;SortProperties;(System.ComponentModel.PropertyDescriptorCollection,System.String[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;false;TypeDescriptionProvider;(System.ComponentModel.TypeDescriptionProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetReflectionType;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetRuntimeType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Object,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Type,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;GetAssociation;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;GetProvider;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeDescriptor;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.ComponentModel;TypeListConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeListConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;TypeListConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ComponentModel;TypeListConverter;false;TypeListConverter;(System.Type[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ComponentModel;VersionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.ComponentModel;WarningException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.ComponentModel;Win32Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.ComponentModel;Win32Exception;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;ExportConventionBuilder;false;AddMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;ExportConventionBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Convention;ExportConventionBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;ExportConventionBuilder;false;AsContractType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Convention;ExportConventionBuilder;false;AsContractType;(System.Type);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;ExportConventionBuilder;false;AsContractType<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;ImportConventionBuilder;false;AddMetadataConstraint;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;ImportConventionBuilder;false;AllowDefault;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;ImportConventionBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Convention;ImportConventionBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;ImportConventionBuilder;false;AsMany;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;ImportConventionBuilder;false;AsMany;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;PartConventionBuilder;false;AddPartMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;PartConventionBuilder;false;Export;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;PartConventionBuilder;false;Export<>;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;PartConventionBuilder;false;ExportInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder;false;Shared;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder;false;Shared;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Convention;PartConventionBuilder;false;Shared;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder;false;Shared;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder<>;false;ExportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder<>;false;ExportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder<>;false;ImportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder<>;false;ImportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Convention;PartConventionBuilder<>;false;NotifyImportsSatisfied;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Convention;PartConventionBuilder<>;false;SelectConstructor;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Hosting.Core;CompositionContract;false;ChangeType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;ChangeType;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;CompositionContract;(System.Type,System.String,System.Collections.Generic.IDictionary);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;CompositionContract;(System.Type,System.String,System.Collections.Generic.IDictionary);;Argument[1];Argument[Qualifier];generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;CompositionContract;(System.Type,System.String,System.Collections.Generic.IDictionary);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;TryUnwrapMetadataConstraint<>;(System.String,T,System.Composition.Hosting.Core.CompositionContract);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;get_ContractName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;get_ContractType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionContract;false;get_MetadataConstraints;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Missing;(System.Composition.Hosting.Core.CompositionContract,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Missing;(System.Composition.Hosting.Core.CompositionContract,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Oversupplied;(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Oversupplied;(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable,System.Object);;Argument[1].Element;ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Oversupplied;(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Satisfied;(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,System.Boolean,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Satisfied;(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,System.Boolean,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;Satisfied;(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,System.Boolean,System.Object);;Argument[3];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;get_Contract;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;CompositionDependency;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveDependencies;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveDependencies;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveRequiredDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveRequiredDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;DependencyAccessor;false;TryResolveOptionalDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean,System.Composition.Hosting.Core.CompositionDependency);;Argument[0];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;DependencyAccessor;false;TryResolveOptionalDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean,System.Composition.Hosting.Core.CompositionDependency);;Argument[1];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;ExportDescriptorPromise;false;GetDescriptor;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;ExportDescriptorPromise;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;ExportDescriptorPromise;false;get_Contract;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;ExportDescriptorPromise;false;get_Dependencies;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;ExportDescriptorPromise;false;get_Origin;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;LifetimeContext;false;AddBoundInstance;(System.IDisposable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Hosting.Core;LifetimeContext;false;FindContextWithin;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting.Core;LifetimeContext;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithAssemblies;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithAssemblies;(System.Collections.Generic.IEnumerable,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithAssembly;(System.Reflection.Assembly);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithAssembly;(System.Reflection.Assembly,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithDefaultConventions;(System.Composition.Convention.AttributedModelProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithDefaultConventions;(System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Hosting;ContainerConfiguration;false;WithPart;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithPart;(System.Type,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithPart<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithPart<>;(System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithParts;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithParts;(System.Collections.Generic.IEnumerable,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition.Hosting;ContainerConfiguration;false;WithParts;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithProvider;(System.Composition.Hosting.Core.ExportDescriptorProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.Composition.Hosting;ContainerConfiguration;false;WithProvider;(System.Composition.Hosting.Core.ExportDescriptorProvider);;Argument[Qualifier];ReturnValue;generated:value", - "System.Composition;SharingBoundaryAttribute;false;SharingBoundaryAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Composition;SharingBoundaryAttribute;false;get_SharingBoundaryNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;GetConfigTypeName;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;GetStreamNameForConfigSource;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;GetStreamNameForConfigSource;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;InitForConfiguration;(System.String,System.String,System.String,System.Configuration.Internal.IInternalConfigRoot,System.Object[]);;Argument[4].Element;ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object,System.Boolean);;Argument[2];ReturnValue;generated:taint", - "System.Configuration.Provider;ProviderBase;true;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration.Provider;ProviderBase;true;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Configuration.Provider;ProviderBase;true;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration.Provider;ProviderBase;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration.Provider;ProviderCollection;false;CopyTo;(System.Configuration.Provider.ProviderBase[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Configuration.Provider;ProviderCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration.Provider;ProviderCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Configuration;AppSettingsReader;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;AppSettingsSection;false;DeserializeElement;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;AppSettingsSection;false;GetRuntimeObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;AppSettingsSection;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;AppSettingsSection;false;get_File;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;AppSettingsSection;false;get_Settings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;ApplicationSettingsBase;(System.ComponentModel.IComponent,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ApplicationSettingsBase;false;ApplicationSettingsBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ApplicationSettingsBase;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;get_PropertyValues;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;get_SettingsKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ApplicationSettingsBase;false;set_SettingsKey;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;CallbackValidatorAttribute;false;get_CallbackMethodName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CallbackValidatorAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CallbackValidatorAttribute;false;get_ValidatorInstance;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CallbackValidatorAttribute;false;set_CallbackMethodName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;CallbackValidatorAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ClientSettingsSection;false;get_Settings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;CommaDelimitedStringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Configuration;CommaDelimitedStringCollectionConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;CommaDelimitedStringCollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateCDataSection;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateComment;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateSignificantWhitespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateTextNode;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;CreateWhitespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigXmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigXmlDocument;false;LoadSingleElement;(System.String,System.Xml.XmlTextReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigXmlDocument;false;get_Filename;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;GetSectionGroup;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_AssemblyStringTransformer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_EvaluationContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_Locations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_RootSectionGroup;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_SectionGroups;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_Sections;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;Configuration;false;get_TypeStringTransformer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationCollectionAttribute;false;get_AddItemName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationCollectionAttribute;false;get_ClearItemsName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationCollectionAttribute;false;get_RemoveItemName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationCollectionAttribute;false;set_AddItemName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationCollectionAttribute;false;set_ClearItemsName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationCollectionAttribute;false;set_RemoveItemName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElement;false;get_ElementInformation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;false;get_EvaluationContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;false;get_LockAllAttributesExcept;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;false;get_LockAllElementsExcept;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;false;get_LockAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;false;get_LockElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;true;DeserializeElement;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElement;true;GetTransformedAssemblyString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;true;GetTransformedTypeString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElement;true;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElement;true;SerializeElement;(System.Xml.XmlWriter,System.Boolean);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationElement;true;SerializeToXmlElement;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationElement;true;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElement;true;get_ElementProperty;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElementCollection;false;BaseAdd;(System.Configuration.ConfigurationElement,System.Boolean);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;ConfigurationElementCollection;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;CopyTo;(System.Configuration.ConfigurationElement[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Configuration;ConfigurationElementCollection;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;SerializeElement;(System.Xml.XmlWriter,System.Boolean);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;get_AddElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElementCollection;false;get_ClearElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElementCollection;false;get_RemoveElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationElementCollection;false;set_AddElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;set_ClearElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElementCollection;false;set_RemoveElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationElementCollection;true;BaseAdd;(System.Configuration.ConfigurationElement);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationElementCollection;true;BaseAdd;(System.Int32,System.Configuration.ConfigurationElement);;Argument[Qualifier];Argument[1];generated:taint", - "System.Configuration;ConfigurationErrorsException;false;ConfigurationErrorsException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationErrorsException;false;ConfigurationErrorsException;(System.String,System.Exception,System.String,System.Int32);;Argument[2];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationErrorsException;false;GetFilename;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Configuration;ConfigurationErrorsException;false;GetFilename;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationErrorsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationErrorsException;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationErrorsException;false;get_Filename;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationErrorsException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationException;false;ConfigurationException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationException;false;ConfigurationException;(System.String,System.Exception,System.String,System.Int32);;Argument[2];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConfigurationException;false;GetXmlNodeFilename;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Configuration;ConfigurationException;false;get_BareMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationException;false;get_Filename;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationFileMap;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationLocation;false;OpenConfiguration;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationLocationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationLockCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationLockCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Configuration;ConfigurationLockCollection;false;SetFromList;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationLockCollection;false;get_AttributeList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationLockCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Configuration;ConfigurationManager;false;OpenExeConfiguration;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationManager;false;OpenMappedExeConfiguration;(System.Configuration.ExeConfigurationFileMap,System.Configuration.ConfigurationUserLevel);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationManager;false;OpenMappedExeConfiguration;(System.Configuration.ExeConfigurationFileMap,System.Configuration.ConfigurationUserLevel,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationManager;false;OpenMappedMachineConfiguration;(System.Configuration.ConfigurationFileMap);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConfigurationProperty;false;ConfigurationProperty;(System.String,System.Type,System.Object,System.ComponentModel.TypeConverter,System.Configuration.ConfigurationValidatorBase,System.Configuration.ConfigurationPropertyOptions,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationProperty;false;get_Converter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationPropertyCollection;false;Add;(System.Configuration.ConfigurationProperty);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationPropertyCollection;false;CopyTo;(System.Configuration.ConfigurationProperty[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Configuration;ConfigurationPropertyCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationPropertyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSection;true;DeserializeSection;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationSection;true;GetRuntimeObject;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Configuration;ConfigurationSectionCollection;false;Add;(System.String,System.Configuration.ConfigurationSection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationSectionCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroup;false;get_SectionGroups;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroup;false;get_Sections;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroup;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroup;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;Add;(System.String,System.Configuration.ConfigurationSectionGroup);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;Add;(System.String,System.Configuration.ConfigurationSectionGroup);;Argument[Qualifier];Argument[1];generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;CopyTo;(System.Configuration.ConfigurationSectionGroup[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConfigurationSectionGroupCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConnectionStringSettings;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConnectionStringSettings;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConnectionStringSettings;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConnectionStringSettings;false;get_ProviderName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ConnectionStringSettingsCollection;false;Add;(System.Configuration.ConnectionStringSettings);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ConnectionStringSettingsCollection;false;BaseAdd;(System.Int32,System.Configuration.ConfigurationElement);;Argument[Qualifier];Argument[1];generated:taint", - "System.Configuration;ConnectionStringSettingsCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ConnectionStringSettingsCollection;false;set_Item;(System.Int32,System.Configuration.ConnectionStringSettings);;Argument[Qualifier];Argument[1];generated:taint", - "System.Configuration;ConnectionStringsSection;false;GetRuntimeObject;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Configuration;ConnectionStringsSection;false;get_ConnectionStrings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ContextInformation;false;get_HostingContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;DefaultSection;false;DeserializeSection;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;DefaultSection;false;SerializeSection;(System.Configuration.ConfigurationElement,System.String,System.Configuration.ConfigurationSaveMode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;DefaultSettingValueAttribute;false;DefaultSettingValueAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;DefaultSettingValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;DpapiProtectedConfigurationProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;DpapiProtectedConfigurationProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Configuration;ElementInformation;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ElementInformation;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;GenericEnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;GenericEnumConverter;false;GenericEnumConverter;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;IdnElement;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;IgnoreSection;false;DeserializeSection;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;IgnoreSection;false;SerializeSection;(System.Configuration.ConfigurationElement,System.String,System.Configuration.ConfigurationSaveMode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;InfiniteTimeSpanConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;InfiniteTimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;IriParsingElement;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;KeyValueConfigurationCollection;false;Add;(System.Configuration.KeyValueConfigurationElement);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;KeyValueConfigurationCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;KeyValueConfigurationElement;false;KeyValueConfigurationElement;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;KeyValueConfigurationElement;false;KeyValueConfigurationElement;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Configuration;KeyValueConfigurationElement;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;KeyValueConfigurationElement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;LocalFileSettingsProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;LocalFileSettingsProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Configuration;LocalFileSettingsProvider;false;get_ApplicationName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;LocalFileSettingsProvider;false;set_ApplicationName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;NameValueConfigurationCollection;false;Add;(System.Configuration.NameValueConfigurationElement);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;NameValueConfigurationCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;NameValueConfigurationCollection;false;set_Item;(System.String,System.Configuration.NameValueConfigurationElement);;Argument[Qualifier];Argument[1];generated:taint", - "System.Configuration;NameValueConfigurationElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;NameValueConfigurationElement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;NameValueFileSectionHandler;false;Create;(System.Object,System.Object,System.Xml.XmlNode);;Argument[2].Element;ReturnValue;generated:taint", - "System.Configuration;NameValueSectionHandler;false;Create;(System.Object,System.Object,System.Xml.XmlNode);;Argument[2].Element;ReturnValue;generated:taint", - "System.Configuration;PropertyInformation;false;get_Converter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;PropertyInformation;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;PropertyInformationCollection;false;CopyTo;(System.Configuration.PropertyInformation[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Configuration;PropertyInformationCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProtectedConfigurationProviderCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProtectedConfigurationSection;false;get_DefaultProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProtectedConfigurationSection;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProtectedProviderSettings;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProtectedProviderSettings;false;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProviderSettings;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ProviderSettings;false;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;ProviderSettings;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProviderSettings;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProviderSettings;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProviderSettings;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;ProviderSettingsCollection;false;Add;(System.Configuration.ProviderSettings);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;ProviderSettingsCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;ProviderSettingsCollection;false;set_Item;(System.Int32,System.Configuration.ProviderSettings);;Argument[Qualifier];Argument[1];generated:taint", - "System.Configuration;RegexStringValidator;false;RegexStringValidator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SchemeSettingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SchemeSettingElementCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;SectionInformation;false;get_ConfigSource;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SectionInformation;false;get_ProtectionProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SectionInformation;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SectionInformation;false;set_ConfigSource;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SectionInformation;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[3];Argument[Qualifier];generated:taint", - "System.Configuration;SettingChangingEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingChangingEventArgs;false;get_SettingClass;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingChangingEventArgs;false;get_SettingKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingChangingEventArgs;false;get_SettingName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingElement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingElementCollection;false;Add;(System.Configuration.SettingElement);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;SettingElementCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;SettingValueElement;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingValueElement;false;SerializeToXmlElement;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.Configuration;SettingValueElement;false;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingValueElement;false;get_ValueXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingValueElement;false;set_ValueXml;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Configuration;SettingsBase;false;Initialize;(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection,System.Configuration.SettingsProviderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Configuration;SettingsBase;false;Initialize;(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection,System.Configuration.SettingsProviderCollection);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Configuration;SettingsBase;false;Initialize;(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection,System.Configuration.SettingsProviderCollection);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Configuration;SettingsBase;false;Synchronized;(System.Configuration.SettingsBase);;Argument[0];ReturnValue;generated:taint", - "System.Configuration;SettingsBase;true;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsBase;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsBase;true;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsBase;true;get_PropertyValues;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsBase;true;get_Providers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsDescriptionAttribute;false;SettingsDescriptionAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsDescriptionAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsGroupDescriptionAttribute;false;SettingsGroupDescriptionAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsGroupDescriptionAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsGroupNameAttribute;false;SettingsGroupNameAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsGroupNameAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsLoadedEventArgs;false;SettingsLoadedEventArgs;(System.Configuration.SettingsProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsLoadedEventArgs;false;get_Provider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsPropertyCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsPropertyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Configuration;SettingsPropertyValue;false;get_PropertyValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsPropertyValue;false;get_SerializedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsPropertyValue;false;set_PropertyValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsPropertyValue;false;set_SerializedValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsPropertyValueCollection;false;Add;(System.Configuration.SettingsPropertyValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsPropertyValueCollection;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsPropertyValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsPropertyValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Configuration;SettingsProviderAttribute;false;SettingsProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsProviderAttribute;false;SettingsProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;SettingsProviderAttribute;false;get_ProviderTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;SettingsProviderCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;StringValidator;false;StringValidator;(System.Int32,System.Int32,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Configuration;SubclassTypeValidator;false;SubclassTypeValidator;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;TimeSpanValidator;false;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.Configuration;TimeSpanValidator;false;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean,System.Int64);;Argument[1];Argument[Qualifier];generated:taint", - "System.Configuration;TypeNameConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;UriSection;false;get_Idn;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;UriSection;false;get_IriParsing;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;UriSection;false;get_SchemeSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Configuration;WhiteSpaceTrimStringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Configuration;WhiteSpaceTrimStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Data.Common;DataAdapter;false;get_TableMappings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.String,System.String,System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;get_DataSetColumn;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMapping;false;set_DataSetColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataColumnMapping;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;GetByDataSetColumn;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;GetDataColumn;(System.Data.Common.DataColumnMappingCollection,System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[3];ReturnValue;generated:taint", - "System.Data.Common;DataColumnMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data.Common;DataTableMapping;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;GetDataColumn;(System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;get_ColumnMappings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;get_DataSetTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;get_SourceTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMapping;false;set_DataSetTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMapping;false;set_SourceTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;GetByDataSetTable;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[2];ReturnValue;generated:taint", - "System.Data.Common;DataTableMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data.Common;DbCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;ExecuteReaderAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;false;set_Connection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommand;false;set_Connection;(System.Data.IDbConnection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommand;false;set_Transaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommand;false;set_Transaction;(System.Data.IDbTransaction);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommand;true;ExecuteDbDataReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommand;true;PrepareAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;RowUpdatingHandler;(System.Data.Common.RowUpdatingEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.Common;DbCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;false;set_DataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommandBuilder;true;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;true;get_CatalogSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;true;get_QuotePrefix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;true;get_QuoteSuffix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;true;get_SchemaSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbCommandBuilder;true;set_CatalogSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommandBuilder;true;set_QuotePrefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommandBuilder;true;set_QuoteSuffix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbCommandBuilder;true;set_SchemaSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbConnection;true;ChangeDatabaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DbConnection;true;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[1];Argument[0];generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[2];Argument[0];generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[1];Argument[0];generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[2];Argument[0];generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value", - "System.Data.Common;DbConnectionStringBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbConnectionStringBuilder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;false;DbDataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;generated:taint", - "System.Data.Common;DbDataReader;false;GetFieldValueAsync<>;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataReader;true;GetFieldValue<>;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataReader;true;GetFieldValueAsync<>;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataReader;true;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataReader;true;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data.Common;DbDataReader;true;GetSchemaTableAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataReader;true;GetTextReader;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbDataRecord;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value", - "System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;DbEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;DbTransaction;true;CommitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbTransaction;true;ReleaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DbTransaction;true;RollbackAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;DbTransaction;true;RollbackAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Data.Common;DbTransaction;true;SaveAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatedEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;set_Command;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Common;RowUpdatingEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;ExecuteDbDataReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[2];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_CommandText;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_DbConnection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_DbParameterCollection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_DbTransaction;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommand;false;set_CommandText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;set_Connection;(System.Data.Odbc.OdbcConnection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;set_DbConnection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;set_DbTransaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommand;false;set_Transaction;(System.Data.Odbc.OdbcTransaction);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetParameterName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;OdbcCommandBuilder;(System.Data.Odbc.OdbcDataAdapter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcCommandBuilder;false;set_DataAdapter;(System.Data.Odbc.OdbcDataAdapter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcConnection;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnection;false;CreateDbCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnection;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;get_Driver;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;get_Dsn;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;set_Driver;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;set_Dsn;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.Data.Odbc.OdbcConnection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_DeleteCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_InsertCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_SelectCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataAdapter;false;set_UpdateCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetDate;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetTime;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;GetValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcDataReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcError;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcError;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcError;false;get_SQLState;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcError;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcErrorCollection;false;CopyTo;(System.Data.Odbc.OdbcError[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data.Odbc;OdbcErrorCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcErrorCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data.Odbc;OdbcException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.Odbc;OdbcException;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcException;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcInfoMessageEventArgs;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcInfoMessageEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcInfoMessageEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameter;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object);;Argument[7];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object);;Argument[9];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object);;Argument[6];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object);;Argument[9];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameter;false;get_ParameterName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameter;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameter;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameter;false;set_ParameterName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameter;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.Data.Odbc.OdbcParameter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.Data.Odbc.OdbcParameter);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.Data.Odbc.OdbcParameter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[3];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;AddRange;(System.Data.Odbc.OdbcParameter[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;CopyTo;(System.Data.Odbc.OdbcParameter[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;GetParameter;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;GetParameter;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Insert;(System.Int32,System.Data.Odbc.OdbcParameter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;Insert;(System.Int32,System.Data.Odbc.OdbcParameter);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;SetParameter;(System.Int32,System.Data.Common.DbParameter);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;SetParameter;(System.String,System.Data.Common.DbParameter);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;set_Item;(System.Int32,System.Data.Odbc.OdbcParameter);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data.Odbc;OdbcParameterCollection;false;set_Item;(System.String,System.Data.Odbc.OdbcParameter);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data.Odbc;OdbcRowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;set_Command;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.Odbc;OdbcTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.Odbc;OdbcTransaction;false;get_DbConnection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlBinary;false;SqlBinary;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[1].Element;generated:taint", - "System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlBytes;false;Write;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlBytes;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.SqlTypes;SqlBytes;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBytes;false;get_Stream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlBytes;false;set_Stream;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlChars;false;SqlChars;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlChars;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.SqlTypes;SqlChars;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;Abs;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;AdjustScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;Ceiling;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;ConvertToPrecScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlDecimal;false;op_UnaryNegation;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;GetNonUnicodeBytes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;GetUnicodeBytes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlString;false;SqlString;(System.Int32,System.Data.SqlTypes.SqlCompareOptions,System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlString;false;SqlString;(System.String,System.Int32,System.Data.SqlTypes.SqlCompareOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data.SqlTypes;SqlString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint", - "System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;Constraint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;Constraint;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;Constraint;true;get_ConstraintName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;Constraint;true;get__DataSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;Constraint;true;set_ConstraintName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];ReturnValue;generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];ReturnValue;generated:taint", - "System.Data;ConstraintCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;ConstraintCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;ConstraintCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Data;DBConcurrencyException;false;DBConcurrencyException;(System.String,System.Exception,System.Data.DataRow[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Data;DBConcurrencyException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data;DBConcurrencyException;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DBConcurrencyException;false;set_Row;(System.Data.DataRow);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[2];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_Caption;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_ColumnName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumn;false;set_Caption;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;set_ColumnName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;set_DataType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;set_DefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;set_Expression;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumn;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataColumnChangeEventArgs;false;DataColumnChangeEventArgs;(System.Data.DataRow,System.Data.DataColumn,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataColumnChangeEventArgs;false;get_Column;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumnCollection;false;Add;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumnCollection;false;Add;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumnCollection;false;Add;(System.String,System.Type,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumnCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumnCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataColumnCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetDateTime;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetFieldValue<>;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetFieldValueAsync<>;(System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetGuid;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetProviderSpecificValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetString;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetTextReader;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataReaderExtensions;false;GetValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[5].Element;Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[6].Element;Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4].Element;Argument[Qualifier];generated:taint", - "System.Data;DataRelation;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_ChildColumns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_ChildKeyConstraint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_ParentColumns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_ParentKeyConstraint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;get_RelationName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelation;false;set_RelationName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelationCollection;false;Remove;(System.Data.DataRelation);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.Data.DataColumn,System.Data.DataColumn);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;DataRow;(System.Data.DataRowBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetChildRows;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetChildRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetParentRows;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;GetParentRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;SetNull;(System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRow;false;SetParentRow;(System.Data.DataRow,System.Data.DataRelation);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataRow;false;get_Item;(System.Data.DataColumn);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_Item;(System.Data.DataColumn,System.Data.DataRowVersion);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_Item;(System.Int32,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_Item;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_ItemArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_RowError;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRow;false;set_Item;(System.Data.DataColumn,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRow;false;set_RowError;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataRowCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowExtensions;false;SetField<>;(System.Data.DataRow,System.Data.DataColumn,T);;Argument[1];Argument[0];generated:taint", - "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;CreateChildView;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;CreateChildView;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value", - "System.Data;DataRowView;false;get_DataView;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataRowView;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;CreateDataReader;(System.Data.DataTable[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Data;DataSet;false;DataSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataSet;false;DataSet;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataSet;false;GetChanges;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;GetList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data;DataSet;false;get_DataSetName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_DefaultViewManager;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_Locale;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_Relations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;get_Tables;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataSet;false;set_DataSetName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataSet;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataSet;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataSet;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataSet;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;DataTable;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;DataTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;DataTable;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;GetChanges;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;GetErrors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;GetList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Data.LoadOption);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;NewRow;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;NewRowArray;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;NewRowFromBuilder;(System.Data.DataRowBuilder);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataTable;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_ChildRelations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_DefaultView;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_DisplayExpression;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Locale;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_ParentRelations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Rows;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;get_TableName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTable;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;set_PrimaryKey;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTable;false;set_TableName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTableCollection;false;Add;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableCollection;false;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableExtensions;false;AsEnumerable;(System.Data.DataTable);;Argument[0];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Data;DataTableReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataTableReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;AddNew;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[2];Argument[Qualifier];generated:taint", - "System.Data;DataView;false;FindRows;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;FindRows;(System.Object[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;GetItemProperties;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;ToTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;ToTable;(System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;ToTable;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;ToTable;(System.String,System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;get_Sort;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data;DataView;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataView;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataView;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataView;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataView;false;set_Table;(System.Data.DataTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataViewManager;false;CreateDataView;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewManager;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewManager;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewManager;false;get_DataViewSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewManager;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data;DataViewManager;false;set_DataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataViewSetting;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSetting;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSetting;false;get_Sort;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSetting;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSetting;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataViewSetting;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;DataViewSettingCollection;false;get_Item;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSettingCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSettingCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;DataViewSettingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[0];Argument[1];generated:taint", - "System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data;DataViewSettingCollection;false;set_Item;(System.Int32,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];generated:taint", - "System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Data;FillErrorEventArgs;false;get_DataTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;FillErrorEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;FillErrorEventArgs;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;FillErrorEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[4].Element;Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Data;ForeignKeyConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;ForeignKeyConstraint;false;get_RelatedColumns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;InternalDataCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Data;TypedTableBase<>;false;Cast<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Data;UniqueConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractClassAttribute;false;ContractClassAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractClassAttribute;false;get_TypeContainingContracts;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractClassForAttribute;false;ContractClassForAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractClassForAttribute;false;get_TypeContractsAreFor;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractException;false;ContractException;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractException;false;ContractException;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Diagnostics.Contracts;ContractException;false;get_Condition;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractException;false;get_Failure;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractException;false;get_UserMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Condition;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_OriginalException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Setting;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;ContractPublicPropertyNameAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Metrics;Measurement<>;false;Measurement;(T,System.Collections.Generic.KeyValuePair[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayUnits;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayUnits;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics.Tracing;EventListener;false;DisableEvents;(System.Diagnostics.Tracing.EventSource);;Argument[Qualifier];Argument[0];generated:taint", - "System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);;Argument[Qualifier];Argument[0];generated:taint", - "System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);;Argument[Qualifier];Argument[0];generated:taint", - "System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);;Argument[Qualifier];Argument[0];generated:taint", - "System.Diagnostics.Tracing;EventSource;false;EventSource;(System.Diagnostics.Tracing.EventSourceSettings,System.String[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;GetName;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;GetTrait;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;get_ConstructionException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;get_Guid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventSource;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_ActivityId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_EventName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_PayloadNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_RelatedActivityId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;AddBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;AddEvent;(System.Diagnostics.ActivityEvent);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;AddTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;AddTag;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;SetBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetEndTime;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetIdFormat;(System.Diagnostics.ActivityIdFormat);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetStartTime;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetStatus;(System.Diagnostics.ActivityStatusCode,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics;Activity;false;SetStatus;(System.Diagnostics.ActivityStatusCode,System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;SetTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;Start;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;Activity;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_Links;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_ParentId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_ParentSpanId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_RootId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_SpanId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_TagObjects;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_TraceId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;get_TraceStateString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Activity;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;Activity;false;set_TraceStateString;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ActivityCreationOptions<>;false;get_SamplingTags;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ActivitySource;false;CreateActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.Diagnostics.ActivityIdFormat);;Argument[2];ReturnValue;generated:taint", - "System.Diagnostics;ActivitySource;false;StartActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.DateTimeOffset);;Argument[2];ReturnValue;generated:taint", - "System.Diagnostics;ActivitySpanId;false;ToHexString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ActivitySpanId;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ActivityTagsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ActivityTagsCollection;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ActivityTraceId;false;ToHexString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ActivityTraceId;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;CorrelationManager;false;get_LogicalOperationStack;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DataReceivedEventArgs;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DebuggerDisplayAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DebuggerDisplayAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;DebuggerTypeProxyAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DebuggerTypeProxyAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;DebuggerVisualizerAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DebuggerVisualizerAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;DefaultTraceListener;false;get_LogFileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DefaultTraceListener;false;set_LogFileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;DelimitedListTraceListener;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DelimitedListTraceListener;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;DiagnosticSource;false;StartActivity;(System.Diagnostics.Activity,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;GetVersionInfo;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_Comments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_CompanyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_FileDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_FileVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_InternalName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_Language;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_LegalCopyright;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_LegalTrademarks;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_OriginalFilename;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_PrivateBuild;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_ProductName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_ProductVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;FileVersionInfo;false;get_SpecialBuild;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;GetProcessById;(System.Int32,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;GetProcesses;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;Start;(System.Diagnostics.ProcessStartInfo);;Argument[0];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_ExitTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_MachineName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_MainModule;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_MaxWorkingSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_MinWorkingSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_Modules;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_ProcessorAffinity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_StandardError;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_StandardInput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_StandardOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_StartInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_StartTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;get_Threads;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Process;false;set_ProcessorAffinity;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;Process;false;set_StartInfo;(System.Diagnostics.ProcessStartInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessModule;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessModule;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessModule;false;get_ModuleName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessModuleCollection;false;ProcessModuleCollection;(System.Diagnostics.ProcessModule[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessModuleCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_Environment;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_EnvironmentVariables;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_Verb;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;get_WorkingDirectory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessStartInfo;false;set_Arguments;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;set_Verb;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessStartInfo;false;set_WorkingDirectory;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessThread;false;get_StartAddress;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;ProcessThreadCollection;false;Insert;(System.Int32,System.Diagnostics.ProcessThread);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessThreadCollection;false;ProcessThreadCollection;(System.Diagnostics.ProcessThread[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Diagnostics;ProcessThreadCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;SourceFilter;false;SourceFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;SourceFilter;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;SourceFilter;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;StackFrame;false;GetFileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;StackFrame;false;GetMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;StackFrame;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;StackTrace;false;GetFrame;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;StackTrace;false;StackTrace;(System.Diagnostics.StackFrame);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;StackTrace;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Diagnostics;Switch;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Switch;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Switch;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Switch;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;Switch;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Diagnostics;SwitchAttribute;false;get_SwitchName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;SwitchAttribute;false;get_SwitchType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;SwitchAttribute;false;set_SwitchName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;SwitchAttribute;false;set_SwitchType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;SwitchLevelAttribute;false;SwitchLevelAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;SwitchLevelAttribute;false;get_SwitchLevelType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;SwitchLevelAttribute;false;set_SwitchLevelType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TagList+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TagList;false;TagList;(System.ReadOnlySpan>);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TextWriterTraceListener;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TextWriterTraceListener;false;set_Writer;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TraceEventCache;false;get_Callstack;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceEventCache;false;get_DateTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceListener;false;TraceListener;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TraceListener;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceListener;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceListener;false;set_Filter;(System.Diagnostics.TraceFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TraceListener;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceListener;true;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TraceListenerCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Diagnostics;TraceSource;false;TraceSource;(System.String,System.Diagnostics.SourceLevels);;Argument[0];Argument[Qualifier];generated:taint", - "System.Diagnostics;TraceSource;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceSource;false;get_Listeners;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceSource;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceSource;false;get_Switch;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirSyncRequestControl;false;DirSyncRequestControl;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirSyncRequestControl;false;set_Cookie;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.Byte[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.Uri);;Argument[Qualifier];Argument[0];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;AddRange;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;CopyTo;(System.Object[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;DirectoryAttribute;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;DirectoryAttribute;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;DirectoryAttribute;(System.String,System.Object[]);;Argument[Qualifier];Argument[1].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;GetValues;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.Byte[]);;Argument[Qualifier];Argument[1].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.String);;Argument[Qualifier];Argument[1];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.Uri);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.Uri);;Argument[Qualifier];Argument[1];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;Remove;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;set_Item;(System.Int32,System.Object);;Argument[Qualifier];Argument[1];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;Add;(System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttributeCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;CopyTo;(System.DirectoryServices.Protocols.DirectoryAttribute[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;Insert;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;Remove;(System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;set_Item;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;Add;(System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttributeModificationCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttributeModification[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;CopyTo;(System.DirectoryServices.Protocols.DirectoryAttributeModification[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;Insert;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;Remove;(System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;set_Item;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryConnection;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryConnection;true;get_Directory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryConnection;true;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryConnection;true;set_Credential;(System.Net.NetworkCredential);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryConnection;true;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;Add;(System.DirectoryServices.Protocols.DirectoryControl);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryControlCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryControl[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;CopyTo;(System.DirectoryServices.Protocols.DirectoryControl[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;Insert;(System.Int32,System.DirectoryServices.Protocols.DirectoryControl);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;Remove;(System.DirectoryServices.Protocols.DirectoryControl);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryControlCollection;false;set_Item;(System.Int32,System.DirectoryServices.Protocols.DirectoryControl);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;DirectoryRequest;false;get_RequestId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;DirectoryRequest;false;set_RequestId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;ExtendedRequest;false;ExtendedRequest;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;ExtendedRequest;false;set_RequestValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;ExtendedResponse;false;set_ResponseValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;Bind;(System.Net.NetworkCredential);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;EndSendRequest;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;GetPartialResults;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;LdapConnection;(System.DirectoryServices.Protocols.LdapDirectoryIdentifier,System.Net.NetworkCredential,System.DirectoryServices.Protocols.AuthType);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;LdapConnection;(System.DirectoryServices.Protocols.LdapDirectoryIdentifier,System.Net.NetworkCredential,System.DirectoryServices.Protocols.AuthType);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;set_Credential;(System.Net.NetworkCredential);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapConnection;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapDirectoryIdentifier;false;LdapDirectoryIdentifier;(System.String[],System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;LdapSessionOptions;false;get_QueryClientCertificate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;LdapSessionOptions;false;get_ReferralCallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;LdapSessionOptions;false;get_VerifyServerCertificate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;LdapSessionOptions;false;set_ReferralCallback;(System.DirectoryServices.Protocols.ReferralCallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;PageResultRequestControl;false;PageResultRequestControl;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;PageResultRequestControl;false;set_Cookie;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;PartialResultsCollection;false;CopyTo;(System.Object[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;PartialResultsCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchRequest;false;SearchRequest;(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SearchRequest;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchRequest;false;get_TimeLimit;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchRequest;false;set_Filter;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SearchRequest;false;set_TimeLimit;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SearchResponse;false;get_Entries;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchResponse;false;get_References;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchResponse;false;set_Entries;(System.DirectoryServices.Protocols.SearchResultEntryCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SearchResponse;false;set_References;(System.DirectoryServices.Protocols.SearchResultReferenceCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SearchResultAttributeCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchResultEntryCollection;false;CopyTo;(System.DirectoryServices.Protocols.SearchResultEntry[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;SearchResultEntryCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SearchResultReferenceCollection;false;CopyTo;(System.DirectoryServices.Protocols.SearchResultReference[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.DirectoryServices.Protocols;SearchResultReferenceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SortKey;false;SortKey;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SortKey;false;SortKey;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SortKey;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SortKey;false;get_MatchingRule;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;SortKey;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SortKey;false;set_MatchingRule;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;SortRequestControl;false;get_SortKeys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;VerifyNameControl;false;VerifyNameControl;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;VerifyNameControl;false;get_ServerName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.DirectoryServices.Protocols;VerifyNameControl;false;set_ServerName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;VlvRequestControl;false;VlvRequestControl;(System.Int32,System.Int32,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;VlvRequestControl;false;VlvRequestControl;(System.Int32,System.Int32,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;VlvRequestControl;false;set_ContextId;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.DirectoryServices.Protocols;VlvRequestControl;false;set_Target;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Configuration;SystemDrawingSection;false;get_BitmapSuffix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.Drawing.Design.CategoryNameCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Design;CategoryNameCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Drawing.Design;CategoryNameCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;BitmapData;false;get_Scan0;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;BitmapData;false;set_Scan0;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ColorMap;false;get_NewColor;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ColorMap;false;get_OldColor;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ColorMap;false;set_NewColor;(System.Drawing.Color);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ColorMap;false;set_OldColor;(System.Drawing.Color);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ColorPalette;false;get_Entries;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;Encoder;false;Encoder;(System.Guid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;Encoder;false;get_Guid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Drawing.Imaging.EncoderParameterValueType,System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[],System.Int32[],System.Int32[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[],System.Int64[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;get_Encoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;EncoderParameter;false;set_Encoder;(System.Drawing.Imaging.Encoder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;EncoderParameters;false;get_Param;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;EncoderParameters;false;set_Param;(System.Drawing.Imaging.EncoderParameter[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;FrameDimension;false;FrameDimension;(System.Guid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;FrameDimension;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;FrameDimension;false;get_Guid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_Clsid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_CodecName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_DllName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_FilenameExtension;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_FormatDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_FormatID;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_MimeType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_SignatureMasks;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;get_SignaturePatterns;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_Clsid;(System.Guid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_CodecName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_DllName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_FilenameExtension;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_FormatDescription;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_FormatID;(System.Guid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_MimeType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_SignatureMasks;(System.Byte[][]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageCodecInfo;false;set_SignaturePatterns;(System.Byte[][]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageFormat;false;ImageFormat;(System.Guid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Imaging;ImageFormat;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;ImageFormat;false;get_Guid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Imaging;Metafile;false;GetHenhmetafile;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;InvalidPrinterException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Drawing.Printing;InvalidPrinterException;false;InvalidPrinterException;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;PageSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PageSettings;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;get_Margins;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;get_PaperSize;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;get_PaperSource;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;get_PrintableArea;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;get_PrinterResolution;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;get_PrinterSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PageSettings;false;set_Margins;(System.Drawing.Printing.Margins);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PageSettings;false;set_PaperSize;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PageSettings;false;set_PaperSource;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PageSettings;false;set_PrinterResolution;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PageSettings;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PaperSize;false;PaperSize;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PaperSize;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PaperSize;false;get_PaperName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PaperSize;false;set_PaperName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PaperSource;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PaperSource;false;get_SourceName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PaperSource;false;set_SourceName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[1];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PreviewPageInfo;false;get_Image;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PreviewPageInfo;false;get_PhysicalSize;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PreviewPrintController;false;GetPreviewPageInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintDocument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintDocument;false;get_DefaultPageSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintDocument;false;get_DocumentName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintDocument;false;get_PrintController;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintDocument;false;get_PrinterSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintDocument;false;set_DefaultPageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintDocument;false;set_DocumentName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintDocument;false;set_PrintController;(System.Drawing.Printing.PrintController);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintDocument;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[1];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[2];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[3];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;get_Graphics;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;get_MarginBounds;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;get_PageBounds;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrintPageEventArgs;false;get_PageSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;Add;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;PaperSizeCollection;(System.Drawing.Printing.PaperSize[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;Add;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;PaperSourceCollection;(System.Drawing.Printing.PaperSource[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;Add;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;PrinterResolutionCollection;(System.Drawing.Printing.PrinterResolution[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Drawing.Printing;PrinterSettings+StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+StringCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+StringCollection;false;StringCollection;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings+StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings+StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Drawing.Printing;PrinterSettings;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;get_DefaultPageSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;get_PaperSizes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;get_PaperSources;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;get_PrintFileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;get_PrinterName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;get_PrinterResolutions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;PrinterSettings;false;set_PrintFileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;PrinterSettings;false;set_PrinterName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;QueryPageSettingsEventArgs;false;QueryPageSettingsEventArgs;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;QueryPageSettingsEventArgs;false;get_PageSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing.Printing;QueryPageSettingsEventArgs;false;set_PageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing.Printing;StandardPrintController;false;OnStartPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;Bitmap;false;LockBits;(System.Drawing.Rectangle,System.Drawing.Imaging.ImageLockMode,System.Drawing.Imaging.PixelFormat,System.Drawing.Imaging.BitmapData);;Argument[3];ReturnValue;generated:taint", - "System.Drawing;Brush;false;SetNativeBrush;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;BufferedGraphics;false;get_Graphics;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;BufferedGraphicsContext;false;get_MaximumBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;BufferedGraphicsContext;false;set_MaximumBuffer;(System.Drawing.Size);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;Color;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Color;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;ColorConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;Font;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Font;false;Font;(System.Drawing.Font,System.Drawing.FontStyle);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;Font;false;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;Font;false;Font;(System.String,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;Font;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Drawing;Font;false;ToHfont;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Font;false;get_FontFamily;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Font;false;get_OriginalFontName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Font;false;get_SystemFontName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;FontConverter+FontNameConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;FontConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;Graphics;false;FromImage;(System.Drawing.Image);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;Graphics;false;GetHdc;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Icon;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Icon;false;FromHandle;(System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;Icon;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[1];Argument[Qualifier];generated:taint", - "System.Drawing;Icon;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Icon;false;get_Size;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Image;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Image;false;set_Tag;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;ImageFormatConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;Pen;false;Pen;(System.Drawing.Color,System.Single);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;Pen;false;get_Color;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Pen;false;get_CustomEndCap;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;Pen;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;RectangleF;false;Inflate;(System.Drawing.RectangleF,System.Single,System.Single);;Argument[0];ReturnValue;generated:taint", - "System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Drawing;SolidBrush;false;SolidBrush;(System.Drawing.Color);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;SolidBrush;false;get_Color;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;SolidBrush;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[Qualifier];generated:taint", - "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Dynamic;BindingRestrictions;false;Merge;(System.Dynamic.BindingRestrictions);;Argument[Qualifier];ReturnValue;generated:value", - "System.Dynamic;BindingRestrictions;false;ToExpression;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Dynamic;DynamicMetaObject;false;Create;(System.Object,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Dynamic;DynamicMetaObject;false;DynamicMetaObject;(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.Dynamic;DynamicMetaObject;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Dynamic;ExpandoObject;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[2];Argument[Qualifier];generated:taint", - "System.Formats.Asn1;AsnReader;false;PeekContentBytes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;PeekEncodedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;ReadEncodedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;ReadEnumeratedBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;ReadIntegerBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;ReadSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Boolean,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;TryReadPrimitiveBitString;(System.Int32,System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;TryReadPrimitiveCharacterStringBytes;(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnReader;false;TryReadPrimitiveOctetString;(System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnWriter;false;PushOctetString;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnWriter;false;PushSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Asn1;AsnWriter;false;PushSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Cbor;CborReader;false;CborReader;(System.ReadOnlyMemory,System.Formats.Cbor.CborConformanceMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Formats.Cbor;CborReader;false;ReadDefiniteLengthByteString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Cbor;CborReader;false;ReadDefiniteLengthTextStringBytes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Formats.Cbor;CborReader;false;ReadEncodedValue;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;Calendar;false;ReadOnly;(System.Globalization.Calendar);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CompareInfo;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;CultureInfo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;CultureInfo;false;GetConsoleFallbackUICulture;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;GetCultureInfoByIetfLanguageTag;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;ReadOnly;(System.Globalization.CultureInfo);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_EnglishName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_NativeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_NumberFormat;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;get_TextInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureInfo;false;set_DateTimeFormat;(System.Globalization.DateTimeFormatInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;CultureInfo;false;set_NumberFormat;(System.Globalization.NumberFormatInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Globalization;CultureNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Globalization;CultureNotFoundException;false;get_InvalidCultureId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureNotFoundException;false;get_InvalidCultureName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;CultureNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedEraName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetAllDateTimePatterns;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetEraName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;GetShortestDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;ReadOnly;(System.Globalization.DateTimeFormatInfo);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;SetAllDateTimePatterns;(System.String[],System.Char);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;get_AMDesignator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;get_DateSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;get_MonthDayPattern;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;get_PMDesignator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;get_TimeSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_AMDesignator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_Calendar;(System.Globalization.Calendar);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_DateSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_DayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_FullDateTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_LongDatePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_LongTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_MonthDayPattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_MonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_MonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_PMDesignator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_ShortDatePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_ShortTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_ShortestDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_TimeSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DateTimeFormatInfo;false;set_YearMonthPattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint", - "System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint", - "System.Globalization;DaylightTime;false;get_Delta;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DaylightTime;false;get_End;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;DaylightTime;false;get_Start;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;GlobalizationExtensions;false;GetStringComparer;(System.Globalization.CompareInfo,System.Globalization.CompareOptions);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;IdnMapping;false;GetAscii;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;IdnMapping;false;GetUnicode;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;ReadOnly;(System.Globalization.NumberFormatInfo);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_CurrencyDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_CurrencyGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_CurrencySymbol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_NaNSymbol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_NegativeInfinitySymbol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_NegativeSign;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_NumberDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_NumberGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_PerMilleSymbol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_PercentDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_PercentGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_PercentSymbol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_PositiveInfinitySymbol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;get_PositiveSign;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;NumberFormatInfo;false;set_CurrencyDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_CurrencyGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_CurrencySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_NaNSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_NativeDigits;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_NegativeInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_NegativeSign;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_NumberDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_NumberGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_PerMilleSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_PercentDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_PercentGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_PercentSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_PositiveInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;NumberFormatInfo;false;set_PositiveSign;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;RegionInfo;false;RegionInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;RegionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;RegionInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;RegionInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;SortKey;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;SortKey;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;SortVersion;false;SortVersion;(System.Int32,System.Guid);;Argument[1];Argument[Qualifier];generated:taint", - "System.Globalization;SortVersion;false;get_SortId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;GetNextTextElement;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;GetNextTextElement;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;StringInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;get_String;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;StringInfo;false;set_String;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Globalization;TextElementEnumerator;false;GetTextElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;TextElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;ReadOnly;(System.Globalization.TextInfo);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;ToLower;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;ToTitleCase;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;ToUpper;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;get_CultureName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Globalization;TextInfo;false;set_ListSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;BrotliStream;false;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;BrotliStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;DeflateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;DeflateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;DeflateStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;GZipStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;GZipStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;GZipStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZLibException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.IO.Compression;ZLibException;false;ZLibException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZLibException;false;ZLibException;(System.String,System.String,System.Int32,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZLibException;false;ZLibException;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZLibStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;ZLibStream;false;ZLibStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZLibStream;false;ZLibStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZLibStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZipArchive;false;get_Entries;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;Open;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;get_Archive;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;get_LastWriteTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;set_FullName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZipArchiveEntry;false;set_LastWriteTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Compression;ZipFile;false;Open;(System.String,System.IO.Compression.ZipArchiveMode,System.Text.Encoding);;Argument[2];ReturnValue;generated:taint", - "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;generated:taint", - "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[2];ReturnValue;generated:taint", - "System.IO.Enumeration;FileSystemEntry;false;ToFileSystemInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Enumeration;FileSystemEntry;false;ToSpecifiedFullPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Enumeration;FileSystemEntry;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Enumeration;FileSystemEnumerator<>;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Enumeration;FileSystemName;false;TranslateWin32Expression;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorage;false;get_ApplicationIdentity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorage;false;get_AssemblyIdentity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorage;false;get_DomainIdentity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.MemoryMappedFiles;MemoryMappedFile;false;CreateFromFile;(System.IO.FileStream,System.String,System.Int64,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,System.IO.HandleInheritability,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.IO.MemoryMappedFiles;MemoryMappedFile;false;get_SafeMemoryMappedFileHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.MemoryMappedFiles;MemoryMappedViewAccessor;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.MemoryMappedFiles;MemoryMappedViewStream;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri,System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri,System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri,System.Uri,System.String);;Argument[2];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;GetNormalizedPartUri;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;GetPackageUri;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;GetPartUri;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackUriHelper;false;GetRelativeUri;(System.Uri,System.Uri);;Argument[1];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[2];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;GetPart;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;GetParts;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;GetRelationships;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;GetRelationshipsByType;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;GetRelationshipsByType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;Open;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;Open;(System.IO.Stream,System.IO.FileMode);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;Open;(System.IO.Stream,System.IO.FileMode,System.IO.FileAccess);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;Package;false;get_PackageProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[2];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;GetRelationships;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;GetRelationshipsByType;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;GetRelationshipsByType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;GetStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;GetStream;(System.IO.FileMode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;GetStream;(System.IO.FileMode,System.IO.FileAccess);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;PackagePart;(System.IO.Packaging.Package,System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Packaging;PackagePart;false;PackagePart;(System.IO.Packaging.Package,System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO.Packaging;PackagePart;false;PackagePart;(System.IO.Packaging.Package,System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO.Packaging;PackagePart;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;get_Package;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackagePart;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationship;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationship;false;get_Package;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationship;false;get_RelationshipType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationship;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationship;false;get_TargetUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationshipSelector;false;PackageRelationshipSelector;(System.Uri,System.IO.Packaging.PackageRelationshipSelectorType,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Packaging;PackageRelationshipSelector;false;PackageRelationshipSelector;(System.Uri,System.IO.Packaging.PackageRelationshipSelectorType,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO.Packaging;PackageRelationshipSelector;false;Select;(System.IO.Packaging.Package);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationshipSelector;false;Select;(System.IO.Packaging.Package);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationshipSelector;false;get_SelectionCriteria;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;PackageRelationshipSelector;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;ZipPackage;false;CreatePartCore;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[0];ReturnValue;generated:taint", - "System.IO.Packaging;ZipPackage;false;CreatePartCore;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Packaging;ZipPackagePart;false;GetStreamCore;(System.IO.FileMode,System.IO.FileAccess);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;Pipe;false;Pipe;(System.IO.Pipelines.PipeOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Pipelines;Pipe;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;Pipe;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeReader;false;Create;(System.Buffers.ReadOnlySequence);;Argument[0];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeReader;false;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions);;Argument[1];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeReader;false;ReadAtLeastAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeReader;true;AsStream;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeReader;true;CopyToAsync;(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeReader;true;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeWriter;true;AsStream;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;PipeWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;ReadResult;false;ReadResult;(System.Buffers.ReadOnlySequence,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Pipelines;ReadResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipelines;StreamPipeExtensions;false;CopyToAsync;(System.IO.Stream,System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.IO.Pipes;AnonymousPipeClientStream;false;AnonymousPipeClientStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO.Pipes;AnonymousPipeServerStream;false;get_ClientSafePipeHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO.Pipes;NamedPipeServerStream;false;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO.Pipes;NamedPipeServerStream;false;WaitForConnectionAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO.Pipes;PipeStream;false;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Pipes;PipeStream;false;get_SafePipeHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.IO.Ports;SerialPort;false;ReadExisting;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;ReadLine;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;ReadTo;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;SerialPort;(System.String,System.Int32,System.IO.Ports.Parity,System.Int32,System.IO.Ports.StopBits);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;Write;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;WriteLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;get_NewLine;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;get_PortName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO.Ports;SerialPort;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO.Ports;SerialPort;false;set_PortName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;BinaryReader;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.IO;BinaryReader;false;ReadBytes;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;BinaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;BinaryReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;BinaryWriter;false;DisposeAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;BinaryWriter;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;BinaryWriter;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;BinaryWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;BufferedStream;false;BufferedStream;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;BufferedStream;false;get_UnderlyingStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;Directory;false;CreateDirectory;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;Directory;false;CreateSymbolicLink;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;Directory;false;GetParent;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;DirectoryInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;DirectoryInfo;false;EnumerateDirectories;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFiles;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DirectoryInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;DirectoryInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DriveInfo;false;DriveInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;DriveInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DriveInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DriveInfo;false;get_RootDirectory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;DriveInfo;false;get_VolumeLabel;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;ErrorEventArgs;false;ErrorEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;ErrorEventArgs;false;GetException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.IO;File;false;CreateSymbolicLink;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;File;false;OpenHandle;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.Int64);;Argument[0];ReturnValue;generated:taint", - "System.IO;File;false;ReadLines;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint", - "System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[1];ReturnValue;generated:taint", - "System.IO;File;false;WriteAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.IO;FileFormatException;false;FileFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileFormatException;false;FileFormatException;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileFormatException;false;FileFormatException;(System.Uri,System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileFormatException;false;FileFormatException;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileFormatException;false;FileFormatException;(System.Uri,System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.IO;FileFormatException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileInfo;false;CopyTo;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;FileInfo;false;CopyTo;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.IO;FileInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileInfo;false;MoveTo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileInfo;false;get_Directory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileInfo;false;get_DirectoryName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.IO;FileLoadException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileStream;false;get_SafeFileHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;FileSystemEventArgs;false;get_FullPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemInfo;false;get_Extension;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemInfo;false;get_LinkTarget;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemInfo;true;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemInfo;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;FileSystemWatcher;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemWatcher;false;get_Filters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemWatcher;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemWatcher;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;FileSystemWatcher;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileSystemWatcher;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;FileSystemWatcher;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;MemoryStream;false;GetBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;MemoryStream;false;TryGetBuffer;(System.ArraySegment);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;MemoryStream;false;WriteTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];generated:taint", - "System.IO;Path;false;ChangeExtension;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;generated:taint", - "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3];ReturnValue;generated:taint", - "System.IO;Path;false;TrimEndingDirectorySeparator;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System.IO;Path;false;TrimEndingDirectorySeparator;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[1].Element;ReturnValue;generated:taint", - "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Memory,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Memory,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[1].Element;ReturnValue;generated:taint", - "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlyMemory,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlyMemory,System.Int64,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlyMemory,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO;RenamedEventArgs;false;get_OldFullPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;RenamedEventArgs;false;get_OldName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;Stream;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;Stream;false;Synchronized;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.IO;Stream;true;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;Stream;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;Stream;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;WriteLineAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StreamWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StringWriter;false;GetStringBuilder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StringWriter;false;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;StringWriter;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;Write;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;Write;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;StringWriter;false;WriteLine;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextReader;false;Synchronized;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint", - "System.IO;TextWriter;false;Synchronized;(System.IO.TextWriter);;Argument[0];ReturnValue;generated:taint", - "System.IO;TextWriter;false;TextWriter;(System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLine;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;get_FormatProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;get_NewLine;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.IO;TextWriter;true;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryAccessor;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.IO;UnmanagedMemoryStream;false;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint", - "System.IO;UnmanagedMemoryStream;false;get_PositionPointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions.Interpreter;LightLambda;false;Run;(System.Object[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;BinaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;BinaryExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;BinaryExpression;false;get_Conversion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;BinaryExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;BlockExpression;false;Update;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;BlockExpression;false;get_Expressions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;BlockExpression;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;BlockExpression;false;get_Variables;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;CatchBlock;false;Update;(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;ConditionalExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;ConditionalExpression;false;get_IfFalse;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;ConstantExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;DebugInfoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;DefaultExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Rewrite;(System.Linq.Expressions.Expression[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;DynamicExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;DynamicExpressionVisitor;false;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ElementInit;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ArrayAccess;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ArrayIndex;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Coalesce;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Reflection.FieldInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GetActionType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GetFuncType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;IfThenElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Invoke;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[5];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeIndex;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MakeMemberAccess;(System.Linq.Expressions.Expression,System.Reflection.MemberInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Reflection.MemberInfo[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ReduceAndCheck;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ReduceExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;TryGetActionType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;false;TryGetFuncType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression;true;Reduce;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;Expression<>;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitCatchBlock;(System.Linq.Expressions.CatchBlock);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitConstant;(System.Linq.Expressions.ConstantExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitDebugInfo;(System.Linq.Expressions.DebugInfoExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitDefault;(System.Linq.Expressions.DefaultExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitElementInit;(System.Linq.Expressions.ElementInit);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitGoto;(System.Linq.Expressions.GotoExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitIndex;(System.Linq.Expressions.IndexExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitInvocation;(System.Linq.Expressions.InvocationExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitLabel;(System.Linq.Expressions.LabelExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitLabelTarget;(System.Linq.Expressions.LabelTarget);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitListInit;(System.Linq.Expressions.ListInitExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitLoop;(System.Linq.Expressions.LoopExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMember;(System.Linq.Expressions.MemberExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberInit;(System.Linq.Expressions.MemberInitExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberListBinding;(System.Linq.Expressions.MemberListBinding);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberMemberBinding;(System.Linq.Expressions.MemberMemberBinding);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitNew;(System.Linq.Expressions.NewExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitNewArray;(System.Linq.Expressions.NewArrayExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitParameter;(System.Linq.Expressions.ParameterExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitRuntimeVariables;(System.Linq.Expressions.RuntimeVariablesExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitSwitch;(System.Linq.Expressions.SwitchExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitSwitchCase;(System.Linq.Expressions.SwitchCase);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitTry;(System.Linq.Expressions.TryExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitTypeBinary;(System.Linq.Expressions.TypeBinaryExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;ExpressionVisitor;true;VisitUnary;(System.Linq.Expressions.UnaryExpression);;Argument[0];ReturnValue;generated:taint", - "System.Linq.Expressions;GotoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;GotoExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;IndexExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;IndexExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;IndexExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;IndexExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;InvocationExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;InvocationExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;LabelExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;LabelExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;LambdaExpression;false;get_Body;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;LambdaExpression;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;ListInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;ListInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;LoopExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;LoopExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MemberAssignment;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MemberAssignment;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;MemberExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MemberExpression;false;get_Member;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;MemberInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;MemberInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MemberListBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MemberMemberBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;MethodCallExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;MethodCallExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;MethodCallExpression;false;get_Object;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;NewArrayExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;NewArrayExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;NewExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;NewExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;NewExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;NewExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint", - "System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;RuntimeVariablesExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;RuntimeVariablesExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;SwitchCase;false;Update;(System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;SwitchExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;SwitchExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;TryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;TryExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;TypeBinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;TypeBinaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;UnaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq.Expressions;UnaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq.Expressions;UnaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq;Enumerable;false;Append<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint", - "System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Index);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Index);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint", - "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1];generated:taint", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1];generated:taint", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;Prepend<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint", - "System.Linq;Enumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint", - "System.Linq;Enumerable;false;SkipLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Range);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Enumerable;false;TakeLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;EnumerableExecutor<>;false;EnumerableExecutor;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq;EnumerableQuery<>;false;CreateQuery<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint", - "System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint", - "System.Linq;EnumerableQuery<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq;EnumerableQuery<>;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq;EnumerableQuery<>;false;get_Provider;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Linq;Grouping<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq;ImmutableArrayExtensions;false;ElementAt<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ImmutableArrayExtensions;false;ElementAtOrDefault<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ImmutableArrayExtensions;false;Single<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;Lookup<,>;false;get_Item;(TKey);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsOrdered;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsOrdered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsParallel;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Concurrent.Partitioner);;Argument[0];ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsSequential<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;AsUnordered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;WithCancellation<>;(System.Linq.ParallelQuery,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;WithDegreeOfParallelism<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;WithExecutionMode<>;(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Linq;ParallelEnumerable;false;WithMergeOptions<>;(System.Linq.ParallelQuery,System.Linq.ParallelMergeOptions);;Argument[0].Element;ReturnValue;generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan,System.DateTime);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;get_CacheSyncDate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;get_MaxStale;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Cache;HttpRequestCachePolicy;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;AuthenticationHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;AuthenticationHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Parameter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxStaleLimit;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;get_SharedMaxAge;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxStaleLimit;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;set_MinFresh;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;CacheControlHeaderValue;false;set_SharedMaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.Net.Http.Headers.ContentDispositionHeaderValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileNameStar;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentDispositionHeaderValue;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Length;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ContentRangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;EntityTagHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;EntityTagHeaderValue;false;EntityTagHeaderValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;EntityTagHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;EntityTagHeaderValue;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HeaderStringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HeaderStringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HeaderStringValues;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeaders;false;get_NonValidated;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated;false;TryGetValue;(System.String,System.Net.Http.Headers.HeaderStringValues);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated;false;TryGetValues;(System.String,System.Net.Http.Headers.HeaderStringValues);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated;false;get_Item;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated;false;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpHeadersNonValidated;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpResponseHeaders;false;get_AcceptRanges;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpResponseHeaders;false;get_ProxyAuthenticate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpResponseHeaders;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpResponseHeaders;false;get_Vary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;HttpResponseHeaders;false;get_WwwAuthenticate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;get_CharSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;get_MediaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;MediaTypeHeaderValue;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;MediaTypeWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.Net.Http.Headers.NameValueHeaderValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;NameValueHeaderValue;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;NameValueWithParametersHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ProductHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductHeaderValue;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.Net.Http.Headers.ProductHeaderValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.ProductInfoHeaderValue);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Product;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.Net.Http.Headers.EntityTagHeaderValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RangeConditionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeConditionHeaderValue;false;get_EntityTag;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RangeItemHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RangeItemHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RangeItemHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RetryConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Delta;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;StringWithQualityHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;StringWithQualityHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Quality;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;TransferCodingHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;TransferCodingHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;TransferCodingHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;TransferCodingHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;TransferCodingWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;ViaHeaderValue;false;get_ReceivedBy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;get_Agent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Headers;WarningHeaderValue;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http.Json;JsonContent;false;Create;(System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[3];ReturnValue;generated:taint", - "System.Net.Http.Json;JsonContent;false;Create<>;(T,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[2];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Http;ByteArrayContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;CreateContentReadStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;DelegatingHandler;false;DelegatingHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;DelegatingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Http;DelegatingHandler;false;get_InnerHandler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;DelegatingHandler;false;set_InnerHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpClient;false;get_DefaultRequestVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpClient;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpClient;false;set_BaseAddress;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpClient;false;set_DefaultRequestVersion;(System.Version);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpClient;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpClientHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;false;CopyTo;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpContent;false;ReadAsStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;false;ReadAsStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;false;ReadAsStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;false;ReadAsStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;true;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;true;CreateContentReadStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpMessageInvoker;false;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpMessageInvoker;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Http;HttpMethod;false;HttpMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpMethod;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpMethod;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpRequestMessage;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpRequestMessage;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpRequestMessage;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpRequestMessage;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpRequestMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpRequestMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpRequestMessage;false;set_Method;(System.Net.Http.HttpMethod);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpRequestMessage;false;set_RequestUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpRequestMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpResponseMessage;false;EnsureSuccessStatusCode;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Net.Http;HttpResponseMessage;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpResponseMessage;false;get_ReasonPhrase;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpResponseMessage;false;get_RequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpResponseMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;HttpResponseMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpResponseMessage;false;set_ReasonPhrase;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpResponseMessage;false;set_RequestMessage;(System.Net.Http.HttpRequestMessage);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;HttpResponseMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;MessageProcessingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Http;MultipartContent;false;MultipartContent;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Http;MultipartContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;MultipartFormDataContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;ReadOnlyMemoryContent;false;ReadOnlyMemoryContent;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpConnectionContext;false;get_DnsEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpConnectionContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_ActivityHeadersPropagator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_ConnectCallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_ConnectTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_DefaultProxyCredentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_Expect100ContinueTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingDelay;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_PlaintextStreamFilter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionIdleTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionLifetime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_RequestHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_ResponseDrainTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_ResponseHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;get_SslOptions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_ActivityHeadersPropagator;(System.Diagnostics.DistributedContextPropagator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_ConnectTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_DefaultProxyCredentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_Expect100ContinueTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingDelay;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionIdleTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_ResponseDrainTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpHandler;false;set_SslOptions;(System.Net.Security.SslClientAuthenticationOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_NegotiatedHttpVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_PlaintextStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;AlternateView;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;AlternateViewCollection;false;InsertItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;AlternateViewCollection;false;SetItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;Attachment;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;get_ContentDisposition;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;get_NameEncoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;Attachment;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;Attachment;false;set_NameEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentBase;false;get_ContentId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;AttachmentBase;false;get_ContentStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;AttachmentBase;false;set_ContentType;(System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentCollection;false;InsertItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;AttachmentCollection;false;SetItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net.Mail;LinkedResource;false;get_ContentLink;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;LinkedResourceCollection;false;InsertItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;LinkedResourceCollection;false;SetItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailAddress;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[2];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailAddress;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailAddressCollection;false;InsertItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailAddressCollection;false;SetItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailAddressCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;MailMessage;(System.Net.Mail.MailAddress,System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;get_Body;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_BodyEncoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_HeadersEncoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_ReplyTo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_Sender;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;get_SubjectEncoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;MailMessage;false;set_Body;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_BodyEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_From;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_HeadersEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_ReplyTo;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_Sender;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_Subject;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;MailMessage;false;set_SubjectEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;Send;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;Send;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendAsync;(System.Net.Mail.MailMessage,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendAsync;(System.String,System.String,System.String,System.String,System.Object);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[4];ReturnValue;generated:taint", - "System.Net.Mail;SmtpClient;false;SmtpClient;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;SmtpClient;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;SmtpClient;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;SmtpClient;false;get_PickupDirectoryLocation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;SmtpClient;false;get_TargetName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;SmtpClient;false;set_Credentials;(System.Net.ICredentialsByHost);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;set_PickupDirectoryLocation;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpClient;false;set_TargetName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Mail;SmtpFailedRecipientException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpFailedRecipientException;false;get_FailedRecipient;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mail;SmtpFailedRecipientsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Net.Mail.SmtpFailedRecipientException[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Net.Mail;SmtpFailedRecipientsException;false;get_InnerExceptions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentDisposition;false;ContentDisposition;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mime;ContentDisposition;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentDisposition;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentDisposition;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mime;ContentType;false;ContentType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Mime;ContentType;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentType;false;get_Boundary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentType;false;get_CharSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentType;false;get_MediaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentType;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Mime;ContentType;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.NetworkInformation;IPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.NetworkInformation;NetworkInformationPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Net.NetworkInformation;PhysicalAddress;false;PhysicalAddress;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Quic;QuicConnection;false;OpenBidirectionalStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Quic;QuicConnection;false;OpenUnidirectionalStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Quic;QuicConnection;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Quic;QuicConnection;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Quic;QuicConnection;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Quic;QuicListener;false;QuicListener;(System.Net.Quic.Implementations.QuicImplementationProvider,System.Net.Quic.QuicListenerOptions);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Quic;QuicListener;false;get_ListenEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;AuthenticatedStream;false;AuthenticatedStream;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Security;AuthenticatedStream;false;DisposeAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;AuthenticatedStream;false;get_InnerStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;NegotiateStream;false;get_RemoteIdentity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslApplicationProtocol;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslApplicationProtocol;false;get_Protocol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslCertificateTrust;false;CreateForX509Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Net.Security;SslCertificateTrust;false;CreateForX509Store;(System.Security.Cryptography.X509Certificates.X509Store,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslStream;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Security;SslStream;false;get_LocalCertificate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslStream;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslStream;false;get_RemoteCertificate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslStream;false;get_TransportContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean,System.Net.Security.SslCertificateTrust);;Argument[0];ReturnValue;generated:taint", - "System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean,System.Net.Security.SslCertificateTrust);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;IPPacketInformation;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;IPv6MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;IPv6MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;MulticastOption;false;get_LocalAddress;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;MulticastOption;false;set_LocalAddress;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;NetworkStream;false;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;NetworkStream;false;get_Socket;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SafeSocketHandle;false;SafeSocketHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;Accept;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;AcceptAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;Bind;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;Connect;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress[],System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;ConnectAsync;(System.String,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;DisconnectAsync;(System.Boolean,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;DisconnectAsync;(System.Boolean,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;DisconnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;EndAccept;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.EndPoint);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.ArraySegment,System.Net.EndPoint);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.ArraySegment,System.Net.EndPoint);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;SendAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.ReadOnlyMemory,System.ReadOnlyMemory,System.Net.Sockets.TransmitFileOptions,System.Threading.CancellationToken);;Argument[4];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.ReadOnlyMemory,System.ReadOnlyMemory,System.Net.Sockets.TransmitFileOptions,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendPacketsAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendTo;(System.ReadOnlySpan,System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendTo;(System.ReadOnlySpan,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ArraySegment,System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;Socket;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Memory);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_AcceptSocket;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_BufferList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectByNameError;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectSocket;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_MemoryBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_ReceiveMessageFromPacketInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_SendPacketsElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;get_UserToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;set_AcceptSocket;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;set_BufferList;(System.Collections.Generic.IList>);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;set_RemoteEndPoint;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;set_SendPacketsElements;(System.Net.Sockets.SendPacketsElement[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketAsyncEventArgs;false;set_UserToken;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;SocketException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;AcceptAsync;(System.Net.Sockets.Socket,System.Net.Sockets.Socket);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint);;Argument[1];Argument[0];generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32);;Argument[1];Argument[0];generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.String,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ReceiveFromAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;ReceiveMessageFromAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;SocketTaskExtensions;false;SendToAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[0];generated:taint", - "System.Net.Sockets;TcpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpClient;false;ConnectAsync;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpClient;false;ConnectAsync;(System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpClient;false;GetStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;TcpClient;false;TcpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;TcpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpListener;false;AcceptSocket;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;AcceptSocketAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;AcceptSocketAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;AcceptTcpClient;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;EndAcceptSocket;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;EndAcceptTcpClient;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;TcpListener;false;get_LocalEndpoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;TcpListener;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpClient;false;EndReceive;(System.IAsyncResult,System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;Receive;(System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;Send;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpClient;false;Send;(System.ReadOnlySpan,System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.String,System.Int32,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.String,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;UdpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net.Sockets;UdpReceiveResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UdpReceiveResult;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.Sockets;UnixDomainSocketEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;SetBuffer;(System.Int32,System.Int32,System.ArraySegment);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;get_RemoteCertificateValidationCallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;set_Cookies;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.WebSockets;ClientWebSocketOptions;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_CookieCollection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Origin;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketProtocols;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_WebSocket;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[0];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[1];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[2];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocket;true;SendAsync;(System.ReadOnlyMemory,System.Net.WebSockets.WebSocketMessageType,System.Net.WebSockets.WebSocketMessageFlags,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocketCreationOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocketCreationOptions;false;get_SubProtocol;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net.WebSockets;WebSocketCreationOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.WebSockets;WebSocketCreationOptions;false;set_SubProtocol;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net.WebSockets;WebSocketException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net;Authorization;false;get_ProtectionRealm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Authorization;false;set_ProtectionRealm;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;Cookie;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;Cookie;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_CommentUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_Domain;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_Expires;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_Port;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;get_TimeStamp;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Cookie;false;set_Comment;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_CommentUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_Expires;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_Port;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;Cookie;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;CookieCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;CookieCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;CookieCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Net;CookieException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net;CredentialCache;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;Dns;false;EndGetHostAddresses;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;Dns;false;EndGetHostByName;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;Dns;false;EndGetHostEntry;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;Dns;false;EndResolve;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;DnsEndPoint;false;DnsEndPoint;(System.String,System.Int32,System.Net.Sockets.AddressFamily);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;DnsEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;DnsEndPoint;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;DownloadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;DownloadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;FileWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FileWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_ConnectionGroupName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_RenameTo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;FtpWebRequest;false;set_ConnectionGroupName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;FtpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;FtpWebRequest;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;FtpWebRequest;false;set_RenameTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;FtpWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_BannerMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_ExitMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_LastModified;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;FtpWebResponse;false;get_WelcomeMessage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_AuthenticationSchemeSelectorDelegate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_DefaultServiceNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_ExtendedProtectionPolicy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_ExtendedProtectionSelectorDelegate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_Prefixes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_Realm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;get_TimeoutManager;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListener;false;set_ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpListener;false;set_Realm;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpListenerContext;false;get_Response;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerContext;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;EndGetClientCertificate;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_HttpMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_InputStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_RawUrl;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_Url;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_UrlReferrer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerRequest;false;get_UserHostName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;AppendCookie;(System.Net.Cookie);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpListenerResponse;false;Close;(System.Byte[],System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;HttpListenerResponse;false;CopyFrom;(System.Net.HttpListenerResponse);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpListenerResponse;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;get_OutputStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;get_RedirectLocation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;HttpListenerResponse;false;set_StatusDescription;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpListenerTimeoutManager;false;get_DrainEntityBody;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerTimeoutManager;false;get_IdleConnection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpListenerTimeoutManager;false;set_DrainEntityBody;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpListenerTimeoutManager;false;set_IdleConnection;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;EndGetRequestStream;(System.IAsyncResult,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;GetRequestStream;(System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Accept;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_ContinueDelegate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Expect;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_Referer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_TransferEncoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;HttpWebRequest;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpWebRequest;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpWebRequest;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;HttpWebResponse;false;GetResponseHeader;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebResponse;false;get_CharacterSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebResponse;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;HttpWebResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;IPAddress;false;MapToIPv4;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Net;IPAddress;false;MapToIPv6;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Net;IPAddress;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;IPEndPoint;false;IPEndPoint;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;IPEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;IPEndPoint;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;IPEndPoint;false;set_Address;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;GetCredential;(System.String,System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Net;NetworkCredential;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;get_Domain;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;NetworkCredential;false;get_Password;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;NetworkCredential;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;NetworkCredential;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;NetworkCredential;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;OpenReadCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;OpenWriteCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;PathList;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;PathList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;PathList;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;ProtocolViolationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net;UploadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;UploadFileCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;UploadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;UploadValuesCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;DownloadData;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadData;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadDataAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadDataAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadDataTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadDataTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadString;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadString;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadStringAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadStringAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadStringTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;DownloadStringTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[1];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenRead;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenReadAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenReadAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenReadTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenReadTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;OpenWriteAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadData;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadString;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadString;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValues;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValues;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;get_ResponseHeaders;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebClient;false;set_BaseAddress;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Net;WebClient;false;set_QueryString;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Net;WebException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Net;WebException;false;WebException;(System.String,System.Exception,System.Net.WebExceptionStatus,System.Net.WebResponse);;Argument[3];Argument[Qualifier];generated:taint", - "System.Net;WebException;false;get_Response;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebHeaderCollection;false;ToByteArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebHeaderCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebHeaderCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpRequestHeader);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpResponseHeader);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebHeaderCollection;false;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebProxy;false;GetProxy;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebProxy;false;get_BypassArrayList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebProxy;false;get_BypassList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Net;WebRequest;false;Create;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebRequest;false;Create;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebRequest;false;CreateDefault;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebRequest;false;CreateHttp;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebRequest;false;CreateHttp;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Net;WebUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];generated:taint", - "System.Net;WebUtility;false;UrlDecode;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(System.Array,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(T[,,],System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(T[,],System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Numerics.Tensors;CompressedSparseTensor<>;false;CompressedSparseTensor;(System.Memory,System.Memory,System.Memory,System.Int32,System.ReadOnlySpan,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Numerics.Tensors;CompressedSparseTensor<>;false;CompressedSparseTensor;(System.Memory,System.Memory,System.Memory,System.Int32,System.ReadOnlySpan,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Numerics.Tensors;CompressedSparseTensor<>;false;CompressedSparseTensor;(System.Memory,System.Memory,System.Memory,System.Int32,System.ReadOnlySpan,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Numerics.Tensors;CompressedSparseTensor<>;false;get_CompressedCounts;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;CompressedSparseTensor<>;false;get_Indices;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;CompressedSparseTensor<>;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;DenseTensor<>;false;DenseTensor;(System.Memory,System.ReadOnlySpan,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Numerics.Tensors;DenseTensor<>;false;Reshape;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;DenseTensor<>;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;SparseTensor<>;false;Reshape;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;Tensor<>;false;GetArrayString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;Tensor<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics.Tensors;Tensor<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Numerics.Tensors;Tensor<>;true;get_Item;(System.Int32[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Abs;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;DivRem;(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Negate;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Pow;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;Remainder;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_BitwiseOr;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_BitwiseOr;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_LeftShift;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_Modulus;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_RightShift;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_UnaryNegation;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;BigInteger;false;op_UnaryPlus;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Complex;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Complex;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Add;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Lerp;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;op_Addition;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;op_Subtraction;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Matrix4x4;false;op_UnaryNegation;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;generated:taint", - "System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[Qualifier];generated:taint", - "System.Numerics;Plane;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Numerics;Vector2;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;Vector3;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;Vector4;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System.Numerics;Vector;false;Abs<>;(System.Numerics.Vector);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Context;CustomReflectionContext;false;MapAssembly;(System.Reflection.Assembly);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Context;CustomReflectionContext;false;MapType;(System.Reflection.TypeInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Context;CustomReflectionContext;true;GetCustomAttributes;(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Reflection.Context;CustomReflectionContext;true;GetCustomAttributes;(System.Reflection.ParameterInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;GetDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;GetModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;AssemblyBuilder;false;get_ManifestModule;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ConstructorBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[4].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[5].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;DynamicILInfo;false;get_DynamicMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;CreateDelegate;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Emit;DynamicMethod;false;GetDynamicILInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;get_MethodHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;DynamicMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetEnumUnderlyingType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_UnderlyingField;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EnumBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;EventBuilder;false;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;EventBuilder;false;SetAddOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;EventBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;EventBuilder;false;SetRaiseMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;EventBuilder;false;SetRemoveOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;FieldBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;FieldBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;FieldBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;FieldBuilder;false;get_FieldType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;FieldBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;FieldBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;SetBaseTypeConstraint;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;SetInterfaceConstraints;(System.Type[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;LocalBuilder;false;get_LocalType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Emit;MethodBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;GetGenericMethodDefinition;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Emit;MethodBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;GetModule;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetReturnType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Emit;MethodBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;MethodBuilder;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;get_FullyQualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ModuleBuilder;false;get_ScopeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;ParameterBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;ParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;ParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;GetGetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;GetSetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;SetGetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;SetSetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;get_PropertyType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;PropertyBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetFieldSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetLocalVarSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.CallingConventions,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Runtime.InteropServices.CallingConvention,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Runtime.InteropServices.CallingConvention,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[2].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Runtime.InteropServices.CallingConvention,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;AddInterfaceImplementation;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;TypeBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineDefaultConstructor;(System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[2].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[3].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[6].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineTypeInitializer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetGenericTypeDefinition;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Emit;TypeBuilder;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;TypeBuilder;false;SetParent;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Emit;TypeBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata.Ecma335;CustomModifiersEncoder;false;AddModifier;(System.Reflection.Metadata.EntityHandle,System.Boolean);;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;Add;(System.Reflection.Metadata.ExceptionRegionKind,System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle,System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddCatch;(System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFault;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFilter;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFinally;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[2];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[3];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[2];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[3];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[4];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;MetadataRootBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;get_Sizes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Collections.Immutable.ImmutableArray);;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata.Ecma335;PortablePdbBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[2];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Pointer;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;SZArray;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata;AssemblyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;AssemblyDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;AssemblyFile;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;AssemblyReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;Blob;false;GetBytes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection.Metadata;BlobBuilder;false;GetBlobs;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];generated:taint", - "System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];generated:taint", - "System.Reflection.Metadata;BlobBuilder;false;ReserveBytes;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobBuilder;false;TryWriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata;BlobReader;false;ReadConstant;(System.Reflection.Metadata.ConstantTypeCode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobReader;false;ReadSerializedString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobReader;false;ReadUTF16;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobReader;false;ReadUTF8;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobReader;false;get_CurrentPointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobReader;false;get_StartPointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;BlobWriter;false;BlobWriter;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Reflection.Metadata;BlobWriter;false;WriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.Metadata;BlobWriter;false;get_Blob;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;EventAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;EventDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ExportedType;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;FieldDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;GenericParameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;GenericParameterConstraint;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ImportDefinitionCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;InterfaceImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;LocalScope;false;GetChildren;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;LocalScope;false;GetLocalConstants;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;LocalScope;false;GetLocalVariables;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ManifestResource;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MemberReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetAssemblyDefinition;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetAssemblyFile;(System.Reflection.Metadata.AssemblyFileHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetAssemblyReference;(System.Reflection.Metadata.AssemblyReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetConstant;(System.Reflection.Metadata.ConstantHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetCustomAttribute;(System.Reflection.Metadata.CustomAttributeHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetCustomAttributes;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.CustomDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetDeclarativeSecurityAttribute;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetDocument;(System.Reflection.Metadata.DocumentHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetEventDefinition;(System.Reflection.Metadata.EventDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetExportedType;(System.Reflection.Metadata.ExportedTypeHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetFieldDefinition;(System.Reflection.Metadata.FieldDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetGenericParameter;(System.Reflection.Metadata.GenericParameterHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetGenericParameterConstraint;(System.Reflection.Metadata.GenericParameterConstraintHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetImportScope;(System.Reflection.Metadata.ImportScopeHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetInterfaceImplementation;(System.Reflection.Metadata.InterfaceImplementationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetLocalConstant;(System.Reflection.Metadata.LocalConstantHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetLocalScope;(System.Reflection.Metadata.LocalScopeHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetLocalVariable;(System.Reflection.Metadata.LocalVariableHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetManifestResource;(System.Reflection.Metadata.ManifestResourceHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetMemberReference;(System.Reflection.Metadata.MemberReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetMethodDefinition;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetMethodImplementation;(System.Reflection.Metadata.MethodImplementationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetMethodSpecification;(System.Reflection.Metadata.MethodSpecificationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetModuleDefinition;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetModuleReference;(System.Reflection.Metadata.ModuleReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetNamespaceDefinitionRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetParameter;(System.Reflection.Metadata.ParameterHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetPropertyDefinition;(System.Reflection.Metadata.PropertyDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetStandaloneSignature;(System.Reflection.Metadata.StandaloneSignatureHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetTypeDefinition;(System.Reflection.Metadata.TypeDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetTypeReference;(System.Reflection.Metadata.TypeReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;GetTypeSpecification;(System.Reflection.Metadata.TypeSpecificationHandle);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_AssemblyReferences;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_CustomDebugInformation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_DebugMetadataHeader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_DeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_Documents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_EventDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_FieldDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_ImportScopes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_LocalConstants;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_LocalScopes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_LocalVariables;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_MetadataPointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_MetadataVersion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_MethodDebugInformation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_MethodDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_PropertyDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReader;false;get_StringComparer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataReaderProvider;false;GetMetadataReader;(System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MetadataStringDecoder;false;GetString;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodBodyBlock;false;Create;(System.Reflection.Metadata.BlobReader);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodBodyBlock;false;GetILReader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodBodyBlock;false;get_ExceptionRegions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodBodyBlock;false;get_LocalSignature;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodDefinition;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodImport;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodImport;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;MethodSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ModuleDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ModuleReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;NamespaceDefinition;false;get_ExportedTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;NamespaceDefinition;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;NamespaceDefinition;false;get_NamespaceDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;NamespaceDefinition;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;NamespaceDefinition;false;get_TypeDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[0];ReturnValue;generated:taint", - "System.Reflection.Metadata;Parameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;PropertyAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;PropertyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;SequencePointCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;StandaloneSignature;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetInterfaceImplementations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeDefinition;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.Metadata;TypeSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;ManagedPEBuilder;false;GetDirectories;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;ManagedPEBuilder;false;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEBuilder+Section;false;Section;(System.String,System.Reflection.PortableExecutable.SectionCharacteristics);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.PortableExecutable;PEBuilder;false;GetSections;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.PortableExecutable;PEHeaders;false;get_CoffHeader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEHeaders;false;get_CorHeader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEHeaders;false;get_PEHeader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEHeaders;false;get_SectionHeaders;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEMemoryBlock;false;get_Pointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;GetEntireImage;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;GetMetadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Byte*,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection.PortableExecutable;PEReader;false;get_PEHeaders;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Reflection;Assembly;false;GetAssembly;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;Assembly;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Assembly;true;GetName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Assembly;true;GetType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Assembly;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;GetPublicKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;SetPublicKey;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Reflection;AssemblyName;false;SetPublicKeyToken;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Reflection;AssemblyName;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;get_CultureInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;get_EscapedCodeBase;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;AssemblyName;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;AssemblyName;false;set_CultureInfo;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;AssemblyName;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;AssemblyName;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeData;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;get_MemberInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeNamedArgument;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Reflection;CustomAttributeTypedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeTypedArgument;false;get_ArgumentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;CustomAttributeTypedArgument;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfo;false;GetAddMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfo;false;GetRaiseMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfo;false;GetRemoveMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfo;true;get_AddMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfo;true;get_RaiseMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfo;true;get_RemoveMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;ExceptionHandlingClause;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;IntrospectionExtensions;false;GetTypeInfo;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;LocalVariableInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;MetadataLoadContext;false;MetadataLoadContext;(System.Reflection.MetadataAssemblyResolver,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;MetadataLoadContext;false;get_CoreAssembly;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;MethodInfo;false;CreateDelegate<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;MethodInfoExtensions;false;GetBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;Module;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Module;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;ParameterInfo;false;GetRealObject;(System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;ParameterInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;ParameterInfo;false;get_Member;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;ParameterInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;ParameterInfo;false;get_ParameterType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;Pointer;false;Box;(System.Void*,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;Pointer;false;Unbox;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;PropertyInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;PropertyInfo;false;GetGetMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;PropertyInfo;false;GetSetMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;PropertyInfo;true;get_GetMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;PropertyInfo;true;get_SetMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;ReflectionTypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Reflection;ReflectionTypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetMethodInfo;(System.Delegate);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvent;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvents;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeField;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeFields;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethods;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperties;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperty;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetElementType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetMemberWithSameMetadataDefinitionAs;(System.Reflection.MemberInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetNestedTypes;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;GetPropertyImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;TypeDelegator;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Reflection;TypeDelegator;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_AssemblyQualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeDelegator;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetConstructor;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetConstructors;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetConstructors;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetDefaultMembers;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetEvents;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetEvents;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetFields;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetFields;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetGenericArguments;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetInterfaces;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMembers;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMembers;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMethods;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetMethods;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetNestedType;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetNestedTypes;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetProperties;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetProperties;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;false;GetTypeInfo;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection;TypeInfo;true;AsType;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Reflection;TypeInfo;true;GetDeclaredEvent;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;GetDeclaredField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;GetDeclaredMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;GetDeclaredNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;GetDeclaredProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_DeclaredConstructors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_DeclaredEvents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_DeclaredFields;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_DeclaredMembers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_DeclaredMethods;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_DeclaredProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_GenericTypeParameters;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Reflection;TypeInfo;true;get_ImplementedInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources.Extensions;DeserializingResourceReader;false;DeserializingResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources.Extensions;DeserializingResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources.Extensions;PreserializedResourceWriter;false;PreserializedResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources;MissingSatelliteAssemblyException;false;MissingSatelliteAssemblyException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Resources;MissingSatelliteAssemblyException;false;get_CultureName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Resources;ResourceManager;false;GetResourceFileName;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[1];Argument[Qualifier];generated:taint", - "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[2];Argument[Qualifier];generated:taint", - "System.Resources;ResourceManager;false;ResourceManager;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources;ResourceManager;false;get_BaseName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceManager;false;get_ResourceSetType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceReader;false;GetResourceData;(System.String,System.String,System.Byte[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceReader;false;ResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources;ResourceSet;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Resources;ResourceSet;false;ResourceSet;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Resources;ResourceSet;false;ResourceSet;(System.Resources.IResourceReader);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Resources;ResourceWriter;false;ResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryRemovedArguments;false;CacheEntryRemovedArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.Runtime.Caching.CacheItem);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryRemovedArguments;false;CacheEntryRemovedArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.Runtime.Caching.CacheItem);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryRemovedArguments;false;get_CacheItem;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryRemovedArguments;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;CacheEntryUpdateArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.String,System.String);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;CacheEntryUpdateArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;CacheEntryUpdateArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_RegionName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_UpdatedCacheItem;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_UpdatedCacheItemPolicy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;set_UpdatedCacheItem;(System.Runtime.Caching.CacheItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheEntryUpdateArguments;false;set_UpdatedCacheItemPolicy;(System.Runtime.Caching.CacheItemPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;get_AbsoluteExpiration;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;get_ChangeMonitors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;get_RemovedCallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;get_SlidingExpiration;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;get_UpdateCallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;set_AbsoluteExpiration;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;CacheItemPolicy;false;set_SlidingExpiration;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;HostFileChangeMonitor;false;get_FilePaths;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;HostFileChangeMonitor;false;get_LastModified;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;HostFileChangeMonitor;false;get_UniqueId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Caching;MemoryCache;false;CreateCacheEntryChangeMonitor;(System.Collections.Generic.IEnumerable,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.Caching;MemoryCache;false;MemoryCache;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;MemoryCache;false;MemoryCache;(System.String,System.Collections.Specialized.NameValueCollection,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Caching;MemoryCache;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;CallSite;false;get_Binder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;CallSiteOps;false;AddRule<>;(System.Runtime.CompilerServices.CallSite,T);;Argument[1];Argument[0];generated:taint", - "System.Runtime.CompilerServices;CallSiteOps;false;GetCachedRules<>;(System.Runtime.CompilerServices.RuleCache);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;CallSiteOps;false;GetRules<>;(System.Runtime.CompilerServices.CallSite);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;Closure;false;Closure;(System.Object[],System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;Closure;false;Closure;(System.Object[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetOrCreateValue;(TKey);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;GetAsyncEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>+ConfiguredValueTaskAwaiter;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;DateTimeConstantAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;DefaultInterpolatedStringHandler;false;DefaultInterpolatedStringHandler;(System.Int32,System.Int32,System.IFormatProvider);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;DefaultInterpolatedStringHandler;false;DefaultInterpolatedStringHandler;(System.Int32,System.Int32,System.IFormatProvider,System.Span);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;DefaultInterpolatedStringHandler;false;DefaultInterpolatedStringHandler;(System.Int32,System.Int32,System.IFormatProvider,System.Span);;Argument[3];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;DynamicAttribute;false;DynamicAttribute;(System.Boolean[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;DynamicAttribute;false;get_TransformFlags;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Runtime.CompilerServices;RuntimeOps;false;CreateRuntimeVariables;(System.Object[],System.Int64[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;CreateRuntimeVariables;(System.Object[],System.Int64[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;ExpandoPromoteClass;(System.Dynamic.ExpandoObject,System.Object,System.Object);;Argument[2];Argument[0].Element;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;ExpandoTryGetValue;(System.Dynamic.ExpandoObject,System.Object,System.Int32,System.String,System.Boolean,System.Object);;Argument[0].Element;ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;ExpandoTrySetValue;(System.Dynamic.ExpandoObject,System.Object,System.Int32,System.Object,System.String,System.Boolean);;Argument[3];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;MergeRuntimeVariables;(System.Runtime.CompilerServices.IRuntimeVariables,System.Runtime.CompilerServices.IRuntimeVariables,System.Int32[]);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;MergeRuntimeVariables;(System.Runtime.CompilerServices.IRuntimeVariables,System.Runtime.CompilerServices.IRuntimeVariables,System.Int32[]);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;MergeRuntimeVariables;(System.Runtime.CompilerServices.IRuntimeVariables,System.Runtime.CompilerServices.IRuntimeVariables,System.Int32[]);;Argument[2].Element;ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeOps;false;Quote;(System.Linq.Expressions.Expression,System.Object,System.Object[]);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;RuntimeWrappedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Runtime.CompilerServices;RuntimeWrappedException;false;RuntimeWrappedException;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;RuntimeWrappedException;false;get_WrappedException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;StrongBox<>;false;StrongBox;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;StrongBox<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;StrongBox<>;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;SwitchExpressionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Runtime.CompilerServices;SwitchExpressionException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;TupleElementNamesAttribute;false;TupleElementNamesAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Runtime.CompilerServices;TupleElementNamesAttribute;false;get_TransformNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.CompilerServices;ValueTaskAwaiter<>;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;Capture;(System.Exception);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetCurrentStackTrace;(System.Exception);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetRemoteStackTrace;(System.Exception,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetRemoteStackTrace;(System.Exception,System.String);;Argument[1];Argument[0];generated:taint", - "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetRemoteStackTrace;(System.Exception,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;get_SourceException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ArrayWithOffset;false;ArrayWithOffset;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;ArrayWithOffset;false;GetArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;CLong;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;COMException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;CULong;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;GetAddMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;GetRaiseMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;GetRemoveMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;ComAwareEventInfo;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;CriticalHandle;false;CriticalHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;CriticalHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;ExternalException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;GCHandle;false;FromIntPtr;(System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;GCHandle;false;ToIntPtr;(System.Runtime.InteropServices.GCHandle);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;HandleRef;false;ToIntPtr;(System.Runtime.InteropServices.HandleRef);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;HandleRef;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;HandleRef;false;get_Wrapper;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;Marshal;false;GenerateProgIdForType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;Marshal;false;InitHandle;(System.Runtime.InteropServices.SafeHandle,System.IntPtr);;Argument[1];Argument[0];generated:taint", - "System.Runtime.InteropServices;MemoryMarshal;false;CreateFromPinnedArray<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;MemoryMarshal;false;TryGetString;(System.ReadOnlyMemory,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;SafeHandle;false;DangerousGetHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.InteropServices;SafeHandle;false;SafeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;SafeHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.InteropServices;SequenceMarshal;false;TryGetArray<>;(System.Buffers.ReadOnlySequence,System.ArraySegment);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlyMemory<>;(System.Buffers.ReadOnlySequence,System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector128;false;Abs<>;(System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector128<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector128<>);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector256;false;Abs<>;(System.Runtime.Intrinsics.Vector256);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector256<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector256<>);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector64;false;Abs<>;(System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Intrinsics;Vector64<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector64<>);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyLoadContext;false;EnterContextualReflection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyLoadContext;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Loader;AssemblyLoadContext;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Remoting;ObjectHandle;false;ObjectHandle;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Remoting;ObjectHandle;false;Unwrap;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Binder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_SurrogateSelector;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Binder;(System.Runtime.Serialization.SerializationBinder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Context;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_SurrogateSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization.Json;DataContractJsonSerializer;false;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[4];ReturnValue;generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ItemName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_KeyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ValueName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ItemName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_KeyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ValueName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;get_DataContractResolver;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializerExtensions;false;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataContractSerializerExtensions;false;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);;Argument[1];Argument[0];generated:taint", - "System.Runtime.Serialization;DataMemberAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;DataMemberAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;DateTimeFormat;false;get_FormatProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;DateTimeFormat;false;get_FormatString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;EnumMemberAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;EnumMemberAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;ExportOptions;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.TypeCode);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterConverter;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterConverter;false;ToString;(System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type,System.Runtime.Serialization.StreamingContext);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterServices;false;GetSurrogateForCyclicalReference;(System.Runtime.Serialization.ISerializationSurrogate);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterServices;false;GetTypeFromAssembly;(System.Reflection.Assembly,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;FormatterServices;false;PopulateObjectMembers;(System.Object,System.Reflection.MemberInfo[],System.Object[]);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;ObjectIDGenerator;false;GetId;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;ObjectManager;false;GetObject;(System.Int64);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationEntry;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Byte);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Char);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Decimal);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int16);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int64);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.SByte);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Single);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt16);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt64);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;GetDateTime;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;GetString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;SetType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;UpdateValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;UpdateValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;UpdateValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;get_FullTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfo;false;set_FullTypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SerializationObjectManager;false;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;StreamingContext;false;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;StreamingContext;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];Argument[0];generated:taint", - "System.Runtime.Serialization;SurrogateSelector;false;GetNextSelector;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;SurrogateSelector;false;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;XPathQueryGenerator;false;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);;Argument[2];ReturnValue;generated:taint", - "System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Serialization;XmlSerializableServices;false;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);;Argument[1].Element;Argument[0];generated:taint", - "System.Runtime.Serialization;XsdDataContractExporter;false;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Serialization;XsdDataContractExporter;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Serialization;XsdDataContractExporter;false;set_Options;(System.Runtime.Serialization.ExportOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;FrameworkName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;FrameworkName;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;FrameworkName;false;get_Identifier;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;FrameworkName;false;get_Profile;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;FrameworkName;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;TargetFrameworkAttribute;false;TargetFrameworkAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkDisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime.Versioning;TargetFrameworkAttribute;false;set_FrameworkDisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[3];ReturnValue;generated:taint", - "System.Runtime;DependentHandle;false;get_Dependent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime;DependentHandle;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Runtime;DependentHandle;false;get_TargetAndDependent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ChannelBinding);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ProtectionScenario,System.Security.Authentication.ExtendedProtection.ServiceNameCollection);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomChannelBinding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomServiceNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicyTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;ServiceNameCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Claims;Claim;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[0];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint", - "System.Security.Claims;Claim;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_Issuer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_OriginalIssuer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;Claim;false;get_ValueType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;AddClaim;(System.Security.Claims.Claim);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;AddClaims;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[0];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_Actor;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_BootstrapContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_Label;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_NameClaimType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;get_RoleClaimType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsIdentity;false;set_Actor;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;set_BootstrapContext;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsIdentity;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;AddIdentities;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;AddIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IPrincipal);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;CreateClaimsIdentity;(System.IO.BinaryReader);;Argument[0];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;get_Identities;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Claims;ClaimsPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;Add;(System.Security.Cryptography.Pkcs.CmsRecipient);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;CmsRecipientCollection;(System.Security.Cryptography.Pkcs.CmsRecipient);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;CopyTo;(System.Security.Cryptography.Pkcs.CmsRecipient[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography.Pkcs;CmsRecipientEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;CmsSigner;false;get_SignaturePadding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;CmsSigner;false;set_SignaturePadding;(System.Security.Cryptography.RSASignaturePadding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_EncryptedKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_KeyEncryptionAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_OriginatorIdentifierOrKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_OtherKeyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_RecipientIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyTransRecipientInfo;false;get_EncryptedKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyTransRecipientInfo;false;get_KeyEncryptionAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;KeyTransRecipientInfo;false;get_RecipientIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12CertBag;false;GetCertificateType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12CertBag;false;Pkcs12CertBag;(System.Security.Cryptography.Oid,System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12CertBag;false;get_EncodedCertificate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;GetBagId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;Pkcs12SafeBag;(System.String,System.ReadOnlyMemory,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;set_Attributes;(System.Security.Cryptography.CryptographicAttributeObjectCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeContents;false;AddSafeBag;(System.Security.Cryptography.Pkcs.Pkcs12SafeBag);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeContents;false;AddSecret;(System.Security.Cryptography.Oid,System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SafeContents;false;GetBags;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SecretBag;false;GetSecretType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs12SecretBag;false;get_SecretValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9AttributeObject;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9AttributeObject;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9ContentType;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9ContentType;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9DocumentDescription;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9DocumentDescription;false;Pkcs9DocumentDescription;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9DocumentDescription;false;get_DocumentDescription;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9DocumentName;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9DocumentName;false;Pkcs9DocumentName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9DocumentName;false;get_DocumentName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9LocalKeyId;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9MessageDigest;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9MessageDigest;false;get_MessageDigest;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9SigningTime;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9SigningTime;false;Pkcs9SigningTime;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Pkcs;Pkcs9SigningTime;false;get_SigningTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;CopyTo;(System.Security.Cryptography.Pkcs.RecipientInfo[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography.Pkcs;RecipientInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampRequest;false;GetNonce;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;AsSignedCms;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForData;(System.ReadOnlySpan,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[2].Element;ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForData;(System.ReadOnlySpan,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[3].Element;ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.Oid,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[3].Element;ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.Oid,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForSignerInfo;(System.Security.Cryptography.Pkcs.SignerInfo,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[2].Element;ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForSignerInfo;(System.Security.Cryptography.Pkcs.SignerInfo,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;GetNonce;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;GetSerialNumber;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;GetTimestampAuthorityName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;get_Timestamp;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfo;false;get_Certificate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfo;false;get_DigestAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfo;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfo;false;get_SignedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfo;false;get_UnsignedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;CopyTo;(System.Security.Cryptography.Pkcs.SignerInfo[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography.Pkcs;SignerInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;PublicKey;false;PublicKey;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedData,System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;PublicKey;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;PublicKey;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.Security.Cryptography.X509Certificates.X500DistinguishedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.String,System.Security.Cryptography.X509Certificates.X500DistinguishedNameFlags);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509BasicConstraintsExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Extensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_IssuerName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotAfter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotBefore;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PrivateKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SerialNumber;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SubjectName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Thumbprint;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate2Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;GetCertHashString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;GetKeyAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;GetSerialNumberString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Issuer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;X509CertificateEnumerator;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainPolicy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainStatus;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Chain;false;set_ChainPolicy;(System.Security.Cryptography.X509Certificates.X509ChainPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography.X509Certificates;X509ChainElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509ChainStatus;false;get_StatusInformation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509ChainStatus;false;set_StatusInformation;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;get_EnhancedKeyUsages;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509Extension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography.X509Certificates;X509ExtensionEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509KeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForECDsa;(System.Security.Cryptography.ECDsa);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[1];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;get_SubjectKeyIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;CipherData;false;CipherData;(System.Security.Cryptography.Xml.CipherReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;CipherData;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;CipherData;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;CipherData;false;get_CipherReference;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;CipherData;false;get_CipherValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;CipherData;false;set_CipherReference;(System.Security.Cryptography.Xml.CipherReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;CipherReference;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;CipherReference;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DSAKeyValue;false;DSAKeyValue;(System.Security.Cryptography.DSA);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DSAKeyValue;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;DSAKeyValue;false;set_Key;(System.Security.Cryptography.DSA);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[2];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;get_MimeType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;set_Data;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;DataObject;false;set_MimeType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedData;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedData;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;AddReference;(System.Security.Cryptography.Xml.DataReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;AddReference;(System.Security.Cryptography.Xml.KeyReference);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;get_CarriedKeyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;get_Recipient;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;get_ReferenceList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;set_CarriedKeyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedKey;false;set_Recipient;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;EncryptedReference;(System.String,System.Security.Cryptography.Xml.TransformChain);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;EncryptedReference;(System.String,System.Security.Cryptography.Xml.TransformChain);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;get_ReferenceType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;get_TransformChain;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;set_ReferenceType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;set_TransformChain;(System.Security.Cryptography.Xml.TransformChain);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;false;set_Uri;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;true;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedReference;true;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;false;get_KeyInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;false;set_KeyInfo;(System.Security.Cryptography.Xml.KeyInfo);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_CipherData;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_EncryptionMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_EncryptionProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_MimeType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;set_CipherData;(System.Security.Cryptography.Xml.CipherData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;set_EncryptionMethod;(System.Security.Cryptography.Xml.EncryptionMethod);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;set_MimeType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedType;true;set_Type;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;EncryptedXml;(System.Xml.XmlDocument,System.Security.Policy.Evidence);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;EncryptedXml;(System.Xml.XmlDocument,System.Security.Policy.Evidence);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;GetDecryptionKey;(System.Security.Cryptography.Xml.EncryptedData,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;GetIdElement;(System.Xml.XmlDocument,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;get_DocumentEvidence;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;get_Recipient;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;get_Resolver;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;set_DocumentEvidence;(System.Security.Policy.Evidence);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;set_Recipient;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptedXml;false;set_Resolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionMethod;false;EncryptionMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionMethod;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionMethod;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionMethod;false;get_KeyAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionMethod;false;set_KeyAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;EncryptionProperty;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;get_PropertyElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionProperty;false;set_PropertyElement;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;Add;(System.Security.Cryptography.Xml.EncryptionProperty);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;CopyTo;(System.Security.Cryptography.Xml.EncryptionProperty[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;Insert;(System.Int32,System.Security.Cryptography.Xml.EncryptionProperty);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;set_ItemOf;(System.Int32,System.Security.Cryptography.Xml.EncryptionProperty);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfo;false;AddClause;(System.Security.Cryptography.Xml.KeyInfoClause);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfo;false;GetEnumerator;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfo;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfo;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;KeyInfoEncryptedKey;(System.Security.Cryptography.Xml.EncryptedKey);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;get_EncryptedKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;set_EncryptedKey;(System.Security.Cryptography.Xml.EncryptedKey);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoName;false;KeyInfoName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoName;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoName;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoName;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoNode;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoNode;false;KeyInfoNode;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoNode;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoNode;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoNode;false;set_Value;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;KeyInfoRetrievalMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;KeyInfoRetrievalMethod;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;KeyInfoRetrievalMethod;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;set_Uri;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;AddSubjectKeyId;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;AddSubjectName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_CRL;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_Certificates;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_IssuerSerials;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_SubjectKeyIds;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_SubjectNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;KeyInfoX509Data;false;set_CRL;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;RSAKeyValue;false;RSAKeyValue;(System.Security.Cryptography.RSA);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;RSAKeyValue;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;RSAKeyValue;false;set_Key;(System.Security.Cryptography.RSA);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;AddTransform;(System.Security.Cryptography.Xml.Transform);;Argument[Qualifier];Argument[0];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;Reference;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;Reference;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;get_DigestMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;get_DigestValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;get_TransformChain;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Reference;false;set_DigestMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;set_DigestValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;set_TransformChain;(System.Security.Cryptography.Xml.TransformChain);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Reference;false;set_Uri;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;ReferenceList;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;ReferenceList;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;ReferenceList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;ReferenceList;false;set_ItemOf;(System.Int32,System.Security.Cryptography.Xml.EncryptedReference);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;AddObject;(System.Security.Cryptography.Xml.DataObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Signature;false;get_KeyInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Signature;false;get_ObjectList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Signature;false;get_SignatureValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Signature;false;get_SignedInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Signature;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;set_KeyInfo;(System.Security.Cryptography.Xml.KeyInfo);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;set_ObjectList;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;set_SignatureValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Signature;false;set_SignedInfo;(System.Security.Cryptography.Xml.SignedInfo);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;AddReference;(System.Security.Cryptography.Xml.Reference);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;AddReference;(System.Security.Cryptography.Xml.Reference);;Argument[Qualifier];Argument[0];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;get_CanonicalizationMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;get_CanonicalizationMethodObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;get_References;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;get_SignatureLength;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;get_SignatureMethod;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;set_CanonicalizationMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;set_SignatureLength;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedInfo;false;set_SignatureMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;GetIdElement;(System.Xml.XmlDocument,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;SignedXml;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;SignedXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_EncryptedXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_KeyInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_SafeCanonicalizationMethods;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_Signature;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_SignatureFormatValidator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_SignatureValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_SignedInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_SigningKey;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;get_SigningKeyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;set_EncryptedXml;(System.Security.Cryptography.Xml.EncryptedXml);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;set_KeyInfo;(System.Security.Cryptography.Xml.KeyInfo);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;set_Resolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;set_SigningKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;SignedXml;false;set_SigningKeyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Transform;false;GetXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Transform;false;get_Algorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Transform;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Transform;false;get_PropagatedNamespaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Transform;false;get_Resolver;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;Transform;false;set_Algorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Transform;false;set_Context;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;Transform;false;set_Resolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;TransformChain;false;Add;(System.Security.Cryptography.Xml.Transform);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;TransformChain;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;TransformChain;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;AddExceptUri;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;get_EncryptedXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;set_EncryptedXml;(System.Security.Cryptography.Xml.EncryptedXml);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;GetOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;XmlDsigExcC14NTransform;(System.Boolean,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;get_InclusiveNamespacesPrefixList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;set_InclusiveNamespacesPrefixList;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;GetInnerXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlLicenseTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlLicenseTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlLicenseTransform;false;get_Decryptor;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlLicenseTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlLicenseTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography.Xml;XmlLicenseTransform;false;set_Decryptor;(System.Security.Cryptography.Xml.IRelDecryptor);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;Format;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;get_RawData;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;AsnEncodedData;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedDataCollection;false;AsnEncodedDataCollection;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;AsnEncodedDataCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;AsnEncodedDataCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography;AsnEncodedDataEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CryptographicAttributeObject;false;CryptographicAttributeObject;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedDataCollection);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;CryptographicAttributeObject;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;Add;(System.Security.Cryptography.CryptographicAttributeObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;CopyTo;(System.Security.Cryptography.CryptographicAttributeObject[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;CryptographicAttributeObjectCollection;(System.Security.Cryptography.CryptographicAttributeObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography;CryptographicAttributeObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CspParameters;false;get_ParentWindowHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;CspParameters;false;set_ParentWindowHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;DSASignatureDeformatter;false;DSASignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;DSASignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;DSASignatureFormatter;false;DSASignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;DSASignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;ECCurve;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;ECCurve;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;HMAC;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;HMAC;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;HashAlgorithmName;false;HashAlgorithmName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;HashAlgorithmName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;HashAlgorithmName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.Byte[]);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;IncrementalHash;false;CreateHash;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;IncrementalHash;false;get_AlgorithmName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;Oid;false;FromFriendlyName;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;Oid;false;FromOidValue;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;Oid;false;Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;Oid;false;Oid;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;Oid;false;get_FriendlyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;Oid;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;Oid;false;set_FriendlyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;Oid;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;OidCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;OidCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;OidCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Cryptography;OidEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;PKCS1MaskGenerationMethod;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;PKCS1MaskGenerationMethod;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[2];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[4];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;PasswordDeriveBytes;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;PasswordDeriveBytes;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAEncryptionPadding;false;CreateOaep;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;generated:taint", - "System.Security.Cryptography;RSAEncryptionPadding;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;RSAEncryptionPadding;false;get_OaepHashAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;RSAOAEPKeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;RSAOAEPKeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;RSAPKCS1KeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;get_RNG;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;set_RNG;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;RSAPKCS1KeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;RSAPKCS1SignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;RSAPKCS1SignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Cryptography;SafeEvpPKeyHandle;false;DuplicateHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Permissions;FileDialogPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;FileIOPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;PrincipalPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Permissions;PrincipalPermission;false;Intersect;(System.Security.IPermission);;Argument[0];ReturnValue;generated:taint", - "System.Security.Permissions;PrincipalPermission;false;Intersect;(System.Security.IPermission);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Permissions;PrincipalPermission;false;Union;(System.Security.IPermission);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Permissions;PublisherIdentityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;ReflectionPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;SecurityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;StrongNameIdentityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;TypeDescriptorPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;UIPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Permissions;ZoneIdentityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Policy;HashMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Policy;PolicyStatement;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Policy;PublisherMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Policy;StrongNameMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Policy;ZoneMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security.Principal;GenericIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.Security.Principal.GenericIdentity);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security.Principal;GenericIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Principal;GenericIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Principal;GenericIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security.Principal;GenericPrincipal;false;GenericPrincipal;(System.Security.Principal.IIdentity,System.String[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security.Principal;GenericPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;HostProtectionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Security;PermissionSet;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;AddChild;(System.Security.SecurityElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;Attribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;Escape;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;SearchForChildByTag;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;SearchForTextOfTag;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;SecurityElement;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;get_Children;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Security;SecurityElement;false;set_Children;(System.Collections.ArrayList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;set_Tag;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security;SecurityElement;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Security;SecurityException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;Atom10FeedFormatter;false;WriteItem;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;Atom10FeedFormatter;false;WriteItems;(System.Xml.XmlWriter,System.Collections.Generic.IEnumerable,System.Uri);;Argument[1].Element;Argument[0];generated:taint", - "System.ServiceModel.Syndication;AtomPub10CategoriesDocumentFormatter;false;AtomPub10CategoriesDocumentFormatter;(System.Type,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;AtomPub10CategoriesDocumentFormatter;false;AtomPub10CategoriesDocumentFormatter;(System.Type,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;AtomPub10ServiceDocumentFormatter;false;AtomPub10ServiceDocumentFormatter;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;CategoriesDocument;false;Create;(System.Collections.ObjectModel.Collection,System.Boolean,System.String);;Argument[0].Element;ReturnValue;generated:taint", - "System.ServiceModel.Syndication;CategoriesDocument;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;CategoriesDocument;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;CategoriesDocument;true;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;CategoriesDocumentFormatter;false;CategoriesDocumentFormatter;(System.ServiceModel.Syndication.CategoriesDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;CategoriesDocumentFormatter;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;CategoriesDocumentFormatter;true;SetDocument;(System.ServiceModel.Syndication.CategoriesDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;InlineCategoriesDocument;false;InlineCategoriesDocument;(System.Collections.Generic.IEnumerable,System.Boolean,System.String);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;InlineCategoriesDocument;false;get_Categories;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;ResourceCollectionInfo;(System.ServiceModel.Syndication.TextSyndicationContent,System.Uri,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;ResourceCollectionInfo;(System.ServiceModel.Syndication.TextSyndicationContent,System.Uri,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_Accepts;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_Categories;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;Rss20FeedFormatter;false;SetFeed;(System.ServiceModel.Syndication.SyndicationFeed);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;Rss20FeedFormatter;false;WriteItem;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;Rss20FeedFormatter;false;WriteItems;(System.Xml.XmlWriter,System.Collections.Generic.IEnumerable,System.Uri);;Argument[1].Element;Argument[0];generated:taint", - "System.ServiceModel.Syndication;ServiceDocument;false;ServiceDocument;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;ServiceDocument;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;ServiceDocument;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ServiceDocument;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ServiceDocument;false;get_Workspaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;ServiceDocumentFormatter;(System.ServiceModel.Syndication.ServiceDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.CategoriesDocument,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.ResourceCollectionInfo,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.ServiceDocument,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.Workspace,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;ServiceDocumentFormatter;true;SetDocument;(System.ServiceModel.Syndication.ServiceDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationCategory;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationCategory;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationCategory;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationContent;false;CreateUrlContent;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationContent;false;CreateXmlContent;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationContent;false;WriteTo;(System.Xml.XmlWriter,System.String,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationContent;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetObject<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetObject<>;(System.Runtime.Serialization.XmlObjectSerializer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetObject<>;(System.Xml.Serialization.XmlSerializer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetReader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.Object,System.Xml.Serialization.XmlSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.Object,System.Xml.Serialization.XmlSerializer);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[2];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[3];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;get_OuterName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtension;false;get_OuterNamespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Object,System.Runtime.Serialization.DataContractSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Object,System.Xml.Serialization.XmlSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[2];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;GetReaderAtElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;InsertItem;(System.Int32,System.ServiceModel.Syndication.SyndicationElementExtension);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;ReadElementExtensions<>;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;ReadElementExtensions<>;(System.String,System.String,System.Runtime.Serialization.XmlObjectSerializer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;ReadElementExtensions<>;(System.String,System.String,System.Xml.Serialization.XmlSerializer);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;SetItem;(System.Int32,System.ServiceModel.Syndication.SyndicationElementExtension);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;Clone;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;SyndicationFeed;(System.ServiceModel.Syndication.SyndicationFeed,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;SyndicationFeed;(System.String,System.String,System.Uri,System.String,System.DateTimeOffset,System.Collections.Generic.IEnumerable);;Argument[4];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;SyndicationFeed;(System.String,System.String,System.Uri,System.String,System.DateTimeOffset,System.Collections.Generic.IEnumerable);;Argument[5].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_Authors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_Categories;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_Contributors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_LastUpdatedTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;get_Links;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;set_Items;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeed;false;set_LastUpdatedTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;SyndicationFeedFormatter;(System.ServiceModel.Syndication.SyndicationFeed);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationCategory,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationFeed,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationLink,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationPerson,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;get_Feed;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationFeedFormatter;true;SetFeed;(System.ServiceModel.Syndication.SyndicationFeed);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;SyndicationItem;(System.ServiceModel.Syndication.SyndicationItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;SyndicationItem;(System.String,System.ServiceModel.Syndication.SyndicationContent,System.Uri,System.String,System.DateTimeOffset);;Argument[4];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_Authors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_Categories;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_Contributors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_LastUpdatedTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_Links;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;get_PublishDate;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;set_LastUpdatedTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationItem;false;set_PublishDate;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;false;SyndicationItemFormatter;(System.ServiceModel.Syndication.SyndicationItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationCategory,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationLink,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationPerson,System.String);;Argument[1];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;false;get_Item;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationItemFormatter;true;SetItem;(System.ServiceModel.Syndication.SyndicationItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;SyndicationLink;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationLink;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationLink;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationPerson;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;SyndicationPerson;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;SyndicationPerson;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;UrlSyndicationContent;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;UrlSyndicationContent;false;UrlSyndicationContent;(System.ServiceModel.Syndication.UrlSyndicationContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;UrlSyndicationContent;false;UrlSyndicationContent;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;UrlSyndicationContent;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;Workspace;false;Workspace;(System.ServiceModel.Syndication.TextSyndicationContent,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;Workspace;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];generated:taint", - "System.ServiceModel.Syndication;Workspace;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;Workspace;false;get_Collections;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;Workspace;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;GetReaderAtContent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.ServiceModel.Syndication.XmlSyndicationContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.String,System.Object,System.Xml.Serialization.XmlSerializer);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.String,System.ServiceModel.Syndication.SyndicationElementExtension);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.ServiceModel.Syndication;XmlSyndicationContent;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Encodings.Web;TextEncoder;false;Encode;(System.IO.TextWriter,System.String);;Argument[1];Argument[0];generated:taint", - "System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.Char[],System.Int32,System.Int32);;Argument[1].Element;Argument[0];generated:taint", - "System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.String,System.Int32,System.Int32);;Argument[1];Argument[0];generated:taint", - "System.Text.Encodings.Web;TextEncoder;true;Encode;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonArray;false;Add<>;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json.Nodes;JsonArray;false;Add<>;(T);;Argument[Qualifier];Argument[0];generated:taint", - "System.Text.Json.Nodes;JsonArray;false;Create;(System.Text.Json.JsonElement,System.Nullable);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonArray;false;JsonArray;(System.Text.Json.Nodes.JsonNodeOptions,System.Text.Json.Nodes.JsonNode[]);;Argument[Qualifier];Argument[1].Element;generated:taint", - "System.Text.Json.Nodes;JsonArray;false;JsonArray;(System.Text.Json.Nodes.JsonNode[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;AsArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;AsObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;AsValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;Parse;(System.Text.Json.Utf8JsonReader,System.Nullable);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonNode;false;get_Root;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text.Json.Nodes;JsonNode;false;set_Parent;(System.Text.Json.Nodes.JsonNode);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json.Nodes;JsonObject;false;Create;(System.Text.Json.JsonElement,System.Nullable);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json.Nodes;JsonValue;false;Create<>;(T,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Nullable);;Argument[1];ReturnValue;generated:taint", - "System.Text.Json.Serialization.Metadata;JsonTypeInfo<>;false;get_SerializeHandler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Serialization;JsonSerializerContext;false;JsonSerializerContext;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json.Serialization;JsonSerializerContext;false;JsonSerializerContext;(System.Text.Json.JsonSerializerOptions);;Argument[Qualifier];Argument[0];generated:taint", - "System.Text.Json.Serialization;JsonSerializerContext;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json.Serialization;JsonStringEnumConverter;false;JsonStringEnumConverter;(System.Text.Json.JsonNamingPolicy,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json.SourceGeneration;JsonSourceGenerator;false;GetSerializableTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonDocument;false;Parse;(System.Buffers.ReadOnlySequence,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonDocument;false;Parse;(System.IO.Stream,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonDocument;false;Parse;(System.ReadOnlyMemory,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonDocument;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonDocument;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonDocument);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonDocument;false;get_RootElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement+ArrayEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;Clone;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text.Json;JsonElement;false;EnumerateArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;EnumerateObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;TryGetProperty;(System.String,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Nullable);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonElement;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonEncodedText;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Text.Json;JsonException;false;JsonException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonException;false;JsonException;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonException;false;JsonException;(System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable,System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonReaderState;false;JsonReaderState;(System.Text.Json.JsonReaderOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonReaderState;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.Serialization.JsonSerializerContext);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.Serialization.Metadata.JsonTypeInfo);;Argument[0];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializerOptions;false;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonSerializerOptions;false;get_DictionaryKeyPolicy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializerOptions;false;get_Encoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializerOptions;false;get_PropertyNamingPolicy;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializerOptions;false;get_ReferenceHandler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;JsonSerializerOptions;false;set_DictionaryKeyPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonSerializerOptions;false;set_Encoder;(System.Text.Encodings.Web.JavaScriptEncoder);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonSerializerOptions;false;set_PropertyNamingPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;JsonSerializerOptions;false;set_ReferenceHandler;(System.Text.Json.Serialization.ReferenceHandler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonReader;false;get_CurrentState;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;Utf8JsonReader;false;get_Position;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.Json;Utf8JsonWriter;false;Reset;(System.Buffers.IBufferWriter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonWriter;false;Reset;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];generated:taint", - "System.Text.Json;Utf8JsonWriter;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;CaptureCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Group;false;Synchronized;(System.Text.RegularExpressions.Group);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;GroupCollection;false;TryGetValue;(System.String,System.Text.RegularExpressions.Group);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;GroupCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;GroupCollection;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Match;false;NextMatch;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Match;false;Synchronized;(System.Text.RegularExpressions.Match);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;MatchCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text.RegularExpressions;Regex;false;Escape;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;GroupNameFromNumber;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;IsMatch;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;IsMatch;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Match;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[1];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[3];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;Unescape;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;get_CapNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;get_Caps;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;Regex;false;set_CapNames;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;Regex;false;set_Caps;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[3];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[5];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;get_Pattern;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;set_MatchTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexCompilationInfo;false;set_Pattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexMatchTimeoutException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Text.RegularExpressions;RegexParseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint", - "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;ASCIIEncoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;ASCIIEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Decoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Decoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Decoder;false;set_Fallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;DecoderFallbackException;false;DecoderFallbackException;(System.String,System.Byte[],System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Text;DecoderFallbackException;false;get_BytesUnknown;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;DecoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;DecoderReplacementFallback;false;DecoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;DecoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;DecoderReplacementFallbackBuffer;false;DecoderReplacementFallbackBuffer;(System.Text.DecoderReplacementFallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;Encoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Encoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Encoder;false;set_Fallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;EncoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;EncoderReplacementFallback;false;EncoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;EncoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;EncoderReplacementFallbackBuffer;false;EncoderReplacementFallbackBuffer;(System.Text.EncoderReplacementFallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[]);;Argument[2].Element;ReturnValue;generated:taint", - "System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[],System.Int32,System.Int32);;Argument[2].Element;ReturnValue;generated:taint", - "System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[2];ReturnValue;generated:taint", - "System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];Argument[Qualifier];generated:taint", - "System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];Argument[Qualifier];generated:taint", - "System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint", - "System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;generated:taint", - "System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint", - "System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;generated:taint", - "System.Text;Encoding;false;get_DecoderFallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Encoding;false;get_EncoderFallback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Encoding;false;set_DecoderFallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;Encoding;false;set_EncoderFallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;Encoding;true;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;Encoding;true;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;EncodingExtensions;false;RemovePreamble;(System.Text.Encoding);;Argument[0];ReturnValue;generated:taint", - "System.Text;EncodingProvider;true;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint", - "System.Text;EncodingProvider;true;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint", - "System.Text;SpanLineEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;SpanLineEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;SpanRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;SpanRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendFormatted;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendFormatted<>;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendFormatted<>;(T,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendInterpolatedStringHandler;(System.Int32,System.Int32,System.Text.StringBuilder);;Argument[2];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendInterpolatedStringHandler;(System.Int32,System.Int32,System.Text.StringBuilder,System.IFormatProvider);;Argument[2];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendInterpolatedStringHandler;(System.Int32,System.Int32,System.Text.StringBuilder,System.IFormatProvider);;Argument[3];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendLiteral;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Text;StringBuilder+ChunkEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder+ChunkEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Append;(System.IFormatProvider,System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;AppendLine;(System.IFormatProvider,System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;AppendLine;(System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Clear;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;GetChunks;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Byte);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[]);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Decimal);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Double);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Int16);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.SByte);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.Single);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.String,System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt16);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt64);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Replace;(System.Char,System.Char,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringBuilder;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;StringBuilder;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Text;StringRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;UTF32Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;UTF8Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;UTF8Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Text;UnicodeEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;ConcurrencyLimiter;false;AcquireCore;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;ConcurrencyLimiter;false;ConcurrencyLimiter;(System.Threading.RateLimiting.ConcurrencyLimiterOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.RateLimiting;ConcurrencyLimiter;false;WaitAsyncCore;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;MetadataName;false;Create<>;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Threading.RateLimiting;MetadataName<>;false;MetadataName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.RateLimiting;MetadataName<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;MetadataName<>;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;RateLimitLease;false;TryGetMetadata<>;(System.Threading.RateLimiting.MetadataName,T);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;RateLimitLease;true;GetAllMetadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;RateLimiter;false;Acquire;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;RateLimiter;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.RateLimiting;TokenBucketRateLimiter;false;TokenBucketRateLimiter;(System.Threading.RateLimiting.TokenBucketRateLimiterOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchBlock<>;false;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BufferBlock<>;false;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;BufferBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObservable<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObserver<>;(System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];Argument[1];generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Post<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);;Argument[1];Argument[0];generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;SendAsync<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlock;false;TryReceive<>;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_NameFormat;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_NameFormat;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;TransformBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];Argument[0];generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[Qualifier];Argument[1];generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;get_Completion;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;GetResult;(System.Int16);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetException;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ConcurrentScheduler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ExclusiveScheduler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ParallelLoopResult;false;get_LowestBreakIteration;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ParallelOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ParallelOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ParallelOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ParallelOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;Task;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;Delay;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;Delay;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;FromCanceled;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WaitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WhenAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WhenAll;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WhenAny;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Threading.Tasks;Task;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task<>;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task<>;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;Task<>;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait;(System.IAsyncDisposable,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait<>;(System.Collections.Generic.IAsyncEnumerable,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskCanceledException;false;TaskCanceledException;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskCanceledException;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskCompletionSource;false;TaskCompletionSource;(System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskCompletionSource;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskCompletionSource<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskCompletionSource<>;false;TrySetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskCompletionSource<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskExtensions;false;Unwrap;(System.Threading.Tasks.Task);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskExtensions;false;Unwrap<>;(System.Threading.Tasks.Task>);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskFactory;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;TaskFactory<>;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;TaskFactory<>;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;UnobservedTaskExceptionEventArgs;(System.AggregateException);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask;false;AsTask;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask;false;FromResult<>;(TResult);;Argument[0];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask;false;Preserve;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ValueTask<>;false;AsTask;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask<>;false;Preserve;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ValueTask<>;false;ValueTask;(TResult);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading.Tasks;ValueTask<>;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.Int32,System.Threading.WaitHandle);;Argument[1];Argument[Qualifier];generated:taint", - "System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Exception,System.Int32,System.Threading.WaitHandle);;Argument[3];Argument[Qualifier];generated:taint", - "System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Int32,System.Threading.WaitHandle);;Argument[2];Argument[Qualifier];generated:taint", - "System.Threading;AbandonedMutexException;false;get_Mutex;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;CancellationToken;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;CancellationTokenSource;false;get_Token;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;CompressedStack;false;CreateCopy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Threading;CountdownEvent;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;ExecutionContext;false;CreateCopy;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Threading;HostExecutionContextManager;false;SetHostExecutionContext;(System.Threading.HostExecutionContext);;Argument[0];ReturnValue;generated:taint", - "System.Threading;LazyInitializer;false;EnsureInitialized<>;(T);;Argument[0];ReturnValue;generated:taint", - "System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[2];ReturnValue;generated:taint", - "System.Threading;ManualResetEventSlim;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;PeriodicTimer;false;WaitForNextTickAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;WaitAsync;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;SemaphoreSlim;false;get_AvailableWaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;Thread;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;Thread;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading;ThreadExceptionEventArgs;false;ThreadExceptionEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading;ThreadExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;WaitHandle;false;set_SafeWaitHandle;(Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading;WaitHandle;true;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Threading;WaitHandle;true;set_Handle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint", - "System.Threading;WaitHandleExtensions;false;SetSafeWaitHandle;(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[1];Argument[0];generated:taint", - "System.Timers;Timer;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Timers;Timer;false;get_SynchronizingObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Timers;Timer;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint", - "System.Timers;Timer;false;set_SynchronizingObject;(System.ComponentModel.ISynchronizeInvoke);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;CommittableTransaction;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;CommittableTransaction;false;get_AsyncWaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];generated:taint", - "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;PromoteAndEnlistDurable;(System.Guid,System.Transactions.IPromotableSinglePhaseNotification,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;Rollback;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;Transaction;false;SetDistributedTransactionIdentifier;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];generated:taint", - "System.Transactions;Transaction;false;get_PromoterType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;Transaction;false;get_TransactionInformation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;TransactionEventArgs;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;TransactionInformation;false;get_DistributedIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;TransactionOptions;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Transactions;TransactionOptions;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];generated:taint", - "System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];generated:taint", - "System.Web;HttpUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Web;HttpUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];generated:taint", - "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint", - "System.Web;HttpUtility;false;UrlPathEncode;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;DescendantNodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;DescendantNodesAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;InDocumentOrder<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;Extensions;false;Nodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Linq;XAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XAttribute;false;get_NextAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XAttribute;false;get_PreviousAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XCData;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XCData;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XComment;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XComment;false;XComment;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XComment;false;XComment;(System.Xml.Linq.XComment);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XComment;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XComment;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XContainer;false;AddFirst;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XContainer;false;AddFirst;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XContainer;false;CreateWriter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;DescendantNodes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;Descendants;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;Descendants;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;Element;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;Elements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;Elements;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;Nodes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XContainer;false;get_FirstNode;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XContainer;false;get_LastNode;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDeclaration;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XDocument;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XDocument;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;XDocument;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDeclaration,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocument;false;get_Declaration;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;get_Root;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocument;false;set_Declaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.Xml.Linq.XDocumentType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XDocumentType;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XDocumentType;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;AncestorsAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;AncestorsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Attribute;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Attributes;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;DescendantNodesAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;DescendantsAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;DescendantsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XElement;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;SetElementValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[Qualifier];Argument[1];generated:taint", - "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XElement;false;get_FirstAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;get_LastAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XElement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XName;false;Get;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XName;false;Get;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XName;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XName;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XName;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNamespace;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XNode;false;Ancestors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;Ancestors;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;CreateReader;(System.Xml.Linq.ReaderOptions);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;ElementsAfterSelf;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;ElementsAfterSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;NodesAfterSelf;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;ReadFrom;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Linq;XNode;false;ReplaceWith;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XNode;false;ReplaceWith;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Linq;XNode;false;get_NextNode;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;AddAnnotation;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XObject;false;Annotation;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;Annotation<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;Annotations;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;Annotations<>;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.Xml.Linq.XProcessingInstruction);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XProcessingInstruction;false;set_Target;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml.Linq;XStreamingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XStreamingElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Linq;XText;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Linq;XText;false;XText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XText;false;XText;(System.Xml.Linq.XText);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Linq;XText;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Linq;XText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Resolvers;XmlPreloadedResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XAttribute);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XElement);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;ValidationEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;ValidationEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlAtomicValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Xml.Schema;XmlAtomicValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlAtomicValue;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:value", - "System.Xml.Schema;XmlAtomicValue;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlAtomicValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlAtomicValue;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlAtomicValue;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Elements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Groups;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Includes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Notations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_TargetNamespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchema;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchema;false;set_TargetNamespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchema;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchema;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAll;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotated;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotated;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotated;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotated;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAnnotated;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAnnotated;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAnnotation;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotation;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotation;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnnotation;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAnnotation;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAny;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAny;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAnyAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAnyAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAppInfo;false;get_Markup;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAppInfo;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAppInfo;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAppInfo;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_RedefinedAttributeGroup;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaAttributeGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaChoice;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema,System.Xml.XmlResolver);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaCollection;false;XmlSchemaCollection;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaCollection;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Xml.Schema;XmlSchemaComplexContent;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeUses;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeWildcard;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_ContentModel;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_ContentTypeParticle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;set_ContentModel;(System.Xml.Schema.XmlSchemaContentModel);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaComplexType;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDocumentation;false;get_Language;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDocumentation;false;get_Markup;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDocumentation;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaDocumentation;false;set_Language;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaDocumentation;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaDocumentation;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_ElementSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_ElementType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;get_SubstitutionGroup;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaElement;false;set_SubstitutionGroup;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaException;false;XmlSchemaException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaException;false;get_SourceSchemaObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;get_Schema;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;get_SchemaLocation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;set_Schema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;set_SchemaLocation;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaExternal;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaFacet;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaFacet;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaGroup;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaGroup;false;set_Particle;(System.Xml.Schema.XmlSchemaGroupBase);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaGroupRef;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Fields;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Selector;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Selector;(System.Xml.Schema.XmlSchemaXPath);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaImport;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaImport;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInclude;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInclude;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];Argument[1];generated:taint", - "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInferenceException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;get_SchemaAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;get_SchemaElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;set_MemberType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;set_SchemaAttribute;(System.Xml.Schema.XmlSchemaAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;set_SchemaElement;(System.Xml.Schema.XmlSchemaElement);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaInfo;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaKeyref;false;get_Refer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaKeyref;false;set_Refer;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaNotation;false;get_Public;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaNotation;false;get_System;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaNotation;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaNotation;false;set_Public;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaNotation;false;set_System;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaObject;false;get_Namespaces;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaObject;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaObject;false;set_Namespaces;(System.Xml.Serialization.XmlSerializerNamespaces);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaObject;false;set_Parent;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaObject;false;set_SourceUri;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaObjectCollection;false;Remove;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaObjectCollection;false;XmlSchemaObjectCollection;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaObjectTable;false;get_Names;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaObjectTable;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaRedefine;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaRedefine;false;get_Groups;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaRedefine;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaRedefine;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSequence;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;Schemas;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;XmlSchemaSet;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;get_CompilationSettings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;get_GlobalAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;get_GlobalElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;get_GlobalTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;set_CompilationSettings;(System.Xml.Schema.XmlSchemaCompilationSettings);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSet;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContent;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleType;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleType;false;set_Content;(System.Xml.Schema.XmlSchemaSimpleTypeContent);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_BaseItemType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_BaseItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseMemberTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_MemberTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;set_MemberTypes;(System.Xml.XmlQualifiedName[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaType;false;get_BaseSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaType;false;get_BaseXmlSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaType;false;get_Datatype;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaType;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaValidationException;false;SetSourceObject;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidationException;false;get_SourceObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;AddSchema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;GetExpectedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;GetExpectedParticles;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;Initialize;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;SkipToEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[3];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;ValidateWhitespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;get_LineInfoProvider;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;get_ValidationEventSender;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;set_LineInfoProvider;(System.Xml.IXmlLineInfo);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;set_SourceUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;set_ValidationEventSender;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaValidator;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Schema;XmlSchemaXPath;false;get_XPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Schema;XmlSchemaXPath;false;set_XPath;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[Qualifier];Argument[1];generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[Qualifier];Argument[1];generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;MakeUnique;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;CodeIdentifiers;false;ToArray;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;ImportContext;false;ImportContext;(System.Xml.Serialization.CodeIdentifiers,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;ImportContext;false;get_TypeIdentifiers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;ImportContext;false;get_Warnings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;SoapAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributes;false;get_SoapAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributes;false;get_SoapDefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributes;false;get_SoapElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributes;false;get_SoapEnum;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributes;false;get_SoapType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapAttributes;false;set_SoapAttribute;(System.Xml.Serialization.SoapAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributes;false;set_SoapDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributes;false;set_SoapElement;(System.Xml.Serialization.SoapElementAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributes;false;set_SoapEnum;(System.Xml.Serialization.SoapEnumAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapAttributes;false;set_SoapType;(System.Xml.Serialization.SoapTypeAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapElementAttribute;false;SoapElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapEnumAttribute;false;SoapEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapIncludeAttribute;false;SoapIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[]);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapSchemaMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapSchemaMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapSchemaMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapSchemaMember;false;set_MemberType;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;SoapTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAnyElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAnyElementAttributes;false;Remove;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayAttribute;false;XmlArrayAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlArrayAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlArrayAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlArrayItemAttributes;false;Remove;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributeEventArgs;false;get_Attr;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeEventArgs;false;get_ExpectedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlAnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlAnyElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlArray;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlArrayItems;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlChoiceIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlDefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlEnum;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlRoot;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlText;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlAnyAttribute;(System.Xml.Serialization.XmlAnyAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlArray;(System.Xml.Serialization.XmlArrayAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlAttribute;(System.Xml.Serialization.XmlAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlEnum;(System.Xml.Serialization.XmlEnumAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlRoot;(System.Xml.Serialization.XmlRootAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlText;(System.Xml.Serialization.XmlTextAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlAttributes;false;set_XmlType;(System.Xml.Serialization.XmlTypeAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;XmlChoiceIdentifierAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownAttribute;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownNode;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnreferencedObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementAttributes;false;Remove;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlElementEventArgs;false;get_Element;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementEventArgs;false;get_ExpectedElements;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlElementEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlEnumAttribute;false;XmlEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlIncludeAttribute;false;XmlIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlMapping;false;SetKey;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlMapping;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlMapping;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlMapping;false;get_XsdElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlMemberMapping;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlMembersMapping;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlNodeEventArgs;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlNodeEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlNodeEventArgs;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlNodeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlNodeEventArgs;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;get_SoapAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;get_XmlAttributes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;set_MemberType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;set_SoapAttributes;(System.Xml.Serialization.SoapAttributes);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlReflectionMember;false;set_XmlAttributes;(System.Xml.Serialization.XmlAttributes);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;XmlRootAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlRootAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaEnumerator;false;XmlSchemaEnumerator;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaExporter;false;XmlSchemaExporter;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaProviderAttribute;false;XmlSchemaProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemaProviderAttribute;false;get_MethodName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[0];generated:taint", - "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemas;false;OnInsert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemas;false;OnSet;(System.Int32,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSchemas;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Collection;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_CollectionItems;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Ids;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader+Fixup;false;set_Source;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;AddTarget;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;CollapseWhitespace;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;EnsureArrayIndex;(System.Array,System.Int32,System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;GetTarget;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadNullableString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadReference;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.Boolean,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ReadTypedPrimitive;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ShrinkArray;(System.Array,System.Int32,System.Type,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ToByteArrayBase64;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ToXmlNCName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ToXmlName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmToken;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmTokens;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayBase64;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayHex;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[]);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[],System.String);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNCName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmToken;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmTokens;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementEncoded;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementLiteral;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteId;(System.Object);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncoded;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteral;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteReferencingElement;(System.String,System.String,System.Object);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteReferencingElement;(System.String,System.String,System.Object,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteTypedPrimitive;(System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode,System.Object);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializationWriter;false;set_Writer;(System.Xml.XmlWriter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[Qualifier];Argument[2];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[]);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[3];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[4];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;XmlSerializerVersionAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_ParentAssemblyId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_ParentAssemblyId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlTextAttribute;false;XmlTextAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlTextAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlTextAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlTextAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlTextAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlTypeAttribute;false;XmlTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Serialization;XmlTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Serialization;XmlTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[1];ReturnValue;generated:taint", - "System.Xml.XPath;XDocumentExtensions;false;ToXPathNavigable;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathDocument;false;XPathDocument;(System.Xml.XmlReader,System.Xml.XmlSpace);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.XPath;XPathException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.XPath;XPathException;false;XPathException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.XPath;XPathException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathExpression;false;Compile;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml.XPath;XPathItem;true;ValueAs;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;Compile;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;GetNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;Select;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;SelectSingleNode;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;WriteSubtree;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.XPath;XPathNavigator;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNavigator;true;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.XPath;XPathNodeIterator;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;AncestorDocOrderIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;AncestorIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;AncestorIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;AncestorIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;AttributeContentIterator;false;Create;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;AttributeContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;AttributeIterator;false;Create;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;AttributeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;ContentIterator;false;Create;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;ContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;ContentMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;ContentMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;DescendantIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DescendantIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DescendantIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;DescendantMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DescendantMergeIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DescendantMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;DifferenceIterator;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DifferenceIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DifferenceIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;DodSequenceMerge;false;AddSequence;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DodSequenceMerge;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;DodSequenceMerge;false;MergeSequences;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;ElementContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;ElementContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;ElementContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;ElementContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;FollowingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;FollowingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;FollowingSiblingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;FollowingSiblingMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;IdIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;IdIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;IdIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;IntersectIterator;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;IntersectIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;IntersectIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;NamespaceIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;NodeKindContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNodeType);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;NodeKindContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;NodeRangeIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;NodeRangeIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Xml.XPath.XPathNavigator);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;NodeRangeIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Xml.XPath.XPathNavigator);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;NodeRangeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;ParentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;ParentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;PrecedingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;PrecedingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;PrecedingSiblingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;PrecedingSiblingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;PrecedingSiblingDocOrderIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;PrecedingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;PrecedingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;PrecedingSiblingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;StringConcat;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;StringConcat;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;StringConcat;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;UnionIterator;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;UnionIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;UnionIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XPathFollowingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathFollowingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathFollowingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XPathFollowingMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathFollowingMergeIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathFollowingMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingDocOrderIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingMergeIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XPathPrecedingMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;BooleanToAtomicValue;(System.Boolean,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;BytesToAtomicValue;(System.Byte[],System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;BytesToAtomicValue;(System.Byte[],System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DateTimeToAtomicValue;(System.DateTime,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DateTimeToAtomicValue;(System.DateTime,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DecimalToAtomicValue;(System.Decimal,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DoubleToAtomicValue;(System.Double,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;Int32ToAtomicValue;(System.Int32,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;Int64ToAtomicValue;(System.Int64,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;ItemsToNavigators;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;NavigatorsToItems;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;SingleToAtomicValue;(System.Single,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;StringToAtomicValue;(System.String,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;StringToAtomicValue;(System.String,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;TimeSpanToAtomicValue;(System.TimeSpan,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;TimeSpanToAtomicValue;(System.TimeSpan,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;XmlQualifiedNameToAtomicValue;(System.Xml.XmlQualifiedName,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;XmlQualifiedNameToAtomicValue;(System.Xml.XmlQualifiedName,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryContext;false;GetDataSource;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryContext;false;GetLateBoundObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryContext;false;GetParameter;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryContext;false;get_DefaultDataSource;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryContext;false;get_DefaultNameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryContext;false;get_QueryNameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;AddClone;(System.Xml.XPath.XPathItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryItemSequence);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryItemSequence,System.Xml.XPath.XPathItem);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryItemSequence,System.Xml.XPath.XPathItem);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;XmlQueryItemSequence;(System.Xml.XPath.XPathItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;AddClone;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryNodeSequence);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryNodeSequence,System.Xml.XPath.XPathNavigator);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryNodeSequence,System.Xml.XPath.XPathNavigator);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;DocOrderDistinct;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:value", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;XmlQueryNodeSequence;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;XmlQueryNodeSequence;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;StartCopy;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteItem;(System.Xml.XPath.XPathItem);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeComputed;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeComputed;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeComputed;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeLocalName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartElementComputed;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartElementComputed;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartElementComputed;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartNamespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartProcessingInstruction;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryOutput;false;XsltCopyOf;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;ChangeTypeXsltArgument;(System.Int32,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;ChangeTypeXsltResult;(System.Int32,System.Object);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugGetGlobalNames;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugGetGlobalValue;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugGetXsltValue;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugSetGlobalValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DocOrderDistinct;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;EndRtfConstruction;(System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;EndSequenceConstruction;(System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;FindIndex;(System.Xml.XPath.XPathNavigator,System.Int32,System.Xml.Xsl.Runtime.XmlILIndex);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetAtomizedName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetCollation;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetEarlyBoundObject;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetGlobalValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetNameFilter;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;SetGlobalValue;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;StartRtfConstruction;(System.String,System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;StartRtfConstruction;(System.String,System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;StartSequenceConstruction;(System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;TextRtfConstruction;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;TextRtfConstruction;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_ExternalContext;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_Output;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_XsltFunctions;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;Add;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQuerySequence<>);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQuerySequence<>,T);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQuerySequence<>,T);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;XmlQuerySequence;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;XmlQuerySequence;(T[],System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Xml.Xsl.Runtime;XmlSortKeyAccumulator;false;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;EnsureNodeSet;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;ToNode;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;ToNode;(System.Xml.XPath.XPathItem);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;ToNodeSet;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;ToNodeSet;(System.Xml.XPath.XPathItem);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;ToString;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltConvert;false;ToString;(System.Xml.XPath.XPathItem);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;BaseUri;(System.Xml.XPath.XPathNavigator);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;MSLocalName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;MSNamespaceUri;(System.String,System.Xml.XPath.XPathNavigator);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;NormalizeSpace;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;OuterXml;(System.Xml.XPath.XPathNavigator);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;Substring;(System.String,System.Double);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;Substring;(System.String,System.Double,System.Double);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;SubstringAfter;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;SubstringBefore;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;SubstringBefore;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltFunctions;false;Translate;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltLibrary;false;FormatMessage;(System.String,System.Collections.Generic.IList);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltLibrary;false;FormatMessage;(System.String,System.Collections.Generic.IList);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml.Xsl.Runtime;XsltLibrary;false;NumberFormat;(System.Collections.Generic.IList,System.String,System.Double,System.String,System.String,System.Double);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl;XslCompiledTransform;false;Load;(System.Reflection.MethodInfo,System.Byte[],System.Type[]);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[0];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XslTransform;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl;XsltArgumentList;false;GetExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XsltArgumentList;false;GetParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XsltArgumentList;false;RemoveExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XsltArgumentList;false;RemoveParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XsltCompileException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Xsl;XsltException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml.Xsl;XsltException;false;XsltException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml.Xsl;XsltException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml.Xsl;XsltException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;NameTable;false;Add;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;NameTable;false;Add;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;NameTable;false;Get;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;NameTable;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;UniqueId;false;UniqueId;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;UniqueId;false;UniqueId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;generated:taint", - "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttribute;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlAttribute;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlAttribute;false;get_OwnerElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttribute;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;Remove;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlAttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.String,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlCDataSection;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlCDataSection;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlCharacterData;false;XmlCharacterData;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlCharacterData;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlCharacterData;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlCharacterData;true;AppendData;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlCharacterData;true;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlCharacterData;true;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlCharacterData;true;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlComment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;DecodeName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;EncodeLocalName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;EncodeName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;EncodeNmToken;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyNCName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyNMTOKEN;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyPublicId;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyTOKEN;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyWhitespace;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlConvert;false;VerifyXmlChars;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;GetElementFromRow;(System.Data.DataRow);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;GetRowFromElement;(System.Xml.XmlElement);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDataDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDataDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDataDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDataDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDataDocument;false;XmlDataDocument;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDataDocument;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDeclaration;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDeclaration;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionary;false;Add;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionary;false;Add;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionary;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionary;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[3];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[5];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateDictionaryReader;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadContentAsString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;false;ReadString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;GetNonAtomizedNames;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadArray;(System.String,System.String,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadContentAsQualifiedName;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadContentAsUniqueId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryReader;true;ReadElementContentAsUniqueId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryString;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryString;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;CreateDictionaryWriter;(System.Xml.XmlWriter);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteBase64Async;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;false;WriteStartAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteQualifiedName;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteStartAttribute;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteString;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteTextNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteValue;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateDocumentFragment;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateEntityReference;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlDocument;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlDocument;false;XmlDocument;(System.Xml.XmlImplementation);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocument;false;get_DocumentElement;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;get_Implementation;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;get_Schemas;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocument;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocument;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocumentFragment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocumentFragment;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlDocumentFragment;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlDocumentFragment;false;XmlDocumentFragment;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlDocumentType;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlDocumentType;false;get_Entities;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocumentType;false;get_Notations;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetAttributeNode;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;RemoveAttributeAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;RemoveAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;RemoveAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlElement;false;SetAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlElement;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlElement;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlElement;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlEntity;false;get_NotationName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlEntity;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlEntity;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlEntityReference;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlEntityReference;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlEntityReference;false;XmlEntityReference;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlException;false;XmlException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlImplementation;false;CreateDocument;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlImplementation;false;XmlImplementation;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlNamedNodeMap;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamespaceManager;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamespaceManager;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamespaceManager;false;XmlNamespaceManager;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlNamespaceManager;false;get_DefaultNamespace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNamespaceManager;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;GetNamespaceOfPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;GetPrefixOfNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;generated:taint", - "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint", - "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System.Xml;XmlNode;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNode;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[2].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[4];Argument[Qualifier];generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;get_NewParent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;get_Node;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;get_OldParent;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeChangedEventArgs;false;get_OldValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeList;true;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;XmlNodeReader;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlNodeReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNodeReader;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNotation;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlNotation;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[1].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[4];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[5];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[6];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[7];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[9];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_DocTypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_NamespaceManager;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlParserContext;false;set_BaseURI;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_DocTypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_NamespaceManager;(System.Xml.XmlNamespaceManager);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlParserContext;false;set_XmlLang;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlProcessingInstruction;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlProcessingInstruction;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlProcessingInstruction;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadContentAsObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAsDateTime;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAsObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAsObject;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementContentAsString;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadElementString;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReader;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReaderSettings;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlReaderSettings;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlReaderSettings;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlReaderSettings;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlSecureResolver;false;XmlSecureResolver;(System.Xml.XmlResolver,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlSecureResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlSignificantWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlSignificantWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlSignificantWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlText;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlText;false;SplitText;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;GetRemainder;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlTextReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlTextReader;false;XmlTextReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;XmlTextReader;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.IO.TextReader,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;XmlTextReader;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlTextReader;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlTextReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlTextReader;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextWriter;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlTextWriter;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlTextWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlTextWriter;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlUrlResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlUrlResolver;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlValidatingReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlValidatingReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlValidatingReader;false;get_Schemas;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint", - "System.Xml;XmlWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.IO.TextWriter);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.String,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.Text.StringBuilder,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteAttributeStringAsync;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteStartAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;false;WriteStartAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteAttributes;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteAttributesAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteNode;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriter;true;WriteValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriterSettings;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlWriterSettings;false;get_IndentChars;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlWriterSettings;false;get_NewLineChars;();;Argument[Qualifier];ReturnValue;generated:taint", - "System.Xml;XmlWriterSettings;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriterSettings;false;set_IndentChars;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System.Xml;XmlWriterSettings;false;set_NewLineChars;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;AggregateException;false;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;AggregateException;false;AggregateException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System;AggregateException;false;GetBaseException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;AggregateException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;AggregateException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;AggregateException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;AppDomain;false;ApplyPolicy;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;ArgumentException;false;ArgumentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;ArgumentException;false;ArgumentException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;ArgumentException;false;ArgumentException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System;ArgumentException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;ArgumentException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArgumentException;false;get_ParamName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.String,System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;ArgumentOutOfRangeException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;ArgumentOutOfRangeException;false;get_ActualValue;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArgumentOutOfRangeException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Array;false;Fill<>;(T[],T);;Argument[1];Argument[0].Element;generated:taint", - "System;Array;false;Fill<>;(T[],T,System.Int32,System.Int32);;Argument[1];Argument[0].Element;generated:taint", - "System;Array;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value", - "System;ArraySegment<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArraySegment<>;false;ArraySegment;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System;ArraySegment<>;false;ArraySegment;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArraySegment<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArraySegment<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArraySegment<>;false;get_Array;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;BadImageFormatException;false;BadImageFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System;BadImageFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;BadImageFormatException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;BadImageFormatException;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;BadImageFormatException;false;get_FusionLog;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;BadImageFormatException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;BinaryData;false;BinaryData;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint", - "System;BinaryData;false;BinaryData;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;BinaryData;false;FromBytes;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint", - "System;BinaryData;false;FromString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;BinaryData;false;ToMemory;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;BinaryData;false;ToStream;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;CultureAwareComparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;DBNull;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System;DateOnly;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;DateOnly;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;DateTime;false;GetDateTimeFormats;(System.Char,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;DateTime;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:value", - "System;DateTime;false;ToLocalTime;();;Argument[Qualifier];ReturnValue;generated:value", - "System;DateTime;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;DateTime;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System;DateTime;false;ToUniversalTime;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;DateTimeOffset;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;DateTimeOffset;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;DateTimeOffset;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;Decimal;false;ToDecimal;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:value", - "System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint", - "System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[1];ReturnValue;generated:taint", - "System;Delegate;false;Combine;(System.Delegate[]);;Argument[0].Element;ReturnValue;generated:taint", - "System;Delegate;false;CreateDelegate;(System.Type,System.Reflection.MethodInfo,System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System;Delegate;false;Delegate;(System.Object,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;Delegate;false;Delegate;(System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;Delegate;false;Delegate;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;Delegate;false;Delegate;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;Delegate;false;DynamicInvoke;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System;Delegate;false;Remove;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint", - "System;Delegate;false;RemoveAll;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint", - "System;Delegate;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Delegate;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Delegate;true;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System;Delegate;true;GetInvocationList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Delegate;true;GetMethodImpl;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Delegate;true;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Double;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;Double;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;Double;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;Enum;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System;Enum;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Environment;false;ExpandEnvironmentVariables;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;Exception;false;Exception;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;Exception;false;Exception;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;Exception;false;Exception;(System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint", - "System;Exception;false;Exception;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint", - "System;Exception;false;GetBaseException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;Exception;false;get_HelpLink;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Exception;false;get_InnerException;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Exception;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Exception;false;get_StackTrace;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Exception;false;get_TargetSite;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Exception;false;set_HelpLink;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;Exception;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;FormattableString;false;CurrentCulture;(System.FormattableString);;Argument[0];ReturnValue;generated:taint", - "System;FormattableString;false;Invariant;(System.FormattableString);;Argument[0];ReturnValue;generated:taint", - "System;FormattableString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;FormattableString;false;ToString;(System.String,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Half;false;BitDecrement;(System.Half);;Argument[0];ReturnValue;generated:taint", - "System;Half;false;BitIncrement;(System.Half);;Argument[0];ReturnValue;generated:taint", - "System;Half;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;Half;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;IntPtr;false;Abs;(System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;generated:taint", - "System;IntPtr;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[2];ReturnValue;generated:taint", - "System;IntPtr;false;Create<>;(TOther);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;CreateSaturating<>;(TOther);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;CreateTruncating<>;(TOther);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;IntPtr;(System.Void*);;Argument[0];Argument[Qualifier];generated:taint", - "System;IntPtr;false;Max;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;Max;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;generated:taint", - "System;IntPtr;false;Min;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;IntPtr;false;Min;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;generated:taint", - "System;IntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;IntPtr;false;TryCreate<>;(TOther,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Lazy<,>;false;Lazy;(TMetadata);;Argument[0];Argument[Qualifier];generated:taint", - "System;Lazy<,>;false;Lazy;(TMetadata,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System;Lazy<,>;false;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);;Argument[0];Argument[Qualifier];generated:taint", - "System;Lazy<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Lazy<>;false;Lazy;(T);;Argument[0];Argument[Qualifier];generated:taint", - "System;Lazy<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Math;false;Abs;(System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;generated:taint", - "System;Math;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[2];ReturnValue;generated:taint", - "System;Math;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;generated:taint", - "System;Math;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[2];ReturnValue;generated:taint", - "System;Math;false;Max;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Max;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;generated:taint", - "System;Math;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;generated:taint", - "System;Math;false;Min;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Min;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;generated:taint", - "System;Math;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;Math;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;generated:taint", - "System;Memory<>;false;Memory;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System;Memory<>;false;Memory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System;Memory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Memory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Memory<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;MemoryExtensions+TryWriteInterpolatedStringHandler;false;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System;MemoryExtensions+TryWriteInterpolatedStringHandler;false;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint", - "System;MemoryExtensions+TryWriteInterpolatedStringHandler;false;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);;Argument[3];Argument[Qualifier];generated:taint", - "System;MemoryExtensions;false;AsMemory;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory;(System.String,System.Index);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory;(System.String,System.Range);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(T[],System.Index);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;AsMemory<>;(T[],System.Range);;Argument[0].Element;ReturnValue;generated:taint", - "System;MemoryExtensions;false;EnumerateLines;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;EnumerateRunes;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim;(System.Memory);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;Trim<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd;(System.Memory);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimEnd<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart;(System.Memory);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MemoryExtensions;false;TrimStart<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint", - "System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;MissingFieldException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;MissingMemberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;MissingMemberException;false;MissingMemberException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;MissingMemberException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;MissingMethodException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;MulticastDelegate;false;CombineImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:value", - "System;MulticastDelegate;false;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint", - "System;MulticastDelegate;false;GetInvocationList;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;MulticastDelegate;false;GetMethodImpl;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:value", - "System;NotFiniteNumberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;Nullable;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;generated:taint", - "System;Nullable<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ObjectDisposedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;ObjectDisposedException;false;ObjectDisposedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;ObjectDisposedException;false;ObjectDisposedException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;ObjectDisposedException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ObjectDisposedException;false;get_ObjectName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperatingSystem;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperatingSystem;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperatingSystem;false;get_ServicePack;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperatingSystem;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperatingSystem;false;get_VersionString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Exception,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];generated:taint", - "System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];generated:taint", - "System;OperationCanceledException;false;OperationCanceledException;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System;OperationCanceledException;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;OperationCanceledException;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint", - "System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint", - "System;ReadOnlyMemory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;ReadOnlyMemory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint", - "System;ReadOnlyMemory<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ReadOnlySpan<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;RuntimeFieldHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;RuntimeMethodHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;RuntimeTypeHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;SequencePosition;false;GetObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;SequencePosition;false;SequencePosition;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];generated:taint", - "System;Single;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;Single;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;Single;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;Span<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;String;false;EnumerateRunes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;String;false;Replace;(System.String,System.String,System.Boolean,System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[1];ReturnValue;generated:taint", - "System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[Qualifier];ReturnValue;generated:taint", - "System;String;false;ReplaceLineEndings;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;String;false;ReplaceLineEndings;(System.String);;Argument[Qualifier];ReturnValue;generated:value", - "System;String;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System;String;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint", - "System;StringNormalizationExtensions;false;Normalize;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;generated:taint", - "System;TimeOnly;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint", - "System;TimeOnly;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint", - "System;TimeSpan;false;op_UnaryPlus;(System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;generated:taint", - "System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[1];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[2];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[3];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[4];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[1];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[2];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[3];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[4];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[5];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;get_BaseUtcOffsetDelta;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;get_DateEnd;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;get_DateStart;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;get_DaylightDelta;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionEnd;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionStart;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo+TransitionTime;false;CreateFixedDateRule;(System.DateTime,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo+TransitionTime;false;CreateFloatingDateRule;(System.DateTime,System.Int32,System.Int32,System.DayOfWeek);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo+TransitionTime;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;TimeZoneInfo+TransitionTime;false;get_TimeOfDay;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTimeFromUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[1];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[2];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[3];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[1];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[2];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[3];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[4];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[5].Element;ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[1];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[2];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[3];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[4];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[5].Element;ReturnValue;generated:taint", - "System;TimeZoneInfo;false;FindSystemTimeZoneById;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;TimeZoneInfo;false;GetUtcOffset;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;GetUtcOffset;(System.DateTimeOffset);;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;get_BaseUtcOffset;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;get_DaylightName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TimeZoneInfo;false;get_StandardName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,,>;false;get_Rest;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Tuple<>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToTuple<>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;TupleExtensions;false;ToValueTuple<>;(System.Tuple);;Argument[0];ReturnValue;generated:taint", - "System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetConstructor;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetConstructors;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetEvent;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetInterface;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMember;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMembers;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Int32,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethod;(System.String,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetNestedTypes;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;GetProperty;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;MakeGenericSignatureType;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint", - "System;Type;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;false;get_TypeInitializer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;true;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;true;GetMember;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;true;GetMemberWithSameMetadataDefinitionAs;(System.Reflection.MemberInfo);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Type;true;get_GenericTypeArguments;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TypeInitializationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;TypeInitializationException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;TypeLoadException;false;TypeLoadException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;TypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;TypeLoadException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UIntPtr;false;Abs;(System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;generated:taint", - "System;UIntPtr;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[2];ReturnValue;generated:taint", - "System;UIntPtr;false;Create<>;(TOther);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;CreateSaturating<>;(TOther);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;CreateTruncating<>;(TOther);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;generated:taint", - "System;UIntPtr;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;generated:taint", - "System;UIntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UIntPtr;false;TryCreate<>;(TOther,System.UIntPtr);;Argument[0];ReturnValue;generated:taint", - "System;UIntPtr;false;UIntPtr;(System.Void*);;Argument[0];Argument[Qualifier];generated:taint", - "System;UnhandledExceptionEventArgs;false;UnhandledExceptionEventArgs;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System;UnhandledExceptionEventArgs;false;get_ExceptionObject;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UnitySerializationHolder;false;UnitySerializationHolder;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;Uri;false;EscapeDataString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;EscapeString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;EscapeUriString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;GetComponents;(System.UriComponents,System.UriFormat);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;GetLeftPart;(System.UriPartial);;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;Uri;false;MakeRelative;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;MakeRelativeUri;(System.Uri);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;TryCreate;(System.String,System.UriCreationOptions,System.Uri);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;TryCreate;(System.String,System.UriKind,System.Uri);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[1];ReturnValue;generated:taint", - "System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[1];ReturnValue;generated:taint", - "System;Uri;false;UnescapeDataString;(System.String);;Argument[0];ReturnValue;generated:taint", - "System;Uri;false;Uri;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.String,System.UriCreationOptions);;Argument[0];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[1];Argument[Qualifier];generated:taint", - "System;Uri;false;get_Authority;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;get_DnsSafeHost;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;get_IdnHost;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;get_LocalPath;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;Uri;false;get_UserInfo;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;UriBuilder;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;UriBuilder;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;get_Fragment;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_Password;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_Query;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;UriBuilder;false;set_Fragment;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;set_Query;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;set_Scheme;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriBuilder;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint", - "System;UriFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint", - "System;UriParser;false;Register;(System.UriParser,System.String,System.Int32);;Argument[1];Argument[0];generated:taint", - "System;UriParser;true;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);;Argument[0];ReturnValue;generated:taint", - "System;UriParser;true;OnNewUri;();;Argument[Qualifier];ReturnValue;generated:value", - "System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[0];ReturnValue;generated:taint", - "System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[1];ReturnValue;generated:taint", - "System;UriTypeConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint", - "System;UriTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint", - "System;ValueTuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint", - "System;ValueTuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint" + "JsonToItemsTaskFactory;JsonToItemsTaskFactory+CaseInsensitiveDictionaryConverter;false;Read;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated", + "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonModelItemConverter;false;Read;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated", + "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonToItemsTask;false;SetPropertyValue;(Microsoft.Build.Framework.TaskPropertyInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonToItemsTask;false;get_BuildEngine;();;Argument[Qualifier];ReturnValue;taint;generated", + "JsonToItemsTaskFactory;JsonToItemsTaskFactory+JsonToItemsTask;false;set_BuildEngine;(Microsoft.Build.Framework.IBuildEngine);;Argument[0];Argument[Qualifier];taint;generated", + "JsonToItemsTaskFactory;JsonToItemsTaskFactory;false;GetTaskParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "JsonToItemsTaskFactory;JsonToItemsTaskFactory;false;Initialize;(System.String,System.Collections.Generic.IDictionary,System.String,Microsoft.Build.Framework.IBuildEngine);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;Convert;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type);;Argument[2];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable,System.Type,System.Collections.Generic.IEnumerable);;Argument[4].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;IsEvent;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type);;Argument[2];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated", + "Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated", + "Microsoft.CSharp;CSharpCodeProvider;false;CSharpCodeProvider;(System.Collections.Generic.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.CSharp;CSharpCodeProvider;false;CreateCompiler;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.CSharp;CSharpCodeProvider;false;CreateGenerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.CSharp;CSharpCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.CSharp;CSharpCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;get_AbsoluteExpiration;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;get_AbsoluteExpirationRelativeToNow;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;get_SlidingExpiration;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;set_AbsoluteExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;set_AbsoluteExpirationRelativeToNow;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Distributed;DistributedCacheEntryOptions;false;set_SlidingExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetOptions;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetOptions;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetOptions;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetPriority;(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.CacheItemPriority);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSize;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheEntryExtensions;false;SetValue;(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem);;Argument[2];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions);;Argument[2];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,Microsoft.Extensions.Primitives.IChangeToken);;Argument[2];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,System.DateTimeOffset);;Argument[2];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;CacheExtensions;false;Set<>;(Microsoft.Extensions.Caching.Memory.IMemoryCache,System.Object,TItem,System.TimeSpan);;Argument[2];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCache;false;CreateEntry;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCache;false;MemoryCache;(Microsoft.Extensions.Options.IOptions,Microsoft.Extensions.Logging.ILoggerFactory);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;AddExpirationToken;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetAbsoluteExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetPriority;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.CacheItemPriority);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSize;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.Int64);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];Argument[0];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryExtensions;false;SetSlidingExpiration;(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_AbsoluteExpiration;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_AbsoluteExpirationRelativeToNow;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_Size;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;get_SlidingExpiration;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_AbsoluteExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_AbsoluteExpirationRelativeToNow;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_Size;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheEntryOptions;false;set_SlidingExpiration;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheOptions;false;get_SizeLimit;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheOptions;false;get_Value;();;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.Caching.Memory;MemoryCacheOptions;false;set_SizeLimit;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration.EnvironmentVariables;EnvironmentVariablesConfigurationProvider;false;EnvironmentVariablesConfigurationProvider;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration.EnvironmentVariables;EnvironmentVariablesConfigurationProvider;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration.Memory;MemoryConfigurationProvider;false;MemoryConfigurationProvider;(Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration.Memory;MemoryConfigurationSource;false;Build;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration.UserSecrets;PathHelper;false;GetSecretsPathFromSecretsId;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration.Xml;XmlDocumentDecryptor;false;CreateDecryptingXmlReader;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ChainedBuilderExtensions;false;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ChainedBuilderExtensions;false;AddConfiguration;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ChainedConfigurationProvider;false;GetChildKeys;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ChainedConfigurationProvider;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ChainedConfigurationProvider;false;TryGet;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;CommandLineConfigurationExtensions;false;AddCommandLine;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String[]);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;CommandLineConfigurationExtensions;false;AddCommandLine;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String[],System.Collections.Generic.IDictionary);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;Get;(Microsoft.Extensions.Configuration.IConfiguration,System.Type);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;Get<>;(Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue;(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object);;Argument[3];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue<>;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue<>;(Microsoft.Extensions.Configuration.IConfiguration,System.String,T);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBinder;false;GetValue<>;(Microsoft.Extensions.Configuration.IConfiguration,System.String,T);;Argument[2];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationBuilder;false;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.Configuration;ConfigurationExtensions;false;GetConnectionString;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationExtensions;false;GetRequiredSection;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationExtensions;false;GetRequiredSection;(Microsoft.Extensions.Configuration.IConfiguration,System.String);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;Add;(Microsoft.Extensions.Configuration.IConfigurationSource);;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;Build;();;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;GetSection;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;GetSection;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationManager;false;get_Sources;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationPath;false;Combine;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationPath;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationPath;false;GetParentPath;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationPath;false;GetSectionKey;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationProvider;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationProvider;true;GetChildKeys;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRoot;false;ConfigurationRoot;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRoot;false;GetReloadToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRoot;false;GetSection;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRoot;false;GetSection;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRoot;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRoot;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationRootExtensions;false;GetDebugView;(Microsoft.Extensions.Configuration.IConfigurationRoot);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationSection;false;ConfigurationSection;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationSection;false;ConfigurationSection;(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;ConfigurationSection;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;EnvironmentVariablesExtensions;false;AddEnvironmentVariables;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;FileConfigurationExtensions;false;SetBasePath;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;FileConfigurationExtensions;false;SetFileProvider;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;IniConfigurationExtensions;false;AddIniStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;JsonConfigurationExtensions;false;AddJsonStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;MemoryConfigurationBuilderExtensions;false;AddInMemoryCollection;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;MemoryConfigurationBuilderExtensions;false;AddInMemoryCollection;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Reflection.Assembly,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets<>;(Microsoft.Extensions.Configuration.IConfigurationBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets<>;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;UserSecretsConfigurationExtensions;false;AddUserSecrets<>;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.FileProviders.IFileProvider,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlFile;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Configuration;XmlConfigurationExtensions;false;AddXmlStream;(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Add;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;RemoveAll;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;RemoveAll<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Replace;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Replace;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;Replace;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAdd;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAdd;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAddEnumerable;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceDescriptor);;Argument[1];Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Extensions;ServiceCollectionDescriptorExtensions;false;TryAddEnumerable;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[0].Element;taint;generated", + "Microsoft.Extensions.DependencyInjection.Specification.Fakes;ClassWithNestedReferencesToProvider;false;ClassWithNestedReferencesToProvider;(System.IServiceProvider);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyInjection.Specification.Fakes;FakeDisposableCallbackService;false;FakeDisposableCallbackService;(Microsoft.Extensions.DependencyInjection.Specification.Fakes.FakeDisposeCallback);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyInjection;ActivatorUtilities;false;GetServiceOrCreateInstance;(System.IServiceProvider,System.Type);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ActivatorUtilities;false;GetServiceOrCreateInstance<>;(System.IServiceProvider);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;AsyncServiceScope;false;AsyncServiceScope;(Microsoft.Extensions.DependencyInjection.IServiceScope);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyInjection;AsyncServiceScope;false;get_ServiceProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;DefaultServiceProviderFactory;false;CreateBuilder;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;DefaultServiceProviderFactory;false;DefaultServiceProviderFactory;(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;AddHttpMessageHandler<>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;AddTypedClient<,>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;AddTypedClient<>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;ConfigurePrimaryHttpMessageHandler<>;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;RedactLoggedHeaders;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientBuilderExtensions;false;SetHandlerLifetime;(Microsoft.Extensions.DependencyInjection.IHttpClientBuilder,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;HttpClientFactoryServiceCollectionExtensions;false;AddHttpClient;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;LoggingServiceCollectionExtensions;false;AddLogging;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;false;AddDistributedMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;MemoryCacheServiceCollectionExtensions;false;AddMemoryCache;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsBuilderConfigurationExtensions;false;Bind<>;(Microsoft.Extensions.Options.OptionsBuilder,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsBuilderDataAnnotationsExtensions;false;ValidateDataAnnotations<>;(Microsoft.Extensions.Options.OptionsBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsBuilderExtensions;false;ValidateOnStart<>;(Microsoft.Extensions.Options.OptionsBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;false;Configure<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsConfigurationServiceCollectionExtensions;false;Configure<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.String,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;AddOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Object);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;ConfigureOptions;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;OptionsServiceCollectionExtensions;false;ConfigureOptions<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionHostedServiceExtensions;false;AddHostedService<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped<,>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddScoped<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Object);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton<,>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddSingleton<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection,TService);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient;(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Type,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient<,>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceCollectionServiceExtensions;false;AddTransient<>;(Microsoft.Extensions.DependencyInjection.IServiceCollection);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetRequiredService;(System.IServiceProvider,System.Type);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetRequiredService<>;(System.IServiceProvider);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetService<>;(System.IServiceProvider);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetServices;(System.IServiceProvider,System.Type);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyInjection;ServiceProviderServiceExtensions;false;GetServices<>;(System.IServiceProvider);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyModel.Resolution;AppBaseCompilationAssemblyResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;taint;generated", + "Microsoft.Extensions.DependencyModel.Resolution;CompositeCompilationAssemblyResolver;false;CompositeCompilationAssemblyResolver;(Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyModel.Resolution;CompositeCompilationAssemblyResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;taint;generated", + "Microsoft.Extensions.DependencyModel.Resolution;PackageCompilationAssemblyResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;taint;generated", + "Microsoft.Extensions.DependencyModel.Resolution;ReferenceAssemblyPathResolver;false;TryResolveAssemblyPaths;(Microsoft.Extensions.DependencyModel.CompilationLibrary,System.Collections.Generic.List);;Argument[Qualifier];Argument[1].Element;taint;generated", + "Microsoft.Extensions.DependencyModel;CompilationLibrary;false;ResolveReferencePaths;(Microsoft.Extensions.DependencyModel.Resolution.ICompilationAssemblyResolver[]);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyModel;RuntimeAssembly;false;Create;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyModel;RuntimeAssembly;false;RuntimeAssembly;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;RuntimeAssetGroup;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;RuntimeAssetGroup;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;get_AssetPaths;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.DependencyModel;RuntimeAssetGroup;false;get_RuntimeFiles;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileProviders.Composite;CompositeDirectoryContents;false;CompositeDirectoryContents;(System.Collections.Generic.IList,System.String);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Composite;CompositeDirectoryContents;false;CompositeDirectoryContents;(System.Collections.Generic.IList,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Internal;PhysicalDirectoryContents;false;PhysicalDirectoryContents;(System.String,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Physical;PhysicalDirectoryInfo;false;PhysicalDirectoryInfo;(System.IO.DirectoryInfo);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Physical;PhysicalFileInfo;false;PhysicalFileInfo;(System.IO.FileInfo);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Physical;PhysicalFileInfo;false;get_PhysicalPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileProviders.Physical;PhysicalFilesWatcher;false;PhysicalFilesWatcher;(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Physical;PhysicalFilesWatcher;false;PhysicalFilesWatcher;(System.String,System.IO.FileSystemWatcher,System.Boolean,Microsoft.Extensions.FileProviders.Physical.ExclusionFilters);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders.Physical;PollingFileChangeToken;false;PollingFileChangeToken;(System.IO.FileInfo);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;CompositeFileProvider;(Microsoft.Extensions.FileProviders.IFileProvider[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;CompositeFileProvider;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;GetDirectoryContents;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;GetDirectoryContents;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileProviders;CompositeFileProvider;false;get_FileProviders;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileProviders;PhysicalFileProvider;false;GetDirectoryContents;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Abstractions;DirectoryInfoWrapper;false;GetDirectory;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Abstractions;FileInfoWrapper;false;FileInfoWrapper;(System.IO.FileInfo);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Abstractions;FileInfoWrapper;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContext<>;false;PushDataFrame;(TFrame);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinear+FrameData;false;get_Stem;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextLinear;false;CalculateStem;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRagged+FrameData;false;get_Stem;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Internal.PatternContexts;PatternContextRagged;false;CalculateStem;(Microsoft.Extensions.FileSystemGlobbing.Abstractions.FileInfoBase);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing.Internal;MatcherContext;false;MatcherContext;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,Microsoft.Extensions.FileSystemGlobbing.Abstractions.DirectoryInfoBase,System.StringComparison);;Argument[2];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;GetDirectory;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;GetFile;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing;InMemoryDirectoryInfo;false;get_ParentDirectory;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.FileSystemGlobbing;Matcher;false;AddExclude;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.FileSystemGlobbing;Matcher;false;AddInclude;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;ApplicationLifetime;(Microsoft.Extensions.Logging.ILogger);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;get_ApplicationStarted;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;get_ApplicationStopped;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting.Internal;ApplicationLifetime;false;get_ApplicationStopping;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting.Systemd;ServiceState;false;ServiceState;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Hosting.Systemd;ServiceState;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting.WindowsServices;WindowsServiceLifetime;false;WaitForStartAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;BackgroundService;true;StartAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;BackgroundService;true;get_ExecuteTask;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;HostBuilder;false;UseServiceProviderFactory<>;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Hosting;HostBuilder;false;UseServiceProviderFactory<>;(Microsoft.Extensions.DependencyInjection.IServiceProviderFactory);;Argument[Qualifier];ReturnValue;value;generated", + "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;ConfigureDefaults;(Microsoft.Extensions.Hosting.IHostBuilder,System.String[]);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;UseConsoleLifetime;(Microsoft.Extensions.Hosting.IHostBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;UseContentRoot;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;HostingHostBuilderExtensions;false;UseEnvironment;(Microsoft.Extensions.Hosting.IHostBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;SystemdHostBuilderExtensions;false;UseSystemd;(Microsoft.Extensions.Hosting.IHostBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Hosting;WindowsServiceLifetimeHostBuilderExtensions;false;UseWindowsService;(Microsoft.Extensions.Hosting.IHostBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;false;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;false;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http.Logging;LoggingHttpMessageHandler;false;LoggingHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http.Logging;LoggingScopeHttpMessageHandler;false;LoggingScopeHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http.Logging;LoggingScopeHttpMessageHandler;false;LoggingScopeHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http.Logging;LoggingScopeHttpMessageHandler;false;LoggingScopeHttpMessageHandler;(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Http.HttpClientFactoryOptions);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http;HttpClientFactoryOptions;false;get_HandlerLifetime;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Http;HttpClientFactoryOptions;false;set_HandlerLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Http;HttpMessageHandlerBuilder;false;CreateHandlerPipeline;(System.Net.Http.HttpMessageHandler,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Http;HttpMessageHandlerBuilder;false;CreateHandlerPipeline;(System.Net.Http.HttpMessageHandler,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;ConsoleLoggerProvider;(Microsoft.Extensions.Options.IOptionsMonitor,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;CreateLogger;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;CreateLogger;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.Console;ConsoleLoggerProvider;false;SetScopeProvider;(Microsoft.Extensions.Logging.IExternalScopeProvider);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging.Debug;DebugLoggerProvider;false;CreateLogger;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;CreateLogger;(System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;CreateLogger;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;EventLogLoggerProvider;(Microsoft.Extensions.Logging.EventLog.EventLogSettings);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging.EventLog;EventLogLoggerProvider;false;SetScopeProvider;(Microsoft.Extensions.Logging.IExternalScopeProvider);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging.EventSource;EventSourceLoggerProvider;false;CreateLogger;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging.EventSource;EventSourceLoggerProvider;false;EventSourceLoggerProvider;(Microsoft.Extensions.Logging.EventSource.LoggingEventSource);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging.TraceSource;TraceSourceLoggerProvider;false;TraceSourceLoggerProvider;(System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging.TraceSource;TraceSourceLoggerProvider;false;TraceSourceLoggerProvider;(System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddConsoleFormatter<,>;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddJsonConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddSimpleConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;ConsoleLoggerExtensions;false;AddSystemdConsole;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;DebugLoggerFactoryExtensions;false;AddDebug;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;false;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;EventLoggerFactoryExtensions;false;AddEventLog;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.EventLog.EventLogSettings);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;EventSourceLoggerFactoryExtensions;false;AddEventSourceLogger;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter<>;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;FilterLoggingBuilderExtensions;false;AddFilter<>;(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;Logger<>;false;BeginScope<>;(TState);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;LoggerExtensions;false;BeginScope;(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[]);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;LoggerExternalScopeProvider;false;Push;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;AddConfiguration;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Configuration.IConfiguration);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;AddProvider;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;ClearProviders;(Microsoft.Extensions.Logging.ILoggingBuilder);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;LoggingBuilderExtensions;false;SetMinimumLevel;(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Diagnostics.SourceSwitch);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.Diagnostics.SourceSwitch,System.Diagnostics.TraceListener);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Logging;TraceSourceFactoryExtensions;false;AddTraceSource;(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Diagnostics.TraceListener);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Options;ConfigurationChangeTokenSource<>;false;ConfigurationChangeTokenSource;(System.String,Microsoft.Extensions.Configuration.IConfiguration);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Options;ConfigurationChangeTokenSource<>;false;GetChangeToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Options;OptionsFactory<>;false;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Options;OptionsFactory<>;false;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);;Argument[1].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Options;OptionsFactory<>;false;OptionsFactory;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable>);;Argument[2].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Options;OptionsManager<>;false;OptionsManager;(Microsoft.Extensions.Options.IOptionsFactory);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Options;OptionsMonitor<>;false;OptionsMonitor;(Microsoft.Extensions.Options.IOptionsFactory,System.Collections.Generic.IEnumerable>,Microsoft.Extensions.Options.IOptionsMonitorCache);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Options;OptionsMonitor<>;false;OptionsMonitor;(Microsoft.Extensions.Options.IOptionsFactory,System.Collections.Generic.IEnumerable>,Microsoft.Extensions.Options.IOptionsMonitorCache);;Argument[2];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Primitives;Extensions;false;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Primitives;StringTokenizer+Enumerator;false;Enumerator;(Microsoft.Extensions.Primitives.StringTokenizer);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(System.String,System.Char[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "Microsoft.Extensions.Primitives;StringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Interop;AnsiStringMarshaller;false;AnsiStringMarshaller;(Microsoft.Interop.Utf8StringMarshaller);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;ArrayMarshaller;false;ArrayMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Boolean,Microsoft.Interop.InteropGenerationOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;ArrayMarshaller;false;ArrayMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Boolean,Microsoft.Interop.InteropGenerationOptions);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Interop;ArrayMarshaller;false;ArrayMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax,System.Boolean,Microsoft.Interop.InteropGenerationOptions);;Argument[3];Argument[Qualifier];taint;generated", + "Microsoft.Interop;ArrayMarshaller;false;AsNativeType;(Microsoft.Interop.TypePositionInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Interop;AttributedMarshallingModelGeneratorFactory;false;AttributedMarshallingModelGeneratorFactory;(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.InteropGenerationOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;AttributedMarshallingModelGeneratorFactory;false;AttributedMarshallingModelGeneratorFactory;(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.InteropGenerationOptions);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Interop;AttributedMarshallingModelGeneratorFactory;false;AttributedMarshallingModelGeneratorFactory;(Microsoft.Interop.IMarshallingGeneratorFactory,Microsoft.Interop.InteropGenerationOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;BoolMarshallerBase;false;AsNativeType;(Microsoft.Interop.TypePositionInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Interop;BoolMarshallerBase;false;BoolMarshallerBase;(Microsoft.CodeAnalysis.CSharp.Syntax.PredefinedTypeSyntax,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;ByValueContentsMarshalKindValidator;false;ByValueContentsMarshalKindValidator;(Microsoft.Interop.IMarshallingGeneratorFactory);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;ConditionalStackallocMarshallingGenerator;false;GetAllocationMarkerIdentifier;(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Interop;DllImportGenerator+IncrementalityTracker;false;get_ExecutedSteps;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Interop;GeneratorDiagnostics;false;get_Diagnostics;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Interop;MarshallerHelpers;false;GetCompatibleGenericTypeParameterSyntax;(Microsoft.CodeAnalysis.CSharp.Syntax.TypeSyntax);;Argument[0];ReturnValue;taint;generated", + "Microsoft.Interop;MarshallerHelpers;false;GetMarshallerIdentifier;(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Interop;MarshallerHelpers;false;GetNativeSpanIdentifier;(Microsoft.Interop.TypePositionInfo,Microsoft.Interop.StubCodeContext);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[2];Argument[Qualifier];taint;generated", + "Microsoft.Interop;MarshallingAttributeInfoParser;false;MarshallingAttributeInfoParser;(Microsoft.CodeAnalysis.Compilation,Microsoft.Interop.IGeneratorDiagnostics,Microsoft.Interop.DefaultMarshallingInfo,Microsoft.CodeAnalysis.ISymbol);;Argument[3];Argument[Qualifier];taint;generated", + "Microsoft.Interop;PinnableManagedValueMarshaller;false;AsNativeType;(Microsoft.Interop.TypePositionInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Interop;PinnableManagedValueMarshaller;false;PinnableManagedValueMarshaller;(Microsoft.Interop.IMarshallingGenerator);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;PlatformDefinedStringMarshaller;false;PlatformDefinedStringMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.Interop.IMarshallingGenerator);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Interop;PlatformDefinedStringMarshaller;false;PlatformDefinedStringMarshaller;(Microsoft.Interop.IMarshallingGenerator,Microsoft.Interop.IMarshallingGenerator);;Argument[1];Argument[Qualifier];taint;generated", + "Microsoft.Interop;StubCodeContext;true;GetAdditionalIdentifier;(Microsoft.Interop.TypePositionInfo,System.String);;Argument[1];ReturnValue;taint;generated", + "Microsoft.Interop;StubCodeContext;true;GetAdditionalIdentifier;(Microsoft.Interop.TypePositionInfo,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.NET.Build.Tasks;RunReadyToRunCompiler;false;GenerateResponseFileCommands;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.NETCore.Platforms.BuildTasks;Extensions;false;NullAsEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "Microsoft.NETCore.Platforms.BuildTasks;RuntimeGroupCollection;false;RuntimeGroupCollection;(System.Collections.Generic.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.NETCore.Platforms.BuildTasks;RuntimeVersion;false;RuntimeVersion;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.NETCore.Platforms.BuildTasks;RuntimeVersion;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.VisualBasic;VBCodeProvider;false;CreateCompiler;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.VisualBasic;VBCodeProvider;false;CreateGenerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.VisualBasic;VBCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.VisualBasic;VBCodeProvider;false;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "Microsoft.VisualBasic;VBCodeProvider;false;VBCodeProvider;(System.Collections.Generic.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated", + "Microsoft.Win32.SafeHandles;SafeFileHandle;false;SafeFileHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Win32.SafeHandles;SafePipeHandle;false;SafePipeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Win32.SafeHandles;SafeProcessHandle;false;SafeProcessHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Win32.SafeHandles;SafeRegistryHandle;false;SafeRegistryHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Win32.SafeHandles;SafeWaitHandle;false;SafeWaitHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "Microsoft.Win32;RegistryKey;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Win32;RegistryKey;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated", + "Microsoft.Win32;RegistryKey;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;taint;generated", + "System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[1];Argument[Qualifier];taint;generated", + "System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[2];Argument[Qualifier];taint;generated", + "System.Buffers;MemoryHandle;false;get_Pointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;MemoryManager<>;true;get_Memory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>+Enumerator;false;Enumerator;(System.Buffers.ReadOnlySequence<>);;Argument[0];Argument[Qualifier];taint;generated", + "System.Buffers;ReadOnlySequence<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[2];Argument[Qualifier];taint;generated", + "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated", + "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[1];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64);;Argument[Qualifier];ReturnValue;value;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[0];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[0];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[0];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[1];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;TryGet;(System.SequencePosition,System.ReadOnlyMemory,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;get_End;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;get_First;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;ReadOnlySequence<>;false;get_Start;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;SequenceReader;(System.Buffers.ReadOnlySequence);;Argument[0];Argument[Qualifier];taint;generated", + "System.Buffers;SequenceReader<>;false;TryReadExact;(System.Int32,System.Buffers.ReadOnlySequence);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,T,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;TryReadToAny;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;get_Position;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Buffers;SequenceReader<>;false;get_UnreadSequence;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeCompiler;false;JoinStringArray;(System.String[],System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeCompiler;false;JoinStringArray;(System.String[],System.String);;Argument[1];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeCompiler;true;GetResponseFileCmdArgs;(System.CodeDom.Compiler.CompilerParameters,System.String);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;CreateEscapedIdentifier;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;CreateGenerator;(System.IO.TextWriter);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;CreateGenerator;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;CreateValidIdentifier;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromCompileUnit;(System.CodeDom.CodeCompileUnit,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromExpression;(System.CodeDom.CodeExpression,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromStatement;(System.CodeDom.CodeStatement,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeDomProvider;true;GetTypeOutput;(System.CodeDom.CodeTypeReference);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;CreateEscapedIdentifier;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;CreateValidIdentifier;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromCompileUnit;(System.CodeDom.CodeCompileUnit,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromExpression;(System.CodeDom.CodeExpression,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromNamespace;(System.CodeDom.CodeNamespace,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromStatement;(System.CodeDom.CodeStatement,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateCodeFromType;(System.CodeDom.CodeTypeDeclaration,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GenerateTypes;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;GetTypeOutput;(System.CodeDom.CodeTypeReference);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentClass;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentMember;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentMemberName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;get_CurrentTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;false;get_Output;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGenerator;true;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;true;GenerateCodeFromMember;(System.CodeDom.CodeTypeMember,System.IO.TextWriter,System.CodeDom.Compiler.CodeGeneratorOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGenerator;true;GenerateNamespace;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CodeGeneratorOptions;false;get_BracingStyle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGeneratorOptions;false;get_IndentString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CodeGeneratorOptions;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;Add;(System.CodeDom.Compiler.CompilerError);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;AddRange;(System.CodeDom.Compiler.CompilerErrorCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;AddRange;(System.CodeDom.Compiler.CompilerError[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;CompilerErrorCollection;(System.CodeDom.Compiler.CompilerErrorCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;CompilerErrorCollection;(System.CodeDom.Compiler.CompilerError[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;CopyTo;(System.CodeDom.Compiler.CompilerError[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;Insert;(System.Int32,System.CodeDom.Compiler.CompilerError);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;Remove;(System.CodeDom.Compiler.CompilerError);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CompilerErrorCollection;false;set_Item;(System.Int32,System.CodeDom.Compiler.CompilerError);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerInfo;false;get_CodeDomProviderType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CompilerParameters;false;get_TempFiles;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CompilerParameters;false;set_TempFiles;(System.CodeDom.Compiler.TempFileCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;CompilerResults;false;get_CompiledAssembly;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;CompilerResults;false;set_CompiledAssembly;(System.Reflection.Assembly);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[2].Element;ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[4];ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.IntPtr,System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3].Element;ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[1].Element;ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[2].Element;ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.CodeDom.Compiler;Executor;false;ExecWaitWithCapture;(System.String,System.String,System.CodeDom.Compiler.TempFileCollection,System.String,System.String);;Argument[4];ReturnValue;taint;generated", + "System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Tool;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;IndentedTextWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;IndentedTextWriter;false;get_InnerWriter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;IndentedTextWriter;false;get_NewLine;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;IndentedTextWriter;false;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;AddExtension;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;TempFileCollection;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;get_BasePath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom.Compiler;TempFileCollection;false;get_TempDir;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeArgumentReferenceExpression;false;CodeArgumentReferenceExpression;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArgumentReferenceExpression;false;get_ParameterName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeArgumentReferenceExpression;false;set_ParameterName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.CodeDom.CodeTypeReference,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;CodeArrayCreateExpression;(System.Type,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;get_CreateType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;get_Initializers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeArrayCreateExpression;false;set_CreateType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayIndexerExpression;false;CodeArrayIndexerExpression;(System.CodeDom.CodeExpression,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeArrayIndexerExpression;false;get_Indices;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttachEventStatement;false;CodeAttachEventStatement;(System.CodeDom.CodeEventReferenceExpression,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttachEventStatement;false;get_Event;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttachEventStatement;false;set_Event;(System.CodeDom.CodeEventReferenceExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgument;false;CodeAttributeArgument;(System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgument;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttributeArgument;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;Add;(System.CodeDom.CodeAttributeArgument);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;AddRange;(System.CodeDom.CodeAttributeArgumentCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;AddRange;(System.CodeDom.CodeAttributeArgument[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;CodeAttributeArgumentCollection;(System.CodeDom.CodeAttributeArgumentCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;CodeAttributeArgumentCollection;(System.CodeDom.CodeAttributeArgument[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;CopyTo;(System.CodeDom.CodeAttributeArgument[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;Insert;(System.Int32,System.CodeDom.CodeAttributeArgument);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;Remove;(System.CodeDom.CodeAttributeArgument);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttributeArgumentCollection;false;set_Item;(System.Int32,System.CodeDom.CodeAttributeArgument);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeAttributeArgument[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeAttributeArgument[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.String,System.CodeDom.CodeAttributeArgument[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;CodeAttributeDeclaration;(System.String,System.CodeDom.CodeAttributeArgument[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttributeDeclaration;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;Add;(System.CodeDom.CodeAttributeDeclaration);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;AddRange;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;AddRange;(System.CodeDom.CodeAttributeDeclaration[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;CodeAttributeDeclarationCollection;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;CodeAttributeDeclarationCollection;(System.CodeDom.CodeAttributeDeclaration[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;CopyTo;(System.CodeDom.CodeAttributeDeclaration[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;Insert;(System.Int32,System.CodeDom.CodeAttributeDeclaration);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;Remove;(System.CodeDom.CodeAttributeDeclaration);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeAttributeDeclarationCollection;false;set_Item;(System.Int32,System.CodeDom.CodeAttributeDeclaration);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCastExpression;false;CodeCastExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCastExpression;false;CodeCastExpression;(System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCastExpression;false;CodeCastExpression;(System.Type,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCastExpression;false;get_TargetType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCastExpression;false;set_TargetType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference,System.CodeDom.CodeStatement[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference,System.CodeDom.CodeStatement[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;CodeCatchClause;(System.String,System.CodeDom.CodeTypeReference,System.CodeDom.CodeStatement[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;get_CatchExceptionType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCatchClause;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCatchClause;false;get_Statements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCatchClause;false;set_CatchExceptionType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClause;false;set_LocalName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;Add;(System.CodeDom.CodeCatchClause);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;AddRange;(System.CodeDom.CodeCatchClauseCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;AddRange;(System.CodeDom.CodeCatchClause[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;CodeCatchClauseCollection;(System.CodeDom.CodeCatchClauseCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;CodeCatchClauseCollection;(System.CodeDom.CodeCatchClause[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;CopyTo;(System.CodeDom.CodeCatchClause[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;Insert;(System.Int32,System.CodeDom.CodeCatchClause);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;Remove;(System.CodeDom.CodeCatchClause);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCatchClauseCollection;false;set_Item;(System.Int32,System.CodeDom.CodeCatchClause);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeChecksumPragma;false;CodeChecksumPragma;(System.String,System.Guid,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeChecksumPragma;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeChecksumPragma;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeComment;false;CodeComment;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeComment;false;CodeComment;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeComment;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeComment;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;Add;(System.CodeDom.CodeCommentStatement);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;AddRange;(System.CodeDom.CodeCommentStatementCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;AddRange;(System.CodeDom.CodeCommentStatement[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;CodeCommentStatementCollection;(System.CodeDom.CodeCommentStatementCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;CodeCommentStatementCollection;(System.CodeDom.CodeCommentStatement[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;CopyTo;(System.CodeDom.CodeCommentStatement[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;Insert;(System.Int32,System.CodeDom.CodeCommentStatement);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;Remove;(System.CodeDom.CodeCommentStatement);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCommentStatementCollection;false;set_Item;(System.Int32,System.CodeDom.CodeCommentStatement);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeCompileUnit;false;get_AssemblyCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCompileUnit;false;get_EndDirectives;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCompileUnit;false;get_ReferencedAssemblies;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeCompileUnit;false;get_StartDirectives;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeDefaultValueExpression;false;CodeDefaultValueExpression;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDefaultValueExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeDefaultValueExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDelegateCreateExpression;false;CodeDelegateCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDelegateCreateExpression;false;CodeDelegateCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDelegateCreateExpression;false;get_DelegateType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeDelegateCreateExpression;false;get_MethodName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeDelegateCreateExpression;false;set_DelegateType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDelegateCreateExpression;false;set_MethodName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;Add;(System.CodeDom.CodeDirective);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;AddRange;(System.CodeDom.CodeDirectiveCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;AddRange;(System.CodeDom.CodeDirective[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;CodeDirectiveCollection;(System.CodeDom.CodeDirectiveCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;CodeDirectiveCollection;(System.CodeDom.CodeDirective[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;CopyTo;(System.CodeDom.CodeDirective[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;Insert;(System.Int32,System.CodeDom.CodeDirective);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;Remove;(System.CodeDom.CodeDirective);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeDirectiveCollection;false;set_Item;(System.Int32,System.CodeDom.CodeDirective);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeEventReferenceExpression;false;CodeEventReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeEventReferenceExpression;false;get_EventName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeEventReferenceExpression;false;set_EventName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;Add;(System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;AddRange;(System.CodeDom.CodeExpressionCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;AddRange;(System.CodeDom.CodeExpression[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;CodeExpressionCollection;(System.CodeDom.CodeExpressionCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;CodeExpressionCollection;(System.CodeDom.CodeExpression[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;CopyTo;(System.CodeDom.CodeExpression[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeExpressionCollection;false;Insert;(System.Int32,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;Remove;(System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeExpressionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeExpressionCollection;false;set_Item;(System.Int32,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeFieldReferenceExpression;false;CodeFieldReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeFieldReferenceExpression;false;get_FieldName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeFieldReferenceExpression;false;set_FieldName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeGotoStatement;false;CodeGotoStatement;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeGotoStatement;false;get_Label;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeGotoStatement;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeIndexerExpression;false;CodeIndexerExpression;(System.CodeDom.CodeExpression,System.CodeDom.CodeExpression[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeIndexerExpression;false;get_Indices;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeLabeledStatement;false;CodeLabeledStatement;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeLabeledStatement;false;CodeLabeledStatement;(System.String,System.CodeDom.CodeStatement);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeLabeledStatement;false;get_Label;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeLabeledStatement;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeLinePragma;false;CodeLinePragma;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeLinePragma;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeLinePragma;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberEvent;false;get_ImplementationTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberEvent;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberEvent;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.CodeDom.CodeTypeReference,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.CodeDom.CodeTypeReference,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;CodeMemberField;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberField;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberField;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberMethod;false;get_ImplementationTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberMethod;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberMethod;false;get_ReturnTypeCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberMethod;false;get_Statements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberMethod;false;get_TypeParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberMethod;false;set_ReturnType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMemberProperty;false;get_ImplementationTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberProperty;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMemberProperty;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodInvokeExpression;false;CodeMethodInvokeExpression;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeExpression[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodInvokeExpression;false;CodeMethodInvokeExpression;(System.CodeDom.CodeMethodReferenceExpression,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodInvokeExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMethodInvokeExpression;false;set_Method;(System.CodeDom.CodeMethodReferenceExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodReferenceExpression;false;CodeMethodReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodReferenceExpression;false;CodeMethodReferenceExpression;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeTypeReference[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodReferenceExpression;false;CodeMethodReferenceExpression;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeTypeReference[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeMethodReferenceExpression;false;get_MethodName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMethodReferenceExpression;false;get_TypeArguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeMethodReferenceExpression;false;set_MethodName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespace;false;CodeNamespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespace;false;get_Comments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespace;false;get_Imports;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespace;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespace;false;get_Types;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespace;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;Add;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;AddRange;(System.CodeDom.CodeNamespaceCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;AddRange;(System.CodeDom.CodeNamespace[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;CodeNamespaceCollection;(System.CodeDom.CodeNamespaceCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;CodeNamespaceCollection;(System.CodeDom.CodeNamespace[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;CopyTo;(System.CodeDom.CodeNamespace[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;Insert;(System.Int32,System.CodeDom.CodeNamespace);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;Remove;(System.CodeDom.CodeNamespace);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespaceCollection;false;set_Item;(System.Int32,System.CodeDom.CodeNamespace);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceImport;false;CodeNamespaceImport;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespaceImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceImportCollection;false;Add;(System.CodeDom.CodeNamespaceImport);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceImportCollection;false;AddRange;(System.CodeDom.CodeNamespaceImport[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeNamespaceImportCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeNamespaceImportCollection;false;set_Item;(System.Int32,System.CodeDom.CodeNamespaceImport);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeObject;false;get_UserData;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeObjectCreateExpression;false;CodeObjectCreateExpression;(System.CodeDom.CodeTypeReference,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeObjectCreateExpression;false;CodeObjectCreateExpression;(System.String,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeObjectCreateExpression;false;CodeObjectCreateExpression;(System.Type,System.CodeDom.CodeExpression[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeObjectCreateExpression;false;get_CreateType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeObjectCreateExpression;false;set_CreateType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.CodeDom.CodeTypeReference,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.CodeDom.CodeTypeReference,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;CodeParameterDeclarationExpression;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;set_CustomAttributes;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;Add;(System.CodeDom.CodeParameterDeclarationExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;AddRange;(System.CodeDom.CodeParameterDeclarationExpressionCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;AddRange;(System.CodeDom.CodeParameterDeclarationExpression[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;CodeParameterDeclarationExpressionCollection;(System.CodeDom.CodeParameterDeclarationExpressionCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;CodeParameterDeclarationExpressionCollection;(System.CodeDom.CodeParameterDeclarationExpression[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;CopyTo;(System.CodeDom.CodeParameterDeclarationExpression[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;Insert;(System.Int32,System.CodeDom.CodeParameterDeclarationExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;Remove;(System.CodeDom.CodeParameterDeclarationExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeParameterDeclarationExpressionCollection;false;set_Item;(System.Int32,System.CodeDom.CodeParameterDeclarationExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodePropertyReferenceExpression;false;CodePropertyReferenceExpression;(System.CodeDom.CodeExpression,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodePropertyReferenceExpression;false;get_PropertyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodePropertyReferenceExpression;false;set_PropertyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeRegionDirective;false;CodeRegionDirective;(System.CodeDom.CodeRegionMode,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeRegionDirective;false;get_RegionText;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeRegionDirective;false;set_RegionText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeRemoveEventStatement;false;CodeRemoveEventStatement;(System.CodeDom.CodeEventReferenceExpression,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeRemoveEventStatement;false;CodeRemoveEventStatement;(System.CodeDom.CodeExpression,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeRemoveEventStatement;false;get_Event;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeRemoveEventStatement;false;set_Event;(System.CodeDom.CodeEventReferenceExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetCompileUnit;false;CodeSnippetCompileUnit;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetCompileUnit;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeSnippetCompileUnit;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetExpression;false;CodeSnippetExpression;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetExpression;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeSnippetExpression;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetStatement;false;CodeSnippetStatement;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetStatement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeSnippetStatement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetTypeMember;false;CodeSnippetTypeMember;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeSnippetTypeMember;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeSnippetTypeMember;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatement;false;get_EndDirectives;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeStatement;false;get_StartDirectives;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeStatementCollection;false;Add;(System.CodeDom.CodeStatement);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;AddRange;(System.CodeDom.CodeStatementCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;AddRange;(System.CodeDom.CodeStatement[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;CodeStatementCollection;(System.CodeDom.CodeStatementCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;CodeStatementCollection;(System.CodeDom.CodeStatement[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;CopyTo;(System.CodeDom.CodeStatement[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeStatementCollection;false;Insert;(System.Int32,System.CodeDom.CodeStatement);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;Remove;(System.CodeDom.CodeStatement);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeStatementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeStatementCollection;false;set_Item;(System.Int32,System.CodeDom.CodeStatement);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclaration;false;CodeTypeDeclaration;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclaration;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeDeclaration;false;get_Members;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeDeclaration;false;get_TypeParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;Add;(System.CodeDom.CodeTypeDeclaration);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;AddRange;(System.CodeDom.CodeTypeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;AddRange;(System.CodeDom.CodeTypeDeclaration[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;CodeTypeDeclarationCollection;(System.CodeDom.CodeTypeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;CodeTypeDeclarationCollection;(System.CodeDom.CodeTypeDeclaration[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;CopyTo;(System.CodeDom.CodeTypeDeclaration[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeDeclaration);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;Remove;(System.CodeDom.CodeTypeDeclaration);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeDeclarationCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeDeclaration);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDelegate;false;CodeTypeDelegate;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeDelegate;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeDelegate;false;set_ReturnType;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMember;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeMember;false;get_EndDirectives;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeMember;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeMember;false;get_StartDirectives;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeMember;false;set_CustomAttributes;(System.CodeDom.CodeAttributeDeclarationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMember;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;Add;(System.CodeDom.CodeTypeMember);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;AddRange;(System.CodeDom.CodeTypeMemberCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;AddRange;(System.CodeDom.CodeTypeMember[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;CodeTypeMemberCollection;(System.CodeDom.CodeTypeMemberCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;CodeTypeMemberCollection;(System.CodeDom.CodeTypeMember[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;CopyTo;(System.CodeDom.CodeTypeMember[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeMember);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;Remove;(System.CodeDom.CodeTypeMember);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeMemberCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeMember);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeOfExpression;false;CodeTypeOfExpression;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeOfExpression;false;CodeTypeOfExpression;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeOfExpression;false;CodeTypeOfExpression;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeOfExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeOfExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameter;false;CodeTypeParameter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameter;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeParameter;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeParameter;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeParameter;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;Add;(System.CodeDom.CodeTypeParameter);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;AddRange;(System.CodeDom.CodeTypeParameterCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;AddRange;(System.CodeDom.CodeTypeParameter[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;CodeTypeParameterCollection;(System.CodeDom.CodeTypeParameterCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;CodeTypeParameterCollection;(System.CodeDom.CodeTypeParameter[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;CopyTo;(System.CodeDom.CodeTypeParameter[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeParameter);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;Remove;(System.CodeDom.CodeTypeParameter);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeParameterCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeParameter);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.String,System.CodeDom.CodeTypeReferenceOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.String,System.CodeDom.CodeTypeReference[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReference;false;CodeTypeReference;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReference;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeReference;false;get_TypeArguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeReference;false;set_BaseType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;Add;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;Add;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;AddRange;(System.CodeDom.CodeTypeReferenceCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;AddRange;(System.CodeDom.CodeTypeReference[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;CodeTypeReferenceCollection;(System.CodeDom.CodeTypeReferenceCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;CodeTypeReferenceCollection;(System.CodeDom.CodeTypeReference[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;CopyTo;(System.CodeDom.CodeTypeReference[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;Insert;(System.Int32,System.CodeDom.CodeTypeReference);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;Remove;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeReferenceCollection;false;set_Item;(System.Int32,System.CodeDom.CodeTypeReference);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceExpression;false;CodeTypeReferenceExpression;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceExpression;false;CodeTypeReferenceExpression;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceExpression;false;CodeTypeReferenceExpression;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeTypeReferenceExpression;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeTypeReferenceExpression;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.CodeDom.CodeTypeReference,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.String,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String,System.CodeDom.CodeExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;CodeVariableDeclarationStatement;(System.Type,System.String,System.CodeDom.CodeExpression);;Argument[1];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableDeclarationStatement;false;set_Type;(System.CodeDom.CodeTypeReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableReferenceExpression;false;CodeVariableReferenceExpression;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.CodeDom;CodeVariableReferenceExpression;false;get_VariableName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.CodeDom;CodeVariableReferenceExpression;false;set_VariableName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;Add;(T,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;ConcurrentBag<>;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentBag<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;ConcurrentBag<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentBag<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetOrAdd;(TKey,TValue);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentStack<>;false;ConcurrentStack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Concurrent;ConcurrentStack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentStack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections.Concurrent;ConcurrentStack<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;OrderablePartitioner<>;false;GetDynamicPartitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable,System.Collections.Concurrent.EnumerablePartitionerOptions);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IList,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Concurrent;Partitioner;false;Create<>;(TSource[],System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;AsReadOnly<>;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetDefaultAssets;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetDefaultGroup;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetDefaultRuntimeFileAssets;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetRuntimeAssets;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetRuntimeFileAssets;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetRuntimeGroup;(System.Collections.Generic.IEnumerable,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Generic;CollectionExtensions;false;Remove<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Entry;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+KeyCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;Dictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+ValueCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;Dictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Int32,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Generic;Dictionary<,>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections.Generic;Dictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Dictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;HashSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;HashSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections.Generic;HashSet<>;false;HashSet;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;HashSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;HashSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;KeyValuePair<,>;false;Deconstruct;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;KeyValuePair<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;KeyValuePair<,>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[0];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[0];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;Remove;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedList<>;false;get_First;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;get_Last;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;LinkedListNode<>;false;LinkedListNode;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;LinkedListNode<>;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedListNode<>;false;get_Next;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedListNode<>;false;get_Previous;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedListNode<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;LinkedListNode<>;false;set_Value;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;List<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;List<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections.Generic;List<>;false;List;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;List<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;NonRandomizedStringEqualityComparer;false;GetUnderlyingEqualityComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>+UnorderedItemsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>+UnorderedItemsCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>+UnorderedItemsCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;PriorityQueue<,>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;EnqueueDequeue;(TElement,TPriority);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;EnqueueDequeue;(TElement,TPriority);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;EnqueueRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;PriorityQueue;(System.Int32,System.Collections.Generic.IComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;TryDequeue;(TElement,TPriority);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;TryPeek;(TElement,TPriority);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;PriorityQueue<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Queue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Queue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Queue<>;false;Enqueue;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;Queue<>;false;Queue;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;Queue<>;false;TryDequeue;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Queue<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Queue<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedDictionary<,>+KeyValuePairComparer;false;KeyValuePairComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>+KeyList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>+ValueList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>;false;GetKeyAtIndex;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>;false;GetValueAtIndex;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>;false;SetValueAtIndex;(System.Int32,TValue);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedList<,>;false;TryGetValue;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedList<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;SortedSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedSet<>;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedSet<>;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedSet<>;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;SortedSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;SortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Generic;Stack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Stack<>;false;Push;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Generic;Stack<>;false;Stack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Generic;Stack<>;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Stack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Stack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Generic;Stack<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[3];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;Create<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray;false;ToImmutableArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;MoveToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;As<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;AsMemory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;CastArray<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;CastUp<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[1].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;OfType<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;GetValueOrDefault<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Immutable.ImmutableDictionary+Builder);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Immutable.ImmutableHashSet+Builder);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;WithComparer;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableHashSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableInterlocked;false;GetOrAdd<,>;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList;false;Remove<>;(System.Collections.Immutable.IImmutableList,T);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList;false;RemoveRange<>;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];Argument[0].Element;taint;generated", + "System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Immutable.ImmutableList+Builder);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>+Builder;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableQueue;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue;false;Dequeue<>;(System.Collections.Immutable.IImmutableQueue,T);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableQueue<>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T[]);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;CreateBuilder<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Immutable.ImmutableSortedSet+Builder);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Max;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Min;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;WithComparer;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;get_Max;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;get_Min;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableSortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Immutable;ImmutableStack;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack;false;Pop<>;(System.Collections.Immutable.IImmutableStack,T);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack<>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack<>;false;Pop;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack<>;false;Pop;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[0];ReturnValue;taint;generated", + "System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;Collection<>;false;Collection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;Collection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;Collection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;KeyedCollection<,>;false;KeyedCollection;(System.Collections.Generic.IEqualityComparer,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;KeyedCollection<,>;false;TryGetValue;(TKey,TItem);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;KeyedCollection<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;KeyedCollection<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;ReadOnlyCollection<>;false;ReadOnlyCollection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;HybridDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;ListDictionary;false;ListDictionary;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;ListDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllKeys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameObjectCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Specialized;NameObjectCollectionBase;true;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameValueCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Int32,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameValueCollection;false;Set;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NameValueCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NameValueCollection;false;set_Item;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32,System.Int32);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[2];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_NewItems;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_OldItems;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;OrderedDictionary;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Int32,System.Collections.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections.Specialized;OrderedDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections.Specialized;StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;StringDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections.Specialized;StringDictionary;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;StringDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections.Specialized;StringEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;ArrayList;false;Adapter;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;ArrayList;false;ArrayList;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections;ArrayList;false;CopyTo;(System.Array);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Collections;ArrayList;false;ReadOnly;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;ArrayList;false;ReadOnly;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;ArrayList;false;SetRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Collections;ArrayList;false;Synchronized;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;ArrayList;false;Synchronized;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;ArrayList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;And;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;LeftShift;(System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;Not;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;Or;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;RightShift;(System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;Xor;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;BitArray;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;CollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;CollectionBase;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;CollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Comparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryBase;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryBase;false;get_InnerHashtable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryBase;true;OnGet;(System.Object,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Collections;DictionaryEntry;false;Deconstruct;(System.Object,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections;DictionaryEntry;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;DictionaryEntry;false;set_Key;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;DictionaryEntry;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Hashtable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IEqualityComparer);;Argument[2];Argument[Qualifier];taint;generated", + "System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];taint;generated", + "System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[3];Argument[Qualifier];taint;generated", + "System.Collections;Hashtable;false;Synchronized;(System.Collections.Hashtable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;Hashtable;false;get_EqualityComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Hashtable;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;Hashtable;false;get_comparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Hashtable;false;get_hcp;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Hashtable;false;set_comparer;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;Hashtable;false;set_hcp;(System.Collections.IHashCodeProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;ListDictionaryInternal;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;ListDictionaryInternal;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;Queue;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Queue;false;Enqueue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;Queue;false;Queue;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections;Queue;false;Synchronized;(System.Collections.Queue);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;Queue;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;ReadOnlyCollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;ReadOnlyCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;SortedList;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;SortedList;false;GetKeyList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;SortedList;false;SetByIndex;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Collections;SortedList;false;SortedList;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;SortedList;false;Synchronized;(System.Collections.SortedList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;SortedList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Collections;Stack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Collections;Stack;false;Stack;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Collections;Stack;false;Synchronized;(System.Collections.Stack);;Argument[0].Element;ReturnValue;taint;generated", + "System.Collections;Stack;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Collections;Stack;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Hosting;AggregateCatalog;false;get_Catalogs;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;AggregateExportProvider;false;AggregateExportProvider;(System.ComponentModel.Composition.Hosting.ExportProvider[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AggregateExportProvider;false;GetExportsCore;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;AggregateExportProvider;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.Reflection.ReflectionContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ApplicationCatalog;false;ApplicationCatalog;(System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.Reflection.Assembly,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.Reflection.ReflectionContext);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;AssemblyCatalog;(System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;AssemblyCatalog;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;AtomicComposition;false;AtomicComposition;(System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;AtomicComposition;false;TryGetValue<>;(System.Object,System.Boolean,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;AtomicComposition;false;TryGetValue<>;(System.Object,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;CatalogExportProvider;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.CompositionOptions);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;GetExportsCore;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;get_Catalog;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;get_SourceProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CatalogExportProvider;false;set_SourceProvider;(System.ComponentModel.Composition.Hosting.ExportProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CatalogExtensions;false;CreateCompositionService;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog);;Argument[0].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;ComposablePartCatalogChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;ComposablePartCatalogChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;get_AddedDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartCatalogChangeEventArgs;false;get_RemovedDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartExportProvider;false;Compose;(System.ComponentModel.Composition.Hosting.CompositionBatch);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartExportProvider;false;get_SourceProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ComposablePartExportProvider;false;set_SourceProvider;(System.ComponentModel.Composition.Hosting.ExportProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;AddExport;(System.ComponentModel.Composition.Primitives.Export);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;AddPart;(System.ComponentModel.Composition.Primitives.ComposablePart);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;CompositionBatch;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;CompositionBatch;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;RemovePart;(System.ComponentModel.Composition.Primitives.ComposablePart);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;get_PartsToAdd;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionBatch;false;get_PartsToRemove;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionContainer;false;CompositionContainer;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.CompositionOptions,System.ComponentModel.Composition.Hosting.ExportProvider[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionContainer;false;CompositionContainer;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.ComponentModel.Composition.Hosting.CompositionOptions,System.ComponentModel.Composition.Hosting.ExportProvider[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionContainer;false;GetExportsCore;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionContainer;false;get_Catalog;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionContainer;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;CompositionScopeDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartCatalog,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;get_Children;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;CompositionScopeDefinition;false;get_PublicSurface;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext);;Argument[2];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;DirectoryCatalog;(System.String,System.String,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_FullPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_LoadedFiles;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;DirectoryCatalog;false;get_SearchPattern;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<,>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<,>;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExport<>;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;GetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportProvider;false;TryGetExports;(System.ComponentModel.Composition.Primitives.ImportDefinition,System.ComponentModel.Composition.Hosting.AtomicComposition,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;ExportsChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;ExportsChangeEventArgs;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Hosting.AtomicComposition);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;get_AddedExports;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;get_ChangedContractNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ExportsChangeEventArgs;false;get_RemovedExports;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;FilteredCatalog;false;get_Complement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Hosting;ImportEngine;false;ImportEngine;(System.ComponentModel.Composition.Hosting.ExportProvider,System.ComponentModel.Composition.Hosting.CompositionOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Hosting;TypeCatalog;false;TypeCatalog;(System.Collections.Generic.IEnumerable,System.Reflection.ReflectionContext,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ComposablePartCatalog;true;get_Parts;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ComposablePartException;false;ComposablePartException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ComposablePartException;false;ComposablePartException;(System.String,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ComposablePartException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.ComponentModel.Composition.Primitives;ComposablePartException;false;get_Element;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;ContractBasedImportDefinition;(System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;ContractBasedImportDefinition;(System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;get_Constraint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;get_RequiredMetadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ContractBasedImportDefinition;false;get_RequiredTypeIdentity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;Export;false;get_Definition;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;Export;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;Export;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ExportDefinition;false;ExportDefinition;(System.String,System.Collections.Generic.IDictionary);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ExportDefinition;false;ExportDefinition;(System.String,System.Collections.Generic.IDictionary);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ExportDefinition;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ExportDefinition;false;get_ContractName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ExportDefinition;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ExportedDelegate;false;ExportedDelegate;(System.Object,System.Reflection.MethodInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ExportedDelegate;false;ExportedDelegate;(System.Object,System.Reflection.MethodInfo);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ImportDefinition;false;ImportDefinition;(System.Linq.Expressions.Expression>,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ImportDefinition;false;ImportDefinition;(System.Linq.Expressions.Expression>,System.String,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.Collections.Generic.IDictionary);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Primitives;ImportDefinition;false;get_Constraint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ImportDefinition;false;get_ContractName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Primitives;ImportDefinition;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;LazyMemberInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;LazyMemberInfo;false;LazyMemberInfo;(System.Reflection.MemberInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.ReflectionModel;LazyMemberInfo;false;LazyMemberInfo;(System.Reflection.MemberTypes,System.Reflection.MemberInfo[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateExportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateExportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateExportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.ComponentModel.Composition.ReflectionModel.LazyMemberInfo,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.Boolean,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.Collections.Generic.IDictionary,System.Boolean,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreateImportDefinition;(System.Lazy,System.String,System.String,System.Collections.Generic.IEnumerable>,System.ComponentModel.Composition.Primitives.ImportCardinality,System.ComponentModel.Composition.CreationPolicy,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[3];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[4];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;CreatePartDefinition;(System.Lazy,System.Boolean,System.Lazy>,System.Lazy>,System.Lazy>,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[5];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetExportFactoryProductImportDefinition;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetExportingMember;(System.ComponentModel.Composition.Primitives.ExportDefinition);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetImportingMember;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetImportingParameter;(System.ComponentModel.Composition.Primitives.ImportDefinition);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;GetPartType;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.ReflectionModel;ReflectionModelServices;false;TryMakeGenericPartDefinition;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Collections.Generic.IEnumerable,System.ComponentModel.Composition.Primitives.ComposablePartDefinition);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;AddMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractType;(System.Type);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;AsContractType<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;ExportBuilder;false;Inherited;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AllowDefault;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AllowRecomposition;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractType;(System.Type);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsContractType<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;AsMany;(System.Boolean);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;RequiredCreationPolicy;(System.ComponentModel.Composition.CreationPolicy);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;ImportBuilder;false;Source;(System.ComponentModel.Composition.ImportSource);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;PartBuilder;false;AddMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;PartBuilder;false;Export;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder;false;Export<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder;false;ExportInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder;false;SetCreationPolicy;(System.ComponentModel.Composition.CreationPolicy);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ExportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ExportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ImportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder<>;false;ImportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;PartBuilder<>;false;SelectConstructor;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Composition.Registration;RegistrationBuilder;false;GetCustomAttributes;(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition.Registration;RegistrationBuilder;false;GetCustomAttributes;(System.Reflection.ParameterInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;AddPart;(System.ComponentModel.Composition.Hosting.CompositionBatch,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.ComponentModel.Composition.Primitives.ComposablePartDefinition,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePart;(System.Object,System.Reflection.ReflectionContext);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;CreatePartDefinition;(System.Type,System.ComponentModel.Composition.Primitives.ICompositionElement,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;GetContractName;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;GetMetadataView<>;(System.Collections.Generic.IDictionary);;Argument[0].Element;ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;GetTypeIdentity;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;GetTypeIdentity;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;SatisfyImportsOnce;(System.ComponentModel.Composition.ICompositionService,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel.Composition;AttributedModelServices;false;SatisfyImportsOnce;(System.ComponentModel.Composition.ICompositionService,System.Object,System.Reflection.ReflectionContext);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CatalogReflectionContextAttribute;false;CatalogReflectionContextAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Composition;ChangeRejectedException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionError;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionError;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionError;false;get_Element;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionError;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionException;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;CompositionException;false;get_RootCauses;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;ExportFactory<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Composition;ExportLifetimeContext<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;get_Schema;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;set_Schema;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;AssociatedMetadataTypeTypeDescriptionProvider;(System.Type,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;CompareAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateField;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateFilter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetOrder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Prompt;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ResourceType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ShortName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_GroupName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Prompt;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ShortName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayText;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayTextResourceType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayTextResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;get_Extensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;set_Extensions;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;FilterUIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;MaxLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;MetadataTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;get_MetadataClassType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;MinLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;RangeAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;RegularExpressionAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;StringLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;UIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessage;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;ValidationAttribute;true;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationContext;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationContext;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.DataAnnotations;ValidationContext;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;ValidationException;false;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.DataAnnotations;ValidationException;false;get_ValidationResult;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design.Serialization;ContextStack;false;Append;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Design.Serialization;ContextStack;false;Pop;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design.Serialization;ContextStack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Design.Serialization;ContextStack;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design.Serialization;DesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design.Serialization;RootDesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerCollection;false;DesignerCollection;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Design;DesignerCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerOptionService;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerVerb;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerVerb;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerVerb;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;DesignerVerb;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Design;DesignerVerbCollection;false;DesignerVerbCollection;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel.Design;DesignerVerbCollection;false;Remove;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel.Design;MenuCommand;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;ServiceContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel.Design;ServiceContainer;false;ServiceContainer;(System.IServiceProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;ArrayConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;AsyncOperation;false;get_SynchronizationContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;AttributeCollection;false;AttributeCollection;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.ComponentModel;AttributeCollection;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;AttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;AttributeCollection;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;AttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;CategoryAttribute;false;CategoryAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;CategoryAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;CharConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;CollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;Component;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;Component;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;Component;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;Component;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;ComponentCollection;false;ComponentCollection;(System.ComponentModel.IComponent[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;ComponentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ComponentCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String,System.Globalization.CultureInfo);;Argument[Qualifier];Argument[0];taint;generated", + "System.ComponentModel;Container;false;Add;(System.ComponentModel.IComponent,System.String);;Argument[1];Argument[0];taint;generated", + "System.ComponentModel;Container;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;Container;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;Container;false;get_Components;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ContainerFilterService;true;FilterComponents;(System.ComponentModel.ComponentCollection);;Argument[0].Element;ReturnValue;taint;generated", + "System.ComponentModel;CultureInfoConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;CultureInfoConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;CultureInfoConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;CustomTypeDescriptor;false;CustomTypeDescriptor;(System.ComponentModel.ICustomTypeDescriptor);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;CustomTypeDescriptor;true;GetAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;CustomTypeDescriptor;true;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;CustomTypeDescriptor;true;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;CustomTypeDescriptor;true;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;DecimalConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;DefaultValueAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;DefaultValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;DesignerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EditorAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;EventDescriptorCollection;(System.ComponentModel.EventDescriptor[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;EventHandlerList;false;AddHandlers;(System.ComponentModel.EventHandlerList);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;EventHandlerList;false;get_Item;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;GuidConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;LicFileLicenseProvider;false;GetKey;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;LicFileLicenseProvider;false;GetLicense;(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;LicenseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;LicenseProviderAttribute;false;get_LicenseProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;LicenseProviderAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ListSortDescriptionCollection;false;ListSortDescriptionCollection;(System.ComponentModel.ListSortDescription[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;ListSortDescriptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel;MarshalByValueComponent;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MarshalByValueComponent;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MarshalByValueComponent;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MarshalByValueComponent;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToDisplayString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MaskedTextProvider;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;false;GetInvokee;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;false;GetSite;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;MemberDescriptor;true;CreateAttributeCollection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.ComponentModel;MemberDescriptor;true;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;get_AttributeArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;MemberDescriptor;true;set_AttributeArray;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;MultilineStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;NestedContainer;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;NestedContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;value;generated", + "System.ComponentModel;NullableConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;NullableConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;ProgressChangedEventArgs;false;ProgressChangedEventArgs;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.ComponentModel;ProgressChangedEventArgs;false;get_UserState;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptor;false;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.ComponentModel;PropertyDescriptor;false;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptor;false;GetValueChangedHandler;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptor;true;get_Converter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.String,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.Type,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;PropertyTabAttribute;false;get_TabClasses;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ReferenceConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;ReferenceConverter;false;ReferenceConverter;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;RunWorkerCompletedEventArgs;false;RunWorkerCompletedEventArgs;(System.Object,System.Exception,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;RunWorkerCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;StringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;ToolboxItemFilterAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter+StandardValuesCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.ComponentModel;TypeConverter+StandardValuesCollection;false;StandardValuesCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;TypeConverter+StandardValuesCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertTo;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;ConvertToString;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;GetProperties;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;GetStandardValues;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeConverter;false;SortProperties;(System.ComponentModel.PropertyDescriptorCollection,System.String[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;false;TypeDescriptionProvider;(System.ComponentModel.TypeDescriptionProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetReflectionType;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetRuntimeType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Object,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Type,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;GetAssociation;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;GetProvider;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeDescriptor;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.ComponentModel;TypeListConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeListConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;TypeListConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ComponentModel;TypeListConverter;false;TypeListConverter;(System.Type[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ComponentModel;VersionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.ComponentModel;WarningException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.ComponentModel;Win32Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.ComponentModel;Win32Exception;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;ExportConventionBuilder;false;AddMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;ExportConventionBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Convention;ExportConventionBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;ExportConventionBuilder;false;AsContractType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Convention;ExportConventionBuilder;false;AsContractType;(System.Type);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;ExportConventionBuilder;false;AsContractType<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;ImportConventionBuilder;false;AddMetadataConstraint;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;ImportConventionBuilder;false;AllowDefault;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;ImportConventionBuilder;false;AsContractName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Convention;ImportConventionBuilder;false;AsContractName;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;ImportConventionBuilder;false;AsMany;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;ImportConventionBuilder;false;AsMany;(System.Boolean);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;PartConventionBuilder;false;AddPartMetadata;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;PartConventionBuilder;false;Export;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;PartConventionBuilder;false;Export<>;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;PartConventionBuilder;false;ExportInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder;false;Shared;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder;false;Shared;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Convention;PartConventionBuilder;false;Shared;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder;false;Shared;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder<>;false;ExportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder<>;false;ExportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder<>;false;ImportProperty;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder<>;false;ImportProperty<>;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Convention;PartConventionBuilder<>;false;NotifyImportsSatisfied;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Convention;PartConventionBuilder<>;false;SelectConstructor;(System.Linq.Expressions.Expression>);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Hosting.Core;CompositionContract;false;ChangeType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;ChangeType;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;CompositionContract;(System.Type,System.String,System.Collections.Generic.IDictionary);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;CompositionContract;(System.Type,System.String,System.Collections.Generic.IDictionary);;Argument[1];Argument[Qualifier];taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;CompositionContract;(System.Type,System.String,System.Collections.Generic.IDictionary);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;TryUnwrapMetadataConstraint<>;(System.String,T,System.Composition.Hosting.Core.CompositionContract);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;get_ContractName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;get_ContractType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionContract;false;get_MetadataConstraints;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Missing;(System.Composition.Hosting.Core.CompositionContract,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Missing;(System.Composition.Hosting.Core.CompositionContract,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Oversupplied;(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Oversupplied;(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable,System.Object);;Argument[1].Element;ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Oversupplied;(System.Composition.Hosting.Core.CompositionContract,System.Collections.Generic.IEnumerable,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Satisfied;(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,System.Boolean,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Satisfied;(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,System.Boolean,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;Satisfied;(System.Composition.Hosting.Core.CompositionContract,System.Composition.Hosting.Core.ExportDescriptorPromise,System.Boolean,System.Object);;Argument[3];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;get_Contract;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;CompositionDependency;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveDependencies;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveDependencies;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveRequiredDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;DependencyAccessor;false;ResolveRequiredDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;DependencyAccessor;false;TryResolveOptionalDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean,System.Composition.Hosting.Core.CompositionDependency);;Argument[0];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;DependencyAccessor;false;TryResolveOptionalDependency;(System.Object,System.Composition.Hosting.Core.CompositionContract,System.Boolean,System.Composition.Hosting.Core.CompositionDependency);;Argument[1];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;ExportDescriptorPromise;false;GetDescriptor;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;ExportDescriptorPromise;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;ExportDescriptorPromise;false;get_Contract;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;ExportDescriptorPromise;false;get_Dependencies;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;ExportDescriptorPromise;false;get_Origin;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;LifetimeContext;false;AddBoundInstance;(System.IDisposable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Hosting.Core;LifetimeContext;false;FindContextWithin;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting.Core;LifetimeContext;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithAssemblies;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithAssemblies;(System.Collections.Generic.IEnumerable,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithAssembly;(System.Reflection.Assembly);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithAssembly;(System.Reflection.Assembly,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithDefaultConventions;(System.Composition.Convention.AttributedModelProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithDefaultConventions;(System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithPart;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithPart;(System.Type,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithPart<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithPart<>;(System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithParts;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithParts;(System.Collections.Generic.IEnumerable,System.Composition.Convention.AttributedModelProvider);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithParts;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithProvider;(System.Composition.Hosting.Core.ExportDescriptorProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.Composition.Hosting;ContainerConfiguration;false;WithProvider;(System.Composition.Hosting.Core.ExportDescriptorProvider);;Argument[Qualifier];ReturnValue;value;generated", + "System.Composition;SharingBoundaryAttribute;false;SharingBoundaryAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Composition;SharingBoundaryAttribute;false;get_SharingBoundaryNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;GetConfigTypeName;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;GetStreamNameForConfigSource;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;GetStreamNameForConfigSource;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;InitForConfiguration;(System.String,System.String,System.String,System.Configuration.Internal.IInternalConfigRoot,System.Object[]);;Argument[4].Element;ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Configuration.Internal;DelegatingConfigHost;false;OpenStreamForWrite;(System.String,System.String,System.Object,System.Boolean);;Argument[2];ReturnValue;taint;generated", + "System.Configuration.Provider;ProviderBase;true;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration.Provider;ProviderBase;true;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Configuration.Provider;ProviderBase;true;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration.Provider;ProviderBase;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration.Provider;ProviderCollection;false;CopyTo;(System.Configuration.Provider.ProviderBase[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Configuration.Provider;ProviderCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration.Provider;ProviderCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Configuration;AppSettingsReader;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;AppSettingsSection;false;DeserializeElement;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;AppSettingsSection;false;GetRuntimeObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;AppSettingsSection;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;AppSettingsSection;false;get_File;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;AppSettingsSection;false;get_Settings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;ApplicationSettingsBase;(System.ComponentModel.IComponent,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ApplicationSettingsBase;false;ApplicationSettingsBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ApplicationSettingsBase;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;get_PropertyValues;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;get_SettingsKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ApplicationSettingsBase;false;set_SettingsKey;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;CallbackValidatorAttribute;false;get_CallbackMethodName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CallbackValidatorAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CallbackValidatorAttribute;false;get_ValidatorInstance;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CallbackValidatorAttribute;false;set_CallbackMethodName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;CallbackValidatorAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ClientSettingsSection;false;get_Settings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;CommaDelimitedStringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Configuration;CommaDelimitedStringCollectionConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;CommaDelimitedStringCollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateCDataSection;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateComment;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateSignificantWhitespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateTextNode;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;CreateWhitespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigXmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigXmlDocument;false;LoadSingleElement;(System.String,System.Xml.XmlTextReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigXmlDocument;false;get_Filename;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;GetSectionGroup;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_AssemblyStringTransformer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_EvaluationContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_Locations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_RootSectionGroup;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_SectionGroups;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_Sections;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;Configuration;false;get_TypeStringTransformer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationCollectionAttribute;false;get_AddItemName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationCollectionAttribute;false;get_ClearItemsName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationCollectionAttribute;false;get_RemoveItemName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationCollectionAttribute;false;set_AddItemName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationCollectionAttribute;false;set_ClearItemsName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationCollectionAttribute;false;set_RemoveItemName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElement;false;get_ElementInformation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;false;get_EvaluationContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;false;get_LockAllAttributesExcept;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;false;get_LockAllElementsExcept;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;false;get_LockAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;false;get_LockElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;true;DeserializeElement;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElement;true;GetTransformedAssemblyString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;true;GetTransformedTypeString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElement;true;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElement;true;SerializeElement;(System.Xml.XmlWriter,System.Boolean);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationElement;true;SerializeToXmlElement;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationElement;true;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElement;true;get_ElementProperty;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElementCollection;false;BaseAdd;(System.Configuration.ConfigurationElement,System.Boolean);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;ConfigurationElementCollection;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;CopyTo;(System.Configuration.ConfigurationElement[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Configuration;ConfigurationElementCollection;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;SerializeElement;(System.Xml.XmlWriter,System.Boolean);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;get_AddElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElementCollection;false;get_ClearElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElementCollection;false;get_RemoveElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationElementCollection;false;set_AddElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;set_ClearElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElementCollection;false;set_RemoveElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationElementCollection;true;BaseAdd;(System.Configuration.ConfigurationElement);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationElementCollection;true;BaseAdd;(System.Int32,System.Configuration.ConfigurationElement);;Argument[Qualifier];Argument[1];taint;generated", + "System.Configuration;ConfigurationErrorsException;false;ConfigurationErrorsException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationErrorsException;false;ConfigurationErrorsException;(System.String,System.Exception,System.String,System.Int32);;Argument[2];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationErrorsException;false;GetFilename;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Configuration;ConfigurationErrorsException;false;GetFilename;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationErrorsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationErrorsException;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationErrorsException;false;get_Filename;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationErrorsException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationException;false;ConfigurationException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationException;false;ConfigurationException;(System.String,System.Exception,System.String,System.Int32);;Argument[2];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConfigurationException;false;GetXmlNodeFilename;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Configuration;ConfigurationException;false;get_BareMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationException;false;get_Filename;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationFileMap;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationLocation;false;OpenConfiguration;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationLocationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationLockCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationLockCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Configuration;ConfigurationLockCollection;false;SetFromList;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationLockCollection;false;get_AttributeList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationLockCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Configuration;ConfigurationManager;false;OpenExeConfiguration;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationManager;false;OpenMappedExeConfiguration;(System.Configuration.ExeConfigurationFileMap,System.Configuration.ConfigurationUserLevel);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationManager;false;OpenMappedExeConfiguration;(System.Configuration.ExeConfigurationFileMap,System.Configuration.ConfigurationUserLevel,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationManager;false;OpenMappedMachineConfiguration;(System.Configuration.ConfigurationFileMap);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConfigurationProperty;false;ConfigurationProperty;(System.String,System.Type,System.Object,System.ComponentModel.TypeConverter,System.Configuration.ConfigurationValidatorBase,System.Configuration.ConfigurationPropertyOptions,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationProperty;false;get_Converter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationPropertyCollection;false;Add;(System.Configuration.ConfigurationProperty);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationPropertyCollection;false;CopyTo;(System.Configuration.ConfigurationProperty[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Configuration;ConfigurationPropertyCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationPropertyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSection;true;DeserializeSection;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationSection;true;GetRuntimeObject;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Configuration;ConfigurationSectionCollection;false;Add;(System.String,System.Configuration.ConfigurationSection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationSectionCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroup;false;get_SectionGroups;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroup;false;get_Sections;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroup;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroup;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;Add;(System.String,System.Configuration.ConfigurationSectionGroup);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;Add;(System.String,System.Configuration.ConfigurationSectionGroup);;Argument[Qualifier];Argument[1];taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;CopyTo;(System.Configuration.ConfigurationSectionGroup[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConfigurationSectionGroupCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConnectionStringSettings;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConnectionStringSettings;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConnectionStringSettings;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConnectionStringSettings;false;get_ProviderName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ConnectionStringSettingsCollection;false;Add;(System.Configuration.ConnectionStringSettings);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ConnectionStringSettingsCollection;false;BaseAdd;(System.Int32,System.Configuration.ConfigurationElement);;Argument[Qualifier];Argument[1];taint;generated", + "System.Configuration;ConnectionStringSettingsCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ConnectionStringSettingsCollection;false;set_Item;(System.Int32,System.Configuration.ConnectionStringSettings);;Argument[Qualifier];Argument[1];taint;generated", + "System.Configuration;ConnectionStringsSection;false;GetRuntimeObject;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Configuration;ConnectionStringsSection;false;get_ConnectionStrings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ContextInformation;false;get_HostingContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;DefaultSection;false;DeserializeSection;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;DefaultSection;false;SerializeSection;(System.Configuration.ConfigurationElement,System.String,System.Configuration.ConfigurationSaveMode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;DefaultSettingValueAttribute;false;DefaultSettingValueAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;DefaultSettingValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;DpapiProtectedConfigurationProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;DpapiProtectedConfigurationProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Configuration;ElementInformation;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ElementInformation;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;GenericEnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;GenericEnumConverter;false;GenericEnumConverter;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;IdnElement;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;IgnoreSection;false;DeserializeSection;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;IgnoreSection;false;SerializeSection;(System.Configuration.ConfigurationElement,System.String,System.Configuration.ConfigurationSaveMode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;InfiniteTimeSpanConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;InfiniteTimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;IriParsingElement;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;KeyValueConfigurationCollection;false;Add;(System.Configuration.KeyValueConfigurationElement);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;KeyValueConfigurationCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;KeyValueConfigurationElement;false;KeyValueConfigurationElement;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;KeyValueConfigurationElement;false;KeyValueConfigurationElement;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Configuration;KeyValueConfigurationElement;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;KeyValueConfigurationElement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;LocalFileSettingsProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;LocalFileSettingsProvider;false;Initialize;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Configuration;LocalFileSettingsProvider;false;get_ApplicationName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;LocalFileSettingsProvider;false;set_ApplicationName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;NameValueConfigurationCollection;false;Add;(System.Configuration.NameValueConfigurationElement);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;NameValueConfigurationCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;NameValueConfigurationCollection;false;set_Item;(System.String,System.Configuration.NameValueConfigurationElement);;Argument[Qualifier];Argument[1];taint;generated", + "System.Configuration;NameValueConfigurationElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;NameValueConfigurationElement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;NameValueFileSectionHandler;false;Create;(System.Object,System.Object,System.Xml.XmlNode);;Argument[2].Element;ReturnValue;taint;generated", + "System.Configuration;NameValueSectionHandler;false;Create;(System.Object,System.Object,System.Xml.XmlNode);;Argument[2].Element;ReturnValue;taint;generated", + "System.Configuration;PropertyInformation;false;get_Converter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;PropertyInformation;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;PropertyInformationCollection;false;CopyTo;(System.Configuration.PropertyInformation[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Configuration;PropertyInformationCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProtectedConfigurationProviderCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProtectedConfigurationSection;false;get_DefaultProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProtectedConfigurationSection;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProtectedProviderSettings;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProtectedProviderSettings;false;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProviderSettings;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ProviderSettings;false;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;ProviderSettings;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProviderSettings;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProviderSettings;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProviderSettings;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;ProviderSettingsCollection;false;Add;(System.Configuration.ProviderSettings);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;ProviderSettingsCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;ProviderSettingsCollection;false;set_Item;(System.Int32,System.Configuration.ProviderSettings);;Argument[Qualifier];Argument[1];taint;generated", + "System.Configuration;RegexStringValidator;false;RegexStringValidator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SchemeSettingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SchemeSettingElementCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;SectionInformation;false;get_ConfigSource;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SectionInformation;false;get_ProtectionProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SectionInformation;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SectionInformation;false;set_ConfigSource;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SectionInformation;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Configuration;SettingChangingEventArgs;false;SettingChangingEventArgs;(System.String,System.String,System.String,System.Object,System.Boolean);;Argument[3];Argument[Qualifier];taint;generated", + "System.Configuration;SettingChangingEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingChangingEventArgs;false;get_SettingClass;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingChangingEventArgs;false;get_SettingKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingChangingEventArgs;false;get_SettingName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingElement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingElementCollection;false;Add;(System.Configuration.SettingElement);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;SettingElementCollection;false;GetElementKey;(System.Configuration.ConfigurationElement);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;SettingValueElement;false;Reset;(System.Configuration.ConfigurationElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingValueElement;false;SerializeToXmlElement;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.Configuration;SettingValueElement;false;Unmerge;(System.Configuration.ConfigurationElement,System.Configuration.ConfigurationElement,System.Configuration.ConfigurationSaveMode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingValueElement;false;get_ValueXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingValueElement;false;set_ValueXml;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Configuration;SettingsBase;false;Initialize;(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection,System.Configuration.SettingsProviderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Configuration;SettingsBase;false;Initialize;(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection,System.Configuration.SettingsProviderCollection);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Configuration;SettingsBase;false;Initialize;(System.Configuration.SettingsContext,System.Configuration.SettingsPropertyCollection,System.Configuration.SettingsProviderCollection);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Configuration;SettingsBase;false;Synchronized;(System.Configuration.SettingsBase);;Argument[0];ReturnValue;taint;generated", + "System.Configuration;SettingsBase;true;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsBase;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsBase;true;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsBase;true;get_PropertyValues;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsBase;true;get_Providers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsDescriptionAttribute;false;SettingsDescriptionAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsDescriptionAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsGroupDescriptionAttribute;false;SettingsGroupDescriptionAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsGroupDescriptionAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsGroupNameAttribute;false;SettingsGroupNameAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsGroupNameAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsLoadedEventArgs;false;SettingsLoadedEventArgs;(System.Configuration.SettingsProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsLoadedEventArgs;false;get_Provider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsPropertyCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsPropertyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Configuration;SettingsPropertyValue;false;get_PropertyValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsPropertyValue;false;get_SerializedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsPropertyValue;false;set_PropertyValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsPropertyValue;false;set_SerializedValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsPropertyValueCollection;false;Add;(System.Configuration.SettingsPropertyValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsPropertyValueCollection;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsPropertyValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsPropertyValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Configuration;SettingsProviderAttribute;false;SettingsProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsProviderAttribute;false;SettingsProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;SettingsProviderAttribute;false;get_ProviderTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;SettingsProviderCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;StringValidator;false;StringValidator;(System.Int32,System.Int32,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Configuration;SubclassTypeValidator;false;SubclassTypeValidator;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;TimeSpanValidator;false;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.Configuration;TimeSpanValidator;false;TimeSpanValidator;(System.TimeSpan,System.TimeSpan,System.Boolean,System.Int64);;Argument[1];Argument[Qualifier];taint;generated", + "System.Configuration;TypeNameConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;UriSection;false;get_Idn;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;UriSection;false;get_IriParsing;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;UriSection;false;get_SchemeSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Configuration;WhiteSpaceTrimStringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Configuration;WhiteSpaceTrimStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Data.Common;DataAdapter;false;get_TableMappings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.String,System.String,System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;get_DataSetColumn;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMapping;false;set_DataSetColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataColumnMapping;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;GetByDataSetColumn;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;GetDataColumn;(System.Data.Common.DataColumnMappingCollection,System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[3];ReturnValue;taint;generated", + "System.Data.Common;DataColumnMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data.Common;DataTableMapping;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;GetDataColumn;(System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;get_ColumnMappings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;get_DataSetTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;get_SourceTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMapping;false;set_DataSetTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMapping;false;set_SourceTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;GetByDataSetTable;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[2];ReturnValue;taint;generated", + "System.Data.Common;DataTableMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data.Common;DbCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommand;false;set_Connection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommand;false;set_Connection;(System.Data.IDbConnection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommand;false;set_Transaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommand;false;set_Transaction;(System.Data.IDbTransaction);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommand;true;PrepareAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;RowUpdatingHandler;(System.Data.Common.RowUpdatingEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data.Common;DbCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;false;set_DataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommandBuilder;true;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;true;get_CatalogSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;true;get_QuotePrefix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;true;get_QuoteSuffix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;true;get_SchemaSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbCommandBuilder;true;set_CatalogSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommandBuilder;true;set_QuotePrefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommandBuilder;true;set_QuoteSuffix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbCommandBuilder;true;set_SchemaSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbConnection;true;ChangeDatabaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DbConnection;true;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[1];Argument[0];taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[2];Argument[0];taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[1];Argument[0];taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[2];Argument[0];taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated", + "System.Data.Common;DbConnectionStringBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbConnectionStringBuilder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;false;DbDataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;taint;generated", + "System.Data.Common;DbDataReader;true;GetFieldValue<>;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataReader;true;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataReader;true;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data.Common;DbDataReader;true;GetTextReader;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbDataRecord;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated", + "System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;DbEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;DbTransaction;true;CommitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbTransaction;true;ReleaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DbTransaction;true;RollbackAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;DbTransaction;true;RollbackAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Data.Common;DbTransaction;true;SaveAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatedEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;set_Command;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Common;RowUpdatingEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;ExecuteDbDataReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;OdbcCommand;(System.String,System.Data.Odbc.OdbcConnection,System.Data.Odbc.OdbcTransaction);;Argument[2];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_CommandText;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_DbConnection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_DbParameterCollection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_DbTransaction;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommand;false;set_CommandText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;set_Connection;(System.Data.Odbc.OdbcConnection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;set_DbConnection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;set_DbTransaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommand;false;set_Transaction;(System.Data.Odbc.OdbcTransaction);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetParameterName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;OdbcCommandBuilder;(System.Data.Odbc.OdbcDataAdapter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;QuoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;UnquoteIdentifier;(System.String,System.Data.Odbc.OdbcConnection);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcCommandBuilder;false;set_DataAdapter;(System.Data.Odbc.OdbcDataAdapter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcConnection;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnection;false;CreateDbCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnection;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;get_Driver;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;get_Dsn;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;set_Driver;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;set_Dsn;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.Data.Odbc.OdbcConnection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.Data.Odbc.OdbcConnection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;OdbcDataAdapter;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_DeleteCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_InsertCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_SelectCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataAdapter;false;set_UpdateCommand;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetDate;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetTime;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;GetValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcDataReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcError;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcError;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcError;false;get_SQLState;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcError;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcErrorCollection;false;CopyTo;(System.Data.Odbc.OdbcError[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data.Odbc;OdbcErrorCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcErrorCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data.Odbc;OdbcException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data.Odbc;OdbcException;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcException;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcInfoMessageEventArgs;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcInfoMessageEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcInfoMessageEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameter;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object);;Argument[7];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Boolean,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Object);;Argument[9];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object);;Argument[6];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.Data.ParameterDirection,System.Byte,System.Byte,System.String,System.Data.DataRowVersion,System.Boolean,System.Object);;Argument[9];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;OdbcParameter;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameter;false;get_ParameterName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameter;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameter;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameter;false;set_ParameterName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameter;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.Data.Odbc.OdbcParameter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.Data.Odbc.OdbcParameter);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Data.Odbc.OdbcType,System.Int32,System.String);;Argument[3];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Add;(System.String,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;AddRange;(System.Data.Odbc.OdbcParameter[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;AddWithValue;(System.String,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;CopyTo;(System.Data.Odbc.OdbcParameter[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;GetParameter;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;GetParameter;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;Insert;(System.Int32,System.Data.Odbc.OdbcParameter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;SetParameter;(System.Int32,System.Data.Common.DbParameter);;Argument[Qualifier];Argument[1];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;SetParameter;(System.String,System.Data.Common.DbParameter);;Argument[Qualifier];Argument[1];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;set_Item;(System.Int32,System.Data.Odbc.OdbcParameter);;Argument[Qualifier];Argument[1];taint;generated", + "System.Data.Odbc;OdbcParameterCollection;false;set_Item;(System.String,System.Data.Odbc.OdbcParameter);;Argument[Qualifier];Argument[1];taint;generated", + "System.Data.Odbc;OdbcRowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcRowUpdatingEventArgs;false;set_Command;(System.Data.Odbc.OdbcCommand);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.Odbc;OdbcTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.Odbc;OdbcTransaction;false;get_DbConnection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlBinary;false;SqlBinary;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBinary;false;op_Addition;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[1].Element;taint;generated", + "System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlBytes;false;Write;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlBytes;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data.SqlTypes;SqlBytes;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBytes;false;get_Stream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlBytes;false;set_Stream;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlChars;false;SqlChars;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlChars;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data.SqlTypes;SqlChars;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;Abs;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;AdjustScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;Ceiling;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;ConvertToPrecScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlDecimal;false;op_UnaryNegation;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;GetNonUnicodeBytes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;GetUnicodeBytes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlString;false;SqlString;(System.Int32,System.Data.SqlTypes.SqlCompareOptions,System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlString;false;SqlString;(System.String,System.Int32,System.Data.SqlTypes.SqlCompareOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data.SqlTypes;SqlString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlString;false;op_Addition;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated", + "System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;Constraint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;Constraint;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;Constraint;true;get_ConstraintName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;Constraint;true;get__DataSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;Constraint;true;set_ConstraintName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];ReturnValue;taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];ReturnValue;taint;generated", + "System.Data;ConstraintCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;ConstraintCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;ConstraintCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Data;DBConcurrencyException;false;DBConcurrencyException;(System.String,System.Exception,System.Data.DataRow[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Data;DBConcurrencyException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data;DBConcurrencyException;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DBConcurrencyException;false;set_Row;(System.Data.DataRow);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[2];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_Caption;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_ColumnName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumn;false;set_Caption;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;set_ColumnName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;set_DataType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;set_DefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;set_Expression;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumn;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataColumnChangeEventArgs;false;DataColumnChangeEventArgs;(System.Data.DataRow,System.Data.DataColumn,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataColumnChangeEventArgs;false;get_Column;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumnCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumnCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataColumnCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetDateTime;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetFieldValue<>;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetGuid;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetProviderSpecificValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetString;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetTextReader;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataReaderExtensions;false;GetValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[5].Element;Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[6].Element;Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4].Element;Argument[Qualifier];taint;generated", + "System.Data;DataRelation;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_ChildColumns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_ChildKeyConstraint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_ParentColumns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_ParentKeyConstraint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;get_RelationName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRelation;false;set_RelationName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelationCollection;false;Remove;(System.Data.DataRelation);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataRow;false;DataRow;(System.Data.DataRowBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetChildRows;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetChildRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetParentRows;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;GetParentRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;SetNull;(System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRow;false;SetParentRow;(System.Data.DataRow,System.Data.DataRelation);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataRow;false;get_Item;(System.Data.DataColumn);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_Item;(System.Data.DataColumn,System.Data.DataRowVersion);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_Item;(System.Int32,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_Item;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_ItemArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_RowError;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRow;false;set_Item;(System.Data.DataColumn,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRow;false;set_RowError;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataRowCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowExtensions;false;SetField<>;(System.Data.DataRow,System.Data.DataColumn,T);;Argument[1];Argument[0];taint;generated", + "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;CreateChildView;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;CreateChildView;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated", + "System.Data;DataRowView;false;get_DataView;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataRowView;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;CreateDataReader;(System.Data.DataTable[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Data;DataSet;false;DataSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataSet;false;DataSet;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataSet;false;GetChanges;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;GetList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data;DataSet;false;get_DataSetName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_DefaultViewManager;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_Locale;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_Relations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;get_Tables;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataSet;false;set_DataSetName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataSet;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataSet;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataSet;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataSet;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;DataTable;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;DataTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;DataTable;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;GetChanges;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;GetErrors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;GetList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Data.LoadOption);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;NewRow;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;NewRowArray;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;NewRowFromBuilder;(System.Data.DataRowBuilder);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataTable;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_ChildRelations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_DefaultView;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_DisplayExpression;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Locale;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_ParentRelations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Rows;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;get_TableName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTable;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;set_PrimaryKey;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTable;false;set_TableName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Data;DataTableCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableCollection;false;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableExtensions;false;AsEnumerable;(System.Data.DataTable);;Argument[0];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Data;DataTableReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataTableReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;AddNew;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[2];Argument[Qualifier];taint;generated", + "System.Data;DataView;false;FindRows;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;FindRows;(System.Object[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;GetItemProperties;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;ToTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;ToTable;(System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;ToTable;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;ToTable;(System.String,System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;get_Sort;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data;DataView;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataView;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataView;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataView;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataView;false;set_Table;(System.Data.DataTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataViewManager;false;CreateDataView;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewManager;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewManager;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewManager;false;get_DataViewSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewManager;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data;DataViewManager;false;set_DataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataViewSetting;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSetting;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSetting;false;get_Sort;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSetting;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSetting;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataViewSetting;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;DataViewSettingCollection;false;get_Item;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSettingCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSettingCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;DataViewSettingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[0];Argument[1];taint;generated", + "System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];taint;generated", + "System.Data;DataViewSettingCollection;false;set_Item;(System.Int32,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];taint;generated", + "System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Data;FillErrorEventArgs;false;get_DataTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;FillErrorEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;FillErrorEventArgs;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;FillErrorEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[4].Element;Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Data;ForeignKeyConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;ForeignKeyConstraint;false;get_RelatedColumns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;InternalDataCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Data;TypedTableBase<>;false;Cast<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Data;UniqueConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractClassAttribute;false;ContractClassAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractClassAttribute;false;get_TypeContainingContracts;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractClassForAttribute;false;ContractClassForAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractClassForAttribute;false;get_TypeContractsAreFor;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractException;false;ContractException;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractException;false;ContractException;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Diagnostics.Contracts;ContractException;false;get_Condition;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractException;false;get_Failure;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractException;false;get_UserMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Condition;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_OriginalException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Setting;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;ContractPublicPropertyNameAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Metrics;Measurement<>;false;Measurement;(T,System.Collections.Generic.KeyValuePair[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayUnits;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayUnits;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics.Tracing;EventListener;false;DisableEvents;(System.Diagnostics.Tracing.EventSource);;Argument[Qualifier];Argument[0];taint;generated", + "System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);;Argument[Qualifier];Argument[0];taint;generated", + "System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);;Argument[Qualifier];Argument[0];taint;generated", + "System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);;Argument[Qualifier];Argument[0];taint;generated", + "System.Diagnostics.Tracing;EventSource;false;EventSource;(System.Diagnostics.Tracing.EventSourceSettings,System.String[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;GetName;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;GetTrait;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;get_ConstructionException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;get_Guid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventSource;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_ActivityId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_EventName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_PayloadNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_RelatedActivityId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;AddBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;AddEvent;(System.Diagnostics.ActivityEvent);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;AddTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;AddTag;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;SetBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetEndTime;(System.DateTime);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetIdFormat;(System.Diagnostics.ActivityIdFormat);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetStartTime;(System.DateTime);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetStatus;(System.Diagnostics.ActivityStatusCode,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics;Activity;false;SetStatus;(System.Diagnostics.ActivityStatusCode,System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;SetTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;Start;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;Activity;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_Links;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_ParentId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_ParentSpanId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_RootId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_SpanId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_TagObjects;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_TraceId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;get_TraceStateString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Activity;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;Activity;false;set_TraceStateString;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ActivityCreationOptions<>;false;get_SamplingTags;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ActivitySource;false;CreateActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.Diagnostics.ActivityIdFormat);;Argument[2];ReturnValue;taint;generated", + "System.Diagnostics;ActivitySource;false;StartActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.DateTimeOffset);;Argument[2];ReturnValue;taint;generated", + "System.Diagnostics;ActivitySpanId;false;ToHexString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ActivitySpanId;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ActivityTagsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ActivityTagsCollection;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ActivityTraceId;false;ToHexString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ActivityTraceId;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;CorrelationManager;false;get_LogicalOperationStack;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DataReceivedEventArgs;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DebuggerDisplayAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DebuggerDisplayAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;DebuggerTypeProxyAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DebuggerTypeProxyAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;DebuggerVisualizerAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DebuggerVisualizerAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;DefaultTraceListener;false;get_LogFileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DefaultTraceListener;false;set_LogFileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;DelimitedListTraceListener;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DelimitedListTraceListener;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;DiagnosticSource;false;StartActivity;(System.Diagnostics.Activity,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;GetVersionInfo;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_Comments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_CompanyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_FileDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_FileVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_InternalName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_Language;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_LegalCopyright;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_LegalTrademarks;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_OriginalFilename;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_PrivateBuild;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_ProductName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_ProductVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;FileVersionInfo;false;get_SpecialBuild;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;GetProcessById;(System.Int32,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;GetProcesses;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;Start;(System.Diagnostics.ProcessStartInfo);;Argument[0];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_ExitTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_MachineName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_MainModule;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_MaxWorkingSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_MinWorkingSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_Modules;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_ProcessorAffinity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_StandardError;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_StandardInput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_StandardOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_StartInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_StartTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;get_Threads;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Process;false;set_ProcessorAffinity;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;Process;false;set_StartInfo;(System.Diagnostics.ProcessStartInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessModule;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessModule;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessModule;false;get_ModuleName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessModuleCollection;false;ProcessModuleCollection;(System.Diagnostics.ProcessModule[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessModuleCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_Environment;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_EnvironmentVariables;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_Verb;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;get_WorkingDirectory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessStartInfo;false;set_Arguments;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;set_Verb;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessStartInfo;false;set_WorkingDirectory;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessThread;false;get_StartAddress;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;ProcessThreadCollection;false;Insert;(System.Int32,System.Diagnostics.ProcessThread);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessThreadCollection;false;ProcessThreadCollection;(System.Diagnostics.ProcessThread[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Diagnostics;ProcessThreadCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;SourceFilter;false;SourceFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;SourceFilter;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;SourceFilter;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;StackFrame;false;GetFileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;StackFrame;false;GetMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;StackFrame;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;StackTrace;false;GetFrame;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;StackTrace;false;StackTrace;(System.Diagnostics.StackFrame);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;StackTrace;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Diagnostics;Switch;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Switch;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Switch;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Switch;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;Switch;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Diagnostics;SwitchAttribute;false;get_SwitchName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;SwitchAttribute;false;get_SwitchType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;SwitchAttribute;false;set_SwitchName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;SwitchAttribute;false;set_SwitchType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;SwitchLevelAttribute;false;SwitchLevelAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;SwitchLevelAttribute;false;get_SwitchLevelType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;SwitchLevelAttribute;false;set_SwitchLevelType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TagList+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TagList;false;TagList;(System.ReadOnlySpan>);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TextWriterTraceListener;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TextWriterTraceListener;false;set_Writer;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TraceEventCache;false;get_Callstack;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceEventCache;false;get_DateTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceListener;false;TraceListener;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TraceListener;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceListener;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceListener;false;set_Filter;(System.Diagnostics.TraceFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TraceListener;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceListener;true;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TraceListenerCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Diagnostics;TraceSource;false;TraceSource;(System.String,System.Diagnostics.SourceLevels);;Argument[0];Argument[Qualifier];taint;generated", + "System.Diagnostics;TraceSource;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceSource;false;get_Listeners;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceSource;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceSource;false;get_Switch;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirSyncRequestControl;false;DirSyncRequestControl;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirSyncRequestControl;false;set_Cookie;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Add;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;AddRange;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;CopyTo;(System.Object[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;DirectoryAttribute;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;DirectoryAttribute;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;GetValues;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Insert;(System.Int32,System.Uri);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;Add;(System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttributeCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;CopyTo;(System.DirectoryServices.Protocols.DirectoryAttribute[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;Insert;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;Remove;(System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeCollection;false;set_Item;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttribute);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;Add;(System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttributeModificationCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryAttributeModification[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;CopyTo;(System.DirectoryServices.Protocols.DirectoryAttributeModification[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;Insert;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;Remove;(System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryAttributeModificationCollection;false;set_Item;(System.Int32,System.DirectoryServices.Protocols.DirectoryAttributeModification);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryConnection;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryConnection;true;get_Directory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryConnection;true;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryConnection;true;set_Credential;(System.Net.NetworkCredential);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryConnection;true;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;Add;(System.DirectoryServices.Protocols.DirectoryControl);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryControlCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;AddRange;(System.DirectoryServices.Protocols.DirectoryControl[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;CopyTo;(System.DirectoryServices.Protocols.DirectoryControl[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;Insert;(System.Int32,System.DirectoryServices.Protocols.DirectoryControl);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;Remove;(System.DirectoryServices.Protocols.DirectoryControl);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryControlCollection;false;set_Item;(System.Int32,System.DirectoryServices.Protocols.DirectoryControl);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;DirectoryRequest;false;get_RequestId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;DirectoryRequest;false;set_RequestId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;ExtendedRequest;false;ExtendedRequest;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;ExtendedRequest;false;set_RequestValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;ExtendedResponse;false;set_ResponseValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;Bind;(System.Net.NetworkCredential);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;EndSendRequest;(System.IAsyncResult);;Argument[0];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;GetPartialResults;(System.IAsyncResult);;Argument[0];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;LdapConnection;(System.DirectoryServices.Protocols.LdapDirectoryIdentifier,System.Net.NetworkCredential,System.DirectoryServices.Protocols.AuthType);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;LdapConnection;(System.DirectoryServices.Protocols.LdapDirectoryIdentifier,System.Net.NetworkCredential,System.DirectoryServices.Protocols.AuthType);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;set_Credential;(System.Net.NetworkCredential);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapConnection;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapDirectoryIdentifier;false;LdapDirectoryIdentifier;(System.String[],System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;LdapSessionOptions;false;get_QueryClientCertificate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;LdapSessionOptions;false;get_ReferralCallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;LdapSessionOptions;false;get_VerifyServerCertificate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;LdapSessionOptions;false;set_ReferralCallback;(System.DirectoryServices.Protocols.ReferralCallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;PageResultRequestControl;false;PageResultRequestControl;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;PageResultRequestControl;false;set_Cookie;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;PartialResultsCollection;false;CopyTo;(System.Object[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;PartialResultsCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchRequest;false;SearchRequest;(System.String,System.String,System.DirectoryServices.Protocols.SearchScope,System.String[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SearchRequest;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchRequest;false;get_TimeLimit;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchRequest;false;set_Filter;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SearchRequest;false;set_TimeLimit;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SearchResponse;false;get_Entries;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchResponse;false;get_References;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchResponse;false;set_Entries;(System.DirectoryServices.Protocols.SearchResultEntryCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SearchResponse;false;set_References;(System.DirectoryServices.Protocols.SearchResultReferenceCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SearchResultAttributeCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchResultEntryCollection;false;CopyTo;(System.DirectoryServices.Protocols.SearchResultEntry[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;SearchResultEntryCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SearchResultReferenceCollection;false;CopyTo;(System.DirectoryServices.Protocols.SearchResultReference[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.DirectoryServices.Protocols;SearchResultReferenceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SortKey;false;SortKey;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SortKey;false;SortKey;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SortKey;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SortKey;false;get_MatchingRule;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;SortKey;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SortKey;false;set_MatchingRule;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;SortRequestControl;false;get_SortKeys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;VerifyNameControl;false;VerifyNameControl;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;VerifyNameControl;false;get_ServerName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.DirectoryServices.Protocols;VerifyNameControl;false;set_ServerName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;VlvRequestControl;false;VlvRequestControl;(System.Int32,System.Int32,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;VlvRequestControl;false;VlvRequestControl;(System.Int32,System.Int32,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;VlvRequestControl;false;set_ContextId;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.DirectoryServices.Protocols;VlvRequestControl;false;set_Target;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Configuration;SystemDrawingSection;false;get_BitmapSuffix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.Drawing.Design.CategoryNameCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Design;CategoryNameCollection;false;CategoryNameCollection;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Design;CategoryNameCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Drawing.Design;CategoryNameCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;BitmapData;false;get_Scan0;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;BitmapData;false;set_Scan0;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ColorMap;false;get_NewColor;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ColorMap;false;get_OldColor;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ColorMap;false;set_NewColor;(System.Drawing.Color);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ColorMap;false;set_OldColor;(System.Drawing.Color);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ColorPalette;false;get_Entries;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;Encoder;false;Encoder;(System.Guid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;Encoder;false;get_Guid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Byte[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int16[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Drawing.Imaging.EncoderParameterValueType,System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int32[],System.Int32[],System.Int32[],System.Int32[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.Int64[],System.Int64[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;EncoderParameter;(System.Drawing.Imaging.Encoder,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;get_Encoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;EncoderParameter;false;set_Encoder;(System.Drawing.Imaging.Encoder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;EncoderParameters;false;get_Param;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;EncoderParameters;false;set_Param;(System.Drawing.Imaging.EncoderParameter[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;FrameDimension;false;FrameDimension;(System.Guid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;FrameDimension;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;FrameDimension;false;get_Guid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_Clsid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_CodecName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_DllName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_FilenameExtension;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_FormatDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_FormatID;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_MimeType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_SignatureMasks;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;get_SignaturePatterns;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_Clsid;(System.Guid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_CodecName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_DllName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_FilenameExtension;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_FormatDescription;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_FormatID;(System.Guid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_MimeType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_SignatureMasks;(System.Byte[][]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageCodecInfo;false;set_SignaturePatterns;(System.Byte[][]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageFormat;false;ImageFormat;(System.Guid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Imaging;ImageFormat;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;ImageFormat;false;get_Guid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Imaging;Metafile;false;GetHenhmetafile;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;InvalidPrinterException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Drawing.Printing;InvalidPrinterException;false;InvalidPrinterException;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Drawing.Printing;MarginsConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;PageSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PageSettings;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;get_Margins;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;get_PaperSize;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;get_PaperSource;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;get_PrintableArea;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;get_PrinterResolution;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;get_PrinterSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PageSettings;false;set_Margins;(System.Drawing.Printing.Margins);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PageSettings;false;set_PaperSize;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PageSettings;false;set_PaperSource;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PageSettings;false;set_PrinterResolution;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PageSettings;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PaperSize;false;PaperSize;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PaperSize;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PaperSize;false;get_PaperName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PaperSize;false;set_PaperName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PaperSource;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PaperSource;false;get_SourceName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PaperSource;false;set_SourceName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PreviewPageInfo;false;PreviewPageInfo;(System.Drawing.Image,System.Drawing.Size);;Argument[1];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PreviewPageInfo;false;get_Image;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PreviewPageInfo;false;get_PhysicalSize;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PreviewPrintController;false;GetPreviewPageInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintDocument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintDocument;false;get_DefaultPageSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintDocument;false;get_DocumentName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintDocument;false;get_PrintController;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintDocument;false;get_PrinterSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintDocument;false;set_DefaultPageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintDocument;false;set_DocumentName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintDocument;false;set_PrintController;(System.Drawing.Printing.PrintController);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintDocument;false;set_PrinterSettings;(System.Drawing.Printing.PrinterSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[1];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[2];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;PrintPageEventArgs;(System.Drawing.Graphics,System.Drawing.Rectangle,System.Drawing.Rectangle,System.Drawing.Printing.PageSettings);;Argument[3];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;get_Graphics;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;get_MarginBounds;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;get_PageBounds;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrintPageEventArgs;false;get_PageSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;Add;(System.Drawing.Printing.PaperSize);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;PaperSizeCollection;(System.Drawing.Printing.PaperSize[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSizeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;Add;(System.Drawing.Printing.PaperSource);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;PaperSourceCollection;(System.Drawing.Printing.PaperSource[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings+PaperSourceCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;Add;(System.Drawing.Printing.PrinterResolution);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;PrinterResolutionCollection;(System.Drawing.Printing.PrinterResolution[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings+PrinterResolutionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Drawing.Printing;PrinterSettings+StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+StringCollection;false;StringCollection;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings+StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings+StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Drawing.Printing;PrinterSettings;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;get_DefaultPageSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;get_PaperSizes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;get_PaperSources;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;get_PrintFileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;get_PrinterName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;get_PrinterResolutions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;PrinterSettings;false;set_PrintFileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;PrinterSettings;false;set_PrinterName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;QueryPageSettingsEventArgs;false;QueryPageSettingsEventArgs;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;QueryPageSettingsEventArgs;false;get_PageSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing.Printing;QueryPageSettingsEventArgs;false;set_PageSettings;(System.Drawing.Printing.PageSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing.Printing;StandardPrintController;false;OnStartPage;(System.Drawing.Printing.PrintDocument,System.Drawing.Printing.PrintPageEventArgs);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;Bitmap;false;LockBits;(System.Drawing.Rectangle,System.Drawing.Imaging.ImageLockMode,System.Drawing.Imaging.PixelFormat,System.Drawing.Imaging.BitmapData);;Argument[3];ReturnValue;taint;generated", + "System.Drawing;Brush;false;SetNativeBrush;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;BufferedGraphics;false;get_Graphics;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.Drawing.Graphics,System.Drawing.Rectangle);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;BufferedGraphicsContext;false;Allocate;(System.IntPtr,System.Drawing.Rectangle);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;BufferedGraphicsContext;false;get_MaximumBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;BufferedGraphicsContext;false;set_MaximumBuffer;(System.Drawing.Size);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;Color;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Color;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;ColorConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;Font;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Font;false;Font;(System.Drawing.Font,System.Drawing.FontStyle);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;Font;false;Font;(System.Drawing.FontFamily,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;Font;false;Font;(System.String,System.Single,System.Drawing.FontStyle,System.Drawing.GraphicsUnit,System.Byte,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;Font;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Drawing;Font;false;ToHfont;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Font;false;get_FontFamily;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Font;false;get_OriginalFontName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Font;false;get_SystemFontName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;FontConverter+FontNameConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;FontConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;Graphics;false;FromImage;(System.Drawing.Image);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;Graphics;false;GetHdc;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Icon;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Icon;false;FromHandle;(System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;Icon;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;Icon;false;Icon;(System.Drawing.Icon,System.Drawing.Size);;Argument[1];Argument[Qualifier];taint;generated", + "System.Drawing;Icon;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Icon;false;get_Size;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Image;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Image;false;set_Tag;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;ImageFormatConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;Pen;false;Pen;(System.Drawing.Color,System.Single);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;Pen;false;get_Color;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Pen;false;get_CustomEndCap;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;Pen;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;RectangleF;false;Inflate;(System.Drawing.RectangleF,System.Single,System.Single);;Argument[0];ReturnValue;taint;generated", + "System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Drawing;SolidBrush;false;SolidBrush;(System.Drawing.Color);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;SolidBrush;false;get_Color;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;SolidBrush;false;set_Color;(System.Drawing.Color);;Argument[0];Argument[Qualifier];taint;generated", + "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Drawing;ToolboxBitmapAttribute;false;GetImage;(System.Type,System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Dynamic;BindingRestrictions;false;Merge;(System.Dynamic.BindingRestrictions);;Argument[Qualifier];ReturnValue;value;generated", + "System.Dynamic;BindingRestrictions;false;ToExpression;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Dynamic;DynamicMetaObject;false;Create;(System.Object,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Dynamic;DynamicMetaObject;false;DynamicMetaObject;(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.Dynamic;DynamicMetaObject;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Dynamic;ExpandoObject;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[2];Argument[Qualifier];taint;generated", + "System.Formats.Asn1;AsnReader;false;PeekContentBytes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;PeekEncodedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;ReadEncodedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;ReadEnumeratedBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;ReadIntegerBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;ReadSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Boolean,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;TryReadPrimitiveBitString;(System.Int32,System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;TryReadPrimitiveCharacterStringBytes;(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnReader;false;TryReadPrimitiveOctetString;(System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnWriter;false;PushOctetString;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnWriter;false;PushSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Asn1;AsnWriter;false;PushSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Cbor;CborReader;false;CborReader;(System.ReadOnlyMemory,System.Formats.Cbor.CborConformanceMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Formats.Cbor;CborReader;false;ReadDefiniteLengthByteString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Cbor;CborReader;false;ReadDefiniteLengthTextStringBytes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Formats.Cbor;CborReader;false;ReadEncodedValue;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;Calendar;false;ReadOnly;(System.Globalization.Calendar);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CompareInfo;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;CultureInfo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;CultureInfo;false;GetConsoleFallbackUICulture;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;GetCultureInfoByIetfLanguageTag;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;ReadOnly;(System.Globalization.CultureInfo);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_EnglishName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_NativeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_NumberFormat;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;get_TextInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureInfo;false;set_DateTimeFormat;(System.Globalization.DateTimeFormatInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;CultureInfo;false;set_NumberFormat;(System.Globalization.NumberFormatInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Globalization;CultureNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Globalization;CultureNotFoundException;false;get_InvalidCultureId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureNotFoundException;false;get_InvalidCultureName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;CultureNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedEraName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetAllDateTimePatterns;(System.Char);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetEraName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;GetShortestDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;ReadOnly;(System.Globalization.DateTimeFormatInfo);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;SetAllDateTimePatterns;(System.String[],System.Char);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;get_AMDesignator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;get_DateSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;get_MonthDayPattern;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;get_PMDesignator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;get_TimeSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_AMDesignator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_Calendar;(System.Globalization.Calendar);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_DateSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_DayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_FullDateTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_LongDatePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_LongTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_MonthDayPattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_MonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_MonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_PMDesignator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_ShortDatePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_ShortTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_ShortestDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_TimeSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DateTimeFormatInfo;false;set_YearMonthPattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated", + "System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated", + "System.Globalization;DaylightTime;false;get_Delta;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DaylightTime;false;get_End;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;DaylightTime;false;get_Start;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;GlobalizationExtensions;false;GetStringComparer;(System.Globalization.CompareInfo,System.Globalization.CompareOptions);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;IdnMapping;false;GetAscii;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;IdnMapping;false;GetUnicode;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;ReadOnly;(System.Globalization.NumberFormatInfo);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_CurrencyDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_CurrencyGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_CurrencySymbol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_NaNSymbol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_NegativeInfinitySymbol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_NegativeSign;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_NumberDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_NumberGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_PerMilleSymbol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_PercentDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_PercentGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_PercentSymbol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_PositiveInfinitySymbol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;get_PositiveSign;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;NumberFormatInfo;false;set_CurrencyDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_CurrencyGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_CurrencySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_NaNSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_NativeDigits;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_NegativeInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_NegativeSign;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_NumberDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_NumberGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_PerMilleSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_PercentDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_PercentGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_PercentSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_PositiveInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;NumberFormatInfo;false;set_PositiveSign;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;RegionInfo;false;RegionInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;RegionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;RegionInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;RegionInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;SortKey;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;SortKey;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;SortVersion;false;SortVersion;(System.Int32,System.Guid);;Argument[1];Argument[Qualifier];taint;generated", + "System.Globalization;SortVersion;false;get_SortId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;GetNextTextElement;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;GetNextTextElement;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;StringInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;get_String;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;StringInfo;false;set_String;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Globalization;TextElementEnumerator;false;GetTextElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;TextElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;ReadOnly;(System.Globalization.TextInfo);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;ToLower;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;ToTitleCase;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;ToUpper;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;get_CultureName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Globalization;TextInfo;false;set_ListSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;BrotliStream;false;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;BrotliStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;DeflateStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;GZipStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZLibException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.IO.Compression;ZLibException;false;ZLibException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZLibException;false;ZLibException;(System.String,System.String,System.Int32,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZLibException;false;ZLibException;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZLibStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;ZLibStream;false;ZLibStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZLibStream;false;ZLibStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZLibStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZipArchive;false;get_Entries;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;Open;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;get_Archive;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;get_LastWriteTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;set_FullName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZipArchiveEntry;false;set_LastWriteTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Compression;ZipFile;false;Open;(System.String,System.IO.Compression.ZipArchiveMode,System.Text.Encoding);;Argument[2];ReturnValue;taint;generated", + "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;generated", + "System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[2];ReturnValue;taint;generated", + "System.IO.Enumeration;FileSystemEntry;false;ToFileSystemInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Enumeration;FileSystemEntry;false;ToSpecifiedFullPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Enumeration;FileSystemEntry;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Enumeration;FileSystemEnumerator<>;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Enumeration;FileSystemName;false;TranslateWin32Expression;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorage;false;get_ApplicationIdentity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorage;false;get_AssemblyIdentity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorage;false;get_DomainIdentity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.MemoryMappedFiles;MemoryMappedFile;false;CreateFromFile;(System.IO.FileStream,System.String,System.Int64,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,System.IO.HandleInheritability,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.IO.MemoryMappedFiles;MemoryMappedFile;false;get_SafeMemoryMappedFileHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.MemoryMappedFiles;MemoryMappedViewAccessor;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.MemoryMappedFiles;MemoryMappedViewStream;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri,System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri,System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;Create;(System.Uri,System.Uri,System.String);;Argument[2];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;GetNormalizedPartUri;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;GetPackageUri;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;GetPartUri;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackUriHelper;false;GetRelativeUri;(System.Uri,System.Uri);;Argument[1];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreatePart;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[2];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;GetPart;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;GetParts;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;GetRelationships;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;GetRelationshipsByType;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;GetRelationshipsByType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;Open;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;Open;(System.IO.Stream,System.IO.FileMode);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;Open;(System.IO.Stream,System.IO.FileMode,System.IO.FileAccess);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;Package;false;get_PackageProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[2];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;CreateRelationship;(System.Uri,System.IO.Packaging.TargetMode,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;GetRelationships;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;GetRelationshipsByType;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;GetRelationshipsByType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;GetStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;GetStream;(System.IO.FileMode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;GetStream;(System.IO.FileMode,System.IO.FileAccess);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;PackagePart;(System.IO.Packaging.Package,System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Packaging;PackagePart;false;PackagePart;(System.IO.Packaging.Package,System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO.Packaging;PackagePart;false;PackagePart;(System.IO.Packaging.Package,System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO.Packaging;PackagePart;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;get_Package;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackagePart;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationship;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationship;false;get_Package;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationship;false;get_RelationshipType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationship;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationship;false;get_TargetUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationshipSelector;false;PackageRelationshipSelector;(System.Uri,System.IO.Packaging.PackageRelationshipSelectorType,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Packaging;PackageRelationshipSelector;false;PackageRelationshipSelector;(System.Uri,System.IO.Packaging.PackageRelationshipSelectorType,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO.Packaging;PackageRelationshipSelector;false;Select;(System.IO.Packaging.Package);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationshipSelector;false;Select;(System.IO.Packaging.Package);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationshipSelector;false;get_SelectionCriteria;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;PackageRelationshipSelector;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;ZipPackage;false;CreatePartCore;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[0];ReturnValue;taint;generated", + "System.IO.Packaging;ZipPackage;false;CreatePartCore;(System.Uri,System.String,System.IO.Packaging.CompressionOption);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Packaging;ZipPackagePart;false;GetStreamCore;(System.IO.FileMode,System.IO.FileAccess);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;Pipe;false;Pipe;(System.IO.Pipelines.PipeOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Pipelines;Pipe;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;Pipe;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeReader;false;Create;(System.Buffers.ReadOnlySequence);;Argument[0];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeReader;false;Create;(System.IO.Stream,System.IO.Pipelines.StreamPipeReaderOptions);;Argument[1];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeReader;false;ReadAtLeastAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeReader;true;AsStream;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeReader;true;CopyToAsync;(System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeReader;true;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeWriter;true;AsStream;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;PipeWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;ReadResult;false;ReadResult;(System.Buffers.ReadOnlySequence,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Pipelines;ReadResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipelines;StreamPipeExtensions;false;CopyToAsync;(System.IO.Stream,System.IO.Pipelines.PipeWriter,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.IO.Pipes;AnonymousPipeClientStream;false;AnonymousPipeClientStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO.Pipes;AnonymousPipeServerStream;false;get_ClientSafePipeHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO.Pipes;NamedPipeServerStream;false;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO.Pipes;NamedPipeServerStream;false;WaitForConnectionAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO.Pipes;PipeStream;false;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Pipes;PipeStream;false;get_SafePipeHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.IO.Ports;SerialPort;false;ReadExisting;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;ReadLine;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;ReadTo;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;SerialPort;(System.String,System.Int32,System.IO.Ports.Parity,System.Int32,System.IO.Ports.StopBits);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;Write;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;WriteLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;get_NewLine;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;get_PortName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO.Ports;SerialPort;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO.Ports;SerialPort;false;set_PortName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;BinaryReader;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.IO;BinaryReader;false;ReadBytes;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;BinaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;BinaryReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;BinaryWriter;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;BinaryWriter;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;BinaryWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;BufferedStream;false;BufferedStream;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;BufferedStream;false;get_UnderlyingStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;Directory;false;CreateDirectory;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;Directory;false;CreateSymbolicLink;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;Directory;false;GetParent;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;DirectoryInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;DirectoryInfo;false;EnumerateDirectories;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFiles;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DirectoryInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;DirectoryInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DriveInfo;false;DriveInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;DriveInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DriveInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DriveInfo;false;get_RootDirectory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;DriveInfo;false;get_VolumeLabel;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;ErrorEventArgs;false;ErrorEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;ErrorEventArgs;false;GetException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.IO;File;false;CreateSymbolicLink;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;File;false;OpenHandle;(System.String,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,System.IO.FileOptions,System.Int64);;Argument[0];ReturnValue;taint;generated", + "System.IO;File;false;ReadLines;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated", + "System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[1];ReturnValue;taint;generated", + "System.IO;File;false;WriteAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.IO;FileFormatException;false;FileFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileFormatException;false;FileFormatException;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileFormatException;false;FileFormatException;(System.Uri,System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileFormatException;false;FileFormatException;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileFormatException;false;FileFormatException;(System.Uri,System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.IO;FileFormatException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileInfo;false;CopyTo;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;FileInfo;false;CopyTo;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.IO;FileInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileInfo;false;MoveTo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileInfo;false;get_Directory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileInfo;false;get_DirectoryName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.IO;FileLoadException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileStream;false;get_SafeFileHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;FileSystemEventArgs;false;get_FullPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemInfo;false;get_Extension;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemInfo;false;get_LinkTarget;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemInfo;true;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemInfo;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;FileSystemWatcher;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemWatcher;false;get_Filters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemWatcher;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemWatcher;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;FileSystemWatcher;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileSystemWatcher;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;FileSystemWatcher;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;MemoryStream;false;GetBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;MemoryStream;false;TryGetBuffer;(System.ArraySegment);;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;MemoryStream;false;WriteTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;generated", + "System.IO;Path;false;ChangeExtension;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;taint;generated", + "System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3];ReturnValue;taint;generated", + "System.IO;Path;false;TrimEndingDirectorySeparator;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System.IO;Path;false;TrimEndingDirectorySeparator;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[1].Element;ReturnValue;taint;generated", + "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Memory,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;ReadAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Memory,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[1].Element;ReturnValue;taint;generated", + "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.Collections.Generic.IReadOnlyList>,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlyMemory,System.Int64,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlyMemory,System.Int64,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;RandomAccess;false;WriteAsync;(Microsoft.Win32.SafeHandles.SafeFileHandle,System.ReadOnlyMemory,System.Int64,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO;RenamedEventArgs;false;get_OldFullPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;RenamedEventArgs;false;get_OldName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;Stream;false;Synchronized;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;StreamWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;StreamWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;StringWriter;false;GetStringBuilder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;StringWriter;false;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;StringWriter;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;Write;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;TextReader;false;Synchronized;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated", + "System.IO;TextWriter;false;Synchronized;(System.IO.TextWriter);;Argument[0];ReturnValue;taint;generated", + "System.IO;TextWriter;false;TextWriter;(System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;TextWriter;true;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.IO;TextWriter;true;get_FormatProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;TextWriter;true;get_NewLine;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.IO;TextWriter;true;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryAccessor;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.IO;UnmanagedMemoryStream;false;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated", + "System.IO;UnmanagedMemoryStream;false;get_PositionPointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions.Interpreter;LightLambda;false;Run;(System.Object[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;BinaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;BinaryExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;BinaryExpression;false;get_Conversion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;BinaryExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;BlockExpression;false;Update;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;BlockExpression;false;get_Expressions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;BlockExpression;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;BlockExpression;false;get_Variables;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;CatchBlock;false;Update;(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;ConditionalExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;ConditionalExpression;false;get_IfFalse;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;ConstantExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;DebugInfoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;DefaultExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Rewrite;(System.Linq.Expressions.Expression[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;DynamicExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;DynamicExpressionVisitor;false;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ElementInit;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ArrayAccess;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ArrayIndex;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Coalesce;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Reflection.FieldInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GetActionType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GetFuncType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;IfThenElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Invoke;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[5];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeIndex;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MakeMemberAccess;(System.Linq.Expressions.Expression,System.Reflection.MemberInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Reflection.MemberInfo[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ReduceAndCheck;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ReduceExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;TryGetActionType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;false;TryGetFuncType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression;true;Reduce;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;Expression<>;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitCatchBlock;(System.Linq.Expressions.CatchBlock);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitConstant;(System.Linq.Expressions.ConstantExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitDebugInfo;(System.Linq.Expressions.DebugInfoExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitDefault;(System.Linq.Expressions.DefaultExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitElementInit;(System.Linq.Expressions.ElementInit);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitGoto;(System.Linq.Expressions.GotoExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitIndex;(System.Linq.Expressions.IndexExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitInvocation;(System.Linq.Expressions.InvocationExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitLabel;(System.Linq.Expressions.LabelExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitLabelTarget;(System.Linq.Expressions.LabelTarget);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitListInit;(System.Linq.Expressions.ListInitExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitLoop;(System.Linq.Expressions.LoopExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMember;(System.Linq.Expressions.MemberExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberInit;(System.Linq.Expressions.MemberInitExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberListBinding;(System.Linq.Expressions.MemberListBinding);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMemberMemberBinding;(System.Linq.Expressions.MemberMemberBinding);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitNew;(System.Linq.Expressions.NewExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitNewArray;(System.Linq.Expressions.NewArrayExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitParameter;(System.Linq.Expressions.ParameterExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitRuntimeVariables;(System.Linq.Expressions.RuntimeVariablesExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitSwitch;(System.Linq.Expressions.SwitchExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitSwitchCase;(System.Linq.Expressions.SwitchCase);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitTry;(System.Linq.Expressions.TryExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitTypeBinary;(System.Linq.Expressions.TypeBinaryExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;ExpressionVisitor;true;VisitUnary;(System.Linq.Expressions.UnaryExpression);;Argument[0];ReturnValue;taint;generated", + "System.Linq.Expressions;GotoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;GotoExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;IndexExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;IndexExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;IndexExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;IndexExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;InvocationExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;InvocationExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;LabelExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;LabelExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;LambdaExpression;false;get_Body;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;LambdaExpression;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;ListInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;ListInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;LoopExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;LoopExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MemberAssignment;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MemberAssignment;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;MemberExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MemberExpression;false;get_Member;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;MemberInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;MemberInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MemberListBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MemberMemberBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;MethodCallExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;MethodCallExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;MethodCallExpression;false;get_Object;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;NewArrayExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;NewArrayExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;NewExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;NewExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;NewExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;NewExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated", + "System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;RuntimeVariablesExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;RuntimeVariablesExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;SwitchCase;false;Update;(System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;SwitchExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;SwitchExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;TryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;TryExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;TypeBinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;TypeBinaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;UnaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq.Expressions;UnaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq.Expressions;UnaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq;Enumerable;false;Append<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated", + "System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Index);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Index);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated", + "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1];taint;generated", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1];taint;generated", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;Prepend<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated", + "System.Linq;Enumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated", + "System.Linq;Enumerable;false;SkipLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Range);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Enumerable;false;TakeLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;EnumerableExecutor<>;false;EnumerableExecutor;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq;EnumerableQuery<>;false;CreateQuery<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated", + "System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated", + "System.Linq;EnumerableQuery<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq;EnumerableQuery<>;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq;EnumerableQuery<>;false;get_Provider;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Linq;Grouping<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq;ImmutableArrayExtensions;false;ElementAt<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ImmutableArrayExtensions;false;ElementAtOrDefault<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ImmutableArrayExtensions;false;Single<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;Lookup<,>;false;get_Item;(TKey);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsOrdered;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsOrdered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsParallel;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Concurrent.Partitioner);;Argument[0];ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsSequential<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;AsUnordered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;WithCancellation<>;(System.Linq.ParallelQuery,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;WithDegreeOfParallelism<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;WithExecutionMode<>;(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Linq;ParallelEnumerable;false;WithMergeOptions<>;(System.Linq.ParallelQuery,System.Linq.ParallelMergeOptions);;Argument[0].Element;ReturnValue;taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan,System.DateTime);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;get_CacheSyncDate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;get_MaxStale;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Cache;HttpRequestCachePolicy;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;AuthenticationHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;AuthenticationHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Parameter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxStaleLimit;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;get_SharedMaxAge;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxStaleLimit;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;set_MinFresh;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;CacheControlHeaderValue;false;set_SharedMaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.Net.Http.Headers.ContentDispositionHeaderValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileNameStar;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentDispositionHeaderValue;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Length;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ContentRangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;EntityTagHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;EntityTagHeaderValue;false;EntityTagHeaderValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;EntityTagHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;EntityTagHeaderValue;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HeaderStringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HeaderStringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HeaderStringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeaders;false;get_NonValidated;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeadersNonValidated+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeadersNonValidated;false;TryGetValue;(System.String,System.Net.Http.Headers.HeaderStringValues);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeadersNonValidated;false;TryGetValues;(System.String,System.Net.Http.Headers.HeaderStringValues);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeadersNonValidated;false;get_Item;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeadersNonValidated;false;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpHeadersNonValidated;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpResponseHeaders;false;get_AcceptRanges;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpResponseHeaders;false;get_ProxyAuthenticate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpResponseHeaders;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpResponseHeaders;false;get_Vary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;HttpResponseHeaders;false;get_WwwAuthenticate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;get_CharSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;get_MediaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;MediaTypeHeaderValue;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;MediaTypeWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.Net.Http.Headers.NameValueHeaderValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;NameValueHeaderValue;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;NameValueWithParametersHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ProductHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductHeaderValue;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.Net.Http.Headers.ProductHeaderValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.ProductInfoHeaderValue);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Product;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.Net.Http.Headers.EntityTagHeaderValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RangeConditionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeConditionHeaderValue;false;get_EntityTag;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RangeItemHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RangeItemHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RangeItemHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RetryConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Delta;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;StringWithQualityHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;StringWithQualityHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Quality;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;TransferCodingHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;TransferCodingHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;TransferCodingHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;TransferCodingHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;TransferCodingWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue);;Argument[0];ReturnValue;taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;ViaHeaderValue;false;get_ReceivedBy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;get_Agent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Headers;WarningHeaderValue;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http.Json;JsonContent;false;Create;(System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[3];ReturnValue;taint;generated", + "System.Net.Http.Json;JsonContent;false;Create<>;(T,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[2];ReturnValue;taint;generated", + "System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Http;ByteArrayContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;ByteArrayContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;DelegatingHandler;false;DelegatingHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;DelegatingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Http;DelegatingHandler;false;get_InnerHandler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;DelegatingHandler;false;set_InnerHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpClient;false;get_DefaultRequestVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpClient;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpClient;false;set_BaseAddress;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpClient;false;set_DefaultRequestVersion;(System.Version);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpClient;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpClientHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;false;CopyTo;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpContent;false;ReadAsStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;false;ReadAsStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;false;ReadAsStreamAsync;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;false;ReadAsStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;true;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;HttpMessageInvoker;false;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpMessageInvoker;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Http;HttpMethod;false;HttpMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpMethod;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpMethod;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpRequestMessage;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpRequestMessage;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpRequestMessage;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpRequestMessage;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpRequestMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpRequestMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpRequestMessage;false;set_Method;(System.Net.Http.HttpMethod);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpRequestMessage;false;set_RequestUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpRequestMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpResponseMessage;false;EnsureSuccessStatusCode;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Net.Http;HttpResponseMessage;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpResponseMessage;false;get_ReasonPhrase;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpResponseMessage;false;get_RequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpResponseMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;HttpResponseMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpResponseMessage;false;set_ReasonPhrase;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpResponseMessage;false;set_RequestMessage;(System.Net.Http.HttpRequestMessage);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;HttpResponseMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;MessageProcessingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Http;MultipartContent;false;MultipartContent;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Http;MultipartContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;MultipartFormDataContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;ReadOnlyMemoryContent;false;ReadOnlyMemoryContent;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpConnectionContext;false;get_DnsEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpConnectionContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_ActivityHeadersPropagator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_ConnectCallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_ConnectTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_DefaultProxyCredentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_Expect100ContinueTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingDelay;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_PlaintextStreamFilter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionIdleTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionLifetime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_RequestHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_ResponseDrainTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_ResponseHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;get_SslOptions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_ActivityHeadersPropagator;(System.Diagnostics.DistributedContextPropagator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_ConnectTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_DefaultProxyCredentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_Expect100ContinueTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingDelay;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionIdleTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_ResponseDrainTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpHandler;false;set_SslOptions;(System.Net.Security.SslClientAuthenticationOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_NegotiatedHttpVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_PlaintextStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Http;StreamContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;AlternateView;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;AlternateViewCollection;false;InsertItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;AlternateViewCollection;false;SetItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;Attachment;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;get_ContentDisposition;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;get_NameEncoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;Attachment;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;Attachment;false;set_NameEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentBase;false;get_ContentId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;AttachmentBase;false;get_ContentStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;AttachmentBase;false;set_ContentType;(System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentCollection;false;InsertItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;AttachmentCollection;false;SetItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net.Mail;LinkedResource;false;get_ContentLink;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;LinkedResourceCollection;false;InsertItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;LinkedResourceCollection;false;SetItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailAddress;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[2];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailAddress;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailAddressCollection;false;InsertItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailAddressCollection;false;SetItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailAddressCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;MailMessage;(System.Net.Mail.MailAddress,System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;get_Body;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_BodyEncoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_HeadersEncoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_ReplyTo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_Sender;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;get_SubjectEncoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;MailMessage;false;set_Body;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_BodyEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_From;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_HeadersEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_ReplyTo;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_Sender;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_Subject;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;MailMessage;false;set_SubjectEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;Send;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;Send;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendAsync;(System.Net.Mail.MailMessage,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendAsync;(System.String,System.String,System.String,System.String,System.Object);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[4];ReturnValue;taint;generated", + "System.Net.Mail;SmtpClient;false;SmtpClient;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;SmtpClient;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;SmtpClient;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;SmtpClient;false;get_PickupDirectoryLocation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;SmtpClient;false;get_TargetName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;SmtpClient;false;set_Credentials;(System.Net.ICredentialsByHost);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;set_PickupDirectoryLocation;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpClient;false;set_TargetName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Mail;SmtpFailedRecipientException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpFailedRecipientException;false;get_FailedRecipient;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mail;SmtpFailedRecipientsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Net.Mail.SmtpFailedRecipientException[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Net.Mail;SmtpFailedRecipientsException;false;get_InnerExceptions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentDisposition;false;ContentDisposition;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mime;ContentDisposition;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentDisposition;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentDisposition;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mime;ContentType;false;ContentType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Mime;ContentType;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentType;false;get_Boundary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentType;false;get_CharSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentType;false;get_MediaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentType;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Mime;ContentType;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.NetworkInformation;IPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.NetworkInformation;NetworkInformationPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Net.NetworkInformation;PhysicalAddress;false;PhysicalAddress;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Quic;QuicConnection;false;OpenBidirectionalStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Quic;QuicConnection;false;OpenUnidirectionalStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Quic;QuicConnection;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Quic;QuicConnection;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Quic;QuicConnection;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Quic;QuicListener;false;QuicListener;(System.Net.Quic.Implementations.QuicImplementationProvider,System.Net.Quic.QuicListenerOptions);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Quic;QuicListener;false;get_ListenEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;AuthenticatedStream;false;AuthenticatedStream;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Security;AuthenticatedStream;false;get_InnerStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;NegotiateStream;false;get_RemoteIdentity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslApplicationProtocol;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslApplicationProtocol;false;get_Protocol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslCertificateTrust;false;CreateForX509Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Net.Security;SslCertificateTrust;false;CreateForX509Store;(System.Security.Cryptography.X509Certificates.X509Store,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;SslStream;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Security;SslStream;false;get_LocalCertificate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslStream;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslStream;false;get_RemoteCertificate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslStream;false;get_TransportContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean,System.Net.Security.SslCertificateTrust);;Argument[0];ReturnValue;taint;generated", + "System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean,System.Net.Security.SslCertificateTrust);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;IPPacketInformation;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;IPv6MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;IPv6MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;MulticastOption;false;get_LocalAddress;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;MulticastOption;false;set_LocalAddress;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;NetworkStream;false;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;NetworkStream;false;get_Socket;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SafeSocketHandle;false;SafeSocketHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;Accept;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.Socket,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;AcceptAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;AcceptAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;Bind;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;Connect;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress[],System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;ConnectAsync;(System.String,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;DisconnectAsync;(System.Boolean,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;DisconnectAsync;(System.Boolean,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;DisconnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.EndPoint);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Span,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Memory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;SendAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.ReadOnlyMemory,System.ReadOnlyMemory,System.Net.Sockets.TransmitFileOptions,System.Threading.CancellationToken);;Argument[4];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.ReadOnlyMemory,System.ReadOnlyMemory,System.Net.Sockets.TransmitFileOptions,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendFileAsync;(System.String,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendPacketsAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendTo;(System.ReadOnlySpan,System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendTo;(System.ReadOnlySpan,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ArraySegment,System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;SendToAsync;(System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;Socket;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Memory);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_AcceptSocket;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_BufferList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectByNameError;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectSocket;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_MemoryBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_ReceiveMessageFromPacketInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_SendPacketsElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;get_UserToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;set_AcceptSocket;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;set_BufferList;(System.Collections.Generic.IList>);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;set_RemoteEndPoint;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;set_SendPacketsElements;(System.Net.Sockets.SendPacketsElement[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketAsyncEventArgs;false;set_UserToken;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;SocketException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint);;Argument[1];Argument[0];taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32);;Argument[1];Argument[0];taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.String,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;SocketTaskExtensions;false;SendToAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[0];taint;generated", + "System.Net.Sockets;TcpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpClient;false;ConnectAsync;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpClient;false;ConnectAsync;(System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpClient;false;GetStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;TcpClient;false;TcpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;TcpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpListener;false;AcceptSocket;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;TcpListener;false;AcceptSocketAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Net.Sockets;TcpListener;false;AcceptSocketAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;TcpListener;false;AcceptTcpClient;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;TcpListener;false;get_LocalEndpoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;TcpListener;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpClient;false;EndReceive;(System.IAsyncResult,System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;Receive;(System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;Send;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpClient;false;Send;(System.ReadOnlySpan,System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Net.IPEndPoint,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.String,System.Int32,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.String,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;SendAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;UdpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net.Sockets;UdpReceiveResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UdpReceiveResult;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.Sockets;UnixDomainSocketEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;SetBuffer;(System.Int32,System.Int32,System.ArraySegment);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;get_RemoteCertificateValidationCallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;set_Cookies;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.WebSockets;ClientWebSocketOptions;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_CookieCollection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Origin;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketProtocols;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;HttpListenerWebSocketContext;false;get_WebSocket;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[0];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[1];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[2];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocket;true;SendAsync;(System.ReadOnlyMemory,System.Net.WebSockets.WebSocketMessageType,System.Net.WebSockets.WebSocketMessageFlags,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocketCreationOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocketCreationOptions;false;get_SubProtocol;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net.WebSockets;WebSocketCreationOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.WebSockets;WebSocketCreationOptions;false;set_SubProtocol;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net.WebSockets;WebSocketException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net;Authorization;false;get_ProtectionRealm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Authorization;false;set_ProtectionRealm;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;Cookie;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;Cookie;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_CommentUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_Domain;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_Expires;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_Port;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;get_TimeStamp;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;Cookie;false;set_Comment;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_CommentUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_Expires;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_Port;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;Cookie;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;CookieCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;CookieCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;CookieCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Net;CookieException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net;CredentialCache;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;DnsEndPoint;false;DnsEndPoint;(System.String,System.Int32,System.Net.Sockets.AddressFamily);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;DnsEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;DnsEndPoint;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;DownloadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;DownloadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;FileWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FileWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_ConnectionGroupName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_RenameTo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;FtpWebRequest;false;set_ConnectionGroupName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;FtpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;FtpWebRequest;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;FtpWebRequest;false;set_RenameTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;FtpWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_BannerMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_ExitMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_LastModified;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;FtpWebResponse;false;get_WelcomeMessage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_AuthenticationSchemeSelectorDelegate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_DefaultServiceNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_ExtendedProtectionPolicy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_ExtendedProtectionSelectorDelegate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_Prefixes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_Realm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;get_TimeoutManager;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListener;false;set_ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpListener;false;set_Realm;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpListenerContext;false;get_Response;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerContext;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;EndGetClientCertificate;(System.IAsyncResult);;Argument[0];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_HttpMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_InputStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_RawUrl;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_Url;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_UrlReferrer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerRequest;false;get_UserHostName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;AppendCookie;(System.Net.Cookie);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpListenerResponse;false;Close;(System.Byte[],System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;HttpListenerResponse;false;CopyFrom;(System.Net.HttpListenerResponse);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpListenerResponse;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;get_OutputStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;get_RedirectLocation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;HttpListenerResponse;false;set_StatusDescription;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpListenerTimeoutManager;false;get_DrainEntityBody;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerTimeoutManager;false;get_IdleConnection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpListenerTimeoutManager;false;set_DrainEntityBody;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpListenerTimeoutManager;false;set_IdleConnection;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;GetRequestStream;(System.Net.TransportContext);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Accept;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_ContinueDelegate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Expect;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_Referer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_TransferEncoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;HttpWebRequest;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpWebRequest;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpWebRequest;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;HttpWebResponse;false;GetResponseHeader;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebResponse;false;get_CharacterSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebResponse;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;HttpWebResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;IPAddress;false;MapToIPv4;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Net;IPAddress;false;MapToIPv6;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Net;IPAddress;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;IPEndPoint;false;IPEndPoint;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;IPEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;IPEndPoint;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;IPEndPoint;false;set_Address;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;GetCredential;(System.String,System.Int32,System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Net;NetworkCredential;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;get_Domain;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;NetworkCredential;false;get_Password;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;NetworkCredential;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;NetworkCredential;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;NetworkCredential;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;OpenReadCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;OpenWriteCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;PathList;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;PathList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;ProtocolViolationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net;UploadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;UploadFileCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;UploadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;UploadValuesCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;DownloadData;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadData;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadDataAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadDataAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadDataTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadDataTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadString;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadString;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadStringAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadStringAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadStringTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;DownloadStringTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenRead;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenReadAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenReadAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenReadTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenReadTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;OpenWriteAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadData;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadString;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadString;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValues;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValues;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;get_ResponseHeaders;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebClient;false;set_BaseAddress;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Net;WebClient;false;set_QueryString;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Net;WebException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Net;WebException;false;WebException;(System.String,System.Exception,System.Net.WebExceptionStatus,System.Net.WebResponse);;Argument[3];Argument[Qualifier];taint;generated", + "System.Net;WebException;false;get_Response;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebHeaderCollection;false;ToByteArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebHeaderCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebHeaderCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpRequestHeader);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpResponseHeader);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebHeaderCollection;false;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebProxy;false;GetProxy;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebProxy;false;get_BypassArrayList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebProxy;false;get_BypassList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Net;WebRequest;false;Create;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebRequest;false;Create;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebRequest;false;CreateDefault;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebRequest;false;CreateHttp;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebRequest;false;CreateHttp;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Net;WebUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];taint;generated", + "System.Net;WebUtility;false;UrlDecode;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(System.Array,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(T[,,],System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(T[,],System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Numerics.Tensors;ArrayTensorExtensions;false;ToTensor<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Numerics.Tensors;CompressedSparseTensor<>;false;CompressedSparseTensor;(System.Memory,System.Memory,System.Memory,System.Int32,System.ReadOnlySpan,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Numerics.Tensors;CompressedSparseTensor<>;false;CompressedSparseTensor;(System.Memory,System.Memory,System.Memory,System.Int32,System.ReadOnlySpan,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Numerics.Tensors;CompressedSparseTensor<>;false;CompressedSparseTensor;(System.Memory,System.Memory,System.Memory,System.Int32,System.ReadOnlySpan,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Numerics.Tensors;CompressedSparseTensor<>;false;get_CompressedCounts;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;CompressedSparseTensor<>;false;get_Indices;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;CompressedSparseTensor<>;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;DenseTensor<>;false;DenseTensor;(System.Memory,System.ReadOnlySpan,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Numerics.Tensors;DenseTensor<>;false;Reshape;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;DenseTensor<>;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;SparseTensor<>;false;Reshape;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;Tensor<>;false;GetArrayString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;Tensor<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics.Tensors;Tensor<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Numerics.Tensors;Tensor<>;true;get_Item;(System.Int32[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Abs;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;DivRem;(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Negate;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Pow;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;Remainder;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_BitwiseOr;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_BitwiseOr;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_LeftShift;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_Modulus;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_RightShift;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_UnaryNegation;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;BigInteger;false;op_UnaryPlus;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Complex;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Complex;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Add;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Lerp;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;op_Addition;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;op_Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;op_Subtraction;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Matrix4x4;false;op_UnaryNegation;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;taint;generated", + "System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[Qualifier];taint;generated", + "System.Numerics;Plane;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Numerics;Vector2;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;Vector3;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;Vector4;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System.Numerics;Vector;false;Abs<>;(System.Numerics.Vector);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Context;CustomReflectionContext;false;MapAssembly;(System.Reflection.Assembly);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Context;CustomReflectionContext;false;MapType;(System.Reflection.TypeInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Context;CustomReflectionContext;true;GetCustomAttributes;(System.Reflection.MemberInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Reflection.Context;CustomReflectionContext;true;GetCustomAttributes;(System.Reflection.ParameterInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;GetDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;GetModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;AssemblyBuilder;false;get_ManifestModule;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ConstructorBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[4].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[5].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;DynamicILInfo;false;get_DynamicMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;CreateDelegate;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Emit;DynamicMethod;false;GetDynamicILInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;get_MethodHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;DynamicMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetEnumUnderlyingType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_UnderlyingField;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EnumBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;EventBuilder;false;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;EventBuilder;false;SetAddOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;EventBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;EventBuilder;false;SetRaiseMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;EventBuilder;false;SetRemoveOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;FieldBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;FieldBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;FieldBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;FieldBuilder;false;get_FieldType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;FieldBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;FieldBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;SetBaseTypeConstraint;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;SetInterfaceConstraints;(System.Type[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;GenericTypeParameterBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;LocalBuilder;false;get_LocalType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Emit;MethodBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;GetGenericMethodDefinition;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Emit;MethodBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;GetModule;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetReturnType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Emit;MethodBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;MethodBuilder;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;get_FullyQualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ModuleBuilder;false;get_ScopeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;ParameterBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;ParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;ParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;GetGetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;GetSetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;SetGetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;SetSetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;get_PropertyType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;PropertyBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetFieldSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetLocalVarSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.CallingConventions,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Runtime.InteropServices.CallingConvention,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Runtime.InteropServices.CallingConvention,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[2].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Runtime.InteropServices.CallingConvention,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;AddInterfaceImplementation;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;TypeBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineDefaultConstructor;(System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[2].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[3].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[6].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineTypeInitializer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetGenericTypeDefinition;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Emit;TypeBuilder;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;TypeBuilder;false;SetParent;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Emit;TypeBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata.Ecma335;CustomModifiersEncoder;false;AddModifier;(System.Reflection.Metadata.EntityHandle,System.Boolean);;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;Add;(System.Reflection.Metadata.ExceptionRegionKind,System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle,System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddCatch;(System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFault;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFilter;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFinally;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[2];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[3];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[2];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[3];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[4];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;MetadataRootBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;get_Sizes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Collections.Immutable.ImmutableArray);;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata.Ecma335;PortablePdbBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[2];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Pointer;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;SZArray;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata;AssemblyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;AssemblyDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;AssemblyFile;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;AssemblyReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;Blob;false;GetBytes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection.Metadata;BlobBuilder;false;GetBlobs;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];taint;generated", + "System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];taint;generated", + "System.Reflection.Metadata;BlobBuilder;false;ReserveBytes;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobBuilder;false;TryWriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata;BlobReader;false;ReadConstant;(System.Reflection.Metadata.ConstantTypeCode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobReader;false;ReadSerializedString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobReader;false;ReadUTF16;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobReader;false;ReadUTF8;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobReader;false;get_CurrentPointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobReader;false;get_StartPointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;BlobWriter;false;BlobWriter;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Reflection.Metadata;BlobWriter;false;WriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.Metadata;BlobWriter;false;get_Blob;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;EventAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;EventDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ExportedType;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;FieldDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;GenericParameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;GenericParameterConstraint;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ImportDefinitionCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;InterfaceImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;LocalScope;false;GetChildren;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;LocalScope;false;GetLocalConstants;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;LocalScope;false;GetLocalVariables;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ManifestResource;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MemberReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetAssemblyDefinition;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetAssemblyFile;(System.Reflection.Metadata.AssemblyFileHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetAssemblyReference;(System.Reflection.Metadata.AssemblyReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetConstant;(System.Reflection.Metadata.ConstantHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetCustomAttribute;(System.Reflection.Metadata.CustomAttributeHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetCustomAttributes;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.CustomDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetDeclarativeSecurityAttribute;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetDocument;(System.Reflection.Metadata.DocumentHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetEventDefinition;(System.Reflection.Metadata.EventDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetExportedType;(System.Reflection.Metadata.ExportedTypeHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetFieldDefinition;(System.Reflection.Metadata.FieldDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetGenericParameter;(System.Reflection.Metadata.GenericParameterHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetGenericParameterConstraint;(System.Reflection.Metadata.GenericParameterConstraintHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetImportScope;(System.Reflection.Metadata.ImportScopeHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetInterfaceImplementation;(System.Reflection.Metadata.InterfaceImplementationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetLocalConstant;(System.Reflection.Metadata.LocalConstantHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetLocalScope;(System.Reflection.Metadata.LocalScopeHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetLocalVariable;(System.Reflection.Metadata.LocalVariableHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetManifestResource;(System.Reflection.Metadata.ManifestResourceHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetMemberReference;(System.Reflection.Metadata.MemberReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetMethodDefinition;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetMethodImplementation;(System.Reflection.Metadata.MethodImplementationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetMethodSpecification;(System.Reflection.Metadata.MethodSpecificationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetModuleDefinition;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetModuleReference;(System.Reflection.Metadata.ModuleReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetNamespaceDefinitionRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetParameter;(System.Reflection.Metadata.ParameterHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetPropertyDefinition;(System.Reflection.Metadata.PropertyDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetStandaloneSignature;(System.Reflection.Metadata.StandaloneSignatureHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetTypeDefinition;(System.Reflection.Metadata.TypeDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetTypeReference;(System.Reflection.Metadata.TypeReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;GetTypeSpecification;(System.Reflection.Metadata.TypeSpecificationHandle);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_AssemblyReferences;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_CustomDebugInformation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_DebugMetadataHeader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_DeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_Documents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_EventDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_FieldDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_ImportScopes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_LocalConstants;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_LocalScopes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_LocalVariables;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_MetadataPointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_MetadataVersion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_MethodDebugInformation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_MethodDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_PropertyDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReader;false;get_StringComparer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataReaderProvider;false;GetMetadataReader;(System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MetadataStringDecoder;false;GetString;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodBodyBlock;false;Create;(System.Reflection.Metadata.BlobReader);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodBodyBlock;false;GetILReader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodBodyBlock;false;get_ExceptionRegions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodBodyBlock;false;get_LocalSignature;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodDefinition;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodImport;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodImport;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;MethodSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ModuleDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ModuleReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;NamespaceDefinition;false;get_ExportedTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;NamespaceDefinition;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;NamespaceDefinition;false;get_NamespaceDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;NamespaceDefinition;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;NamespaceDefinition;false;get_TypeDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[0];ReturnValue;taint;generated", + "System.Reflection.Metadata;Parameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;PropertyAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;PropertyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;SequencePointCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;StandaloneSignature;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetInterfaceImplementations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeDefinition;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.Metadata;TypeSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;ManagedPEBuilder;false;GetDirectories;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;ManagedPEBuilder;false;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEBuilder+Section;false;Section;(System.String,System.Reflection.PortableExecutable.SectionCharacteristics);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.PortableExecutable;PEBuilder;false;GetSections;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.PortableExecutable;PEHeaders;false;get_CoffHeader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEHeaders;false;get_CorHeader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEHeaders;false;get_PEHeader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEHeaders;false;get_SectionHeaders;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEMemoryBlock;false;get_Pointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;GetEntireImage;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;GetMetadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Byte*,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection.PortableExecutable;PEReader;false;get_PEHeaders;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Reflection;Assembly;false;GetAssembly;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;Assembly;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Assembly;true;GetName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Assembly;true;GetType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Assembly;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;GetPublicKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;SetPublicKey;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Reflection;AssemblyName;false;SetPublicKeyToken;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Reflection;AssemblyName;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;get_CultureInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;get_EscapedCodeBase;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;AssemblyName;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;AssemblyName;false;set_CultureInfo;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;AssemblyName;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;AssemblyName;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeData;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;get_MemberInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeNamedArgument;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Reflection;CustomAttributeTypedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeTypedArgument;false;get_ArgumentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;CustomAttributeTypedArgument;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfo;false;GetAddMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfo;false;GetRaiseMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfo;false;GetRemoveMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfo;true;get_AddMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfo;true;get_RaiseMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfo;true;get_RemoveMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;ExceptionHandlingClause;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;IntrospectionExtensions;false;GetTypeInfo;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;LocalVariableInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;MetadataLoadContext;false;MetadataLoadContext;(System.Reflection.MetadataAssemblyResolver,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;MetadataLoadContext;false;get_CoreAssembly;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;MethodInfo;false;CreateDelegate<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;MethodInfoExtensions;false;GetBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;Module;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Module;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;ParameterInfo;false;GetRealObject;(System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;ParameterInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;ParameterInfo;false;get_Member;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;ParameterInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;ParameterInfo;false;get_ParameterType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;Pointer;false;Box;(System.Void*,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;Pointer;false;Unbox;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;PropertyInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;PropertyInfo;false;GetGetMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;PropertyInfo;false;GetSetMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;PropertyInfo;true;get_GetMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;PropertyInfo;true;get_SetMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;ReflectionTypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Reflection;ReflectionTypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetMethodInfo;(System.Delegate);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvent;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvents;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeField;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeFields;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethods;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperties;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperty;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetElementType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetMemberWithSameMetadataDefinitionAs;(System.Reflection.MemberInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetNestedTypes;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;GetPropertyImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;TypeDelegator;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Reflection;TypeDelegator;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_AssemblyQualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeDelegator;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetConstructor;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetConstructors;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetConstructors;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetDefaultMembers;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetEvents;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetEvents;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetFields;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetFields;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetGenericArguments;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetInterfaces;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMembers;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMembers;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMethods;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetMethods;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetNestedType;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetNestedTypes;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetProperties;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetProperties;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;false;GetTypeInfo;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection;TypeInfo;true;AsType;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Reflection;TypeInfo;true;GetDeclaredEvent;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;GetDeclaredField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;GetDeclaredMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;GetDeclaredNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;GetDeclaredProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_DeclaredConstructors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_DeclaredEvents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_DeclaredFields;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_DeclaredMembers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_DeclaredMethods;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_DeclaredProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_GenericTypeParameters;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Reflection;TypeInfo;true;get_ImplementedInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources.Extensions;DeserializingResourceReader;false;DeserializingResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources.Extensions;DeserializingResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources.Extensions;PreserializedResourceWriter;false;PreserializedResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources;MissingSatelliteAssemblyException;false;MissingSatelliteAssemblyException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Resources;MissingSatelliteAssemblyException;false;get_CultureName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Resources;ResourceManager;false;GetResourceFileName;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[1];Argument[Qualifier];taint;generated", + "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[2];Argument[Qualifier];taint;generated", + "System.Resources;ResourceManager;false;ResourceManager;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources;ResourceManager;false;get_BaseName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources;ResourceManager;false;get_ResourceSetType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources;ResourceReader;false;GetResourceData;(System.String,System.String,System.Byte[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Resources;ResourceReader;false;ResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources;ResourceSet;false;ResourceSet;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Resources;ResourceSet;false;ResourceSet;(System.Resources.IResourceReader);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Resources;ResourceWriter;false;ResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryRemovedArguments;false;CacheEntryRemovedArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.Runtime.Caching.CacheItem);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryRemovedArguments;false;CacheEntryRemovedArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.Runtime.Caching.CacheItem);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryRemovedArguments;false;get_CacheItem;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryRemovedArguments;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;CacheEntryUpdateArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.String,System.String);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;CacheEntryUpdateArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;CacheEntryUpdateArguments;(System.Runtime.Caching.ObjectCache,System.Runtime.Caching.CacheEntryRemovedReason,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_RegionName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_UpdatedCacheItem;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;get_UpdatedCacheItemPolicy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;set_UpdatedCacheItem;(System.Runtime.Caching.CacheItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheEntryUpdateArguments;false;set_UpdatedCacheItemPolicy;(System.Runtime.Caching.CacheItemPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;get_AbsoluteExpiration;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;get_ChangeMonitors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;get_RemovedCallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;get_SlidingExpiration;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;get_UpdateCallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;set_AbsoluteExpiration;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;CacheItemPolicy;false;set_SlidingExpiration;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;HostFileChangeMonitor;false;get_FilePaths;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;HostFileChangeMonitor;false;get_LastModified;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;HostFileChangeMonitor;false;get_UniqueId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Caching;MemoryCache;false;CreateCacheEntryChangeMonitor;(System.Collections.Generic.IEnumerable,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.Caching;MemoryCache;false;MemoryCache;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;MemoryCache;false;MemoryCache;(System.String,System.Collections.Specialized.NameValueCollection,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Caching;MemoryCache;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;CallSite;false;get_Binder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;CallSiteOps;false;AddRule<>;(System.Runtime.CompilerServices.CallSite,T);;Argument[1];Argument[0];taint;generated", + "System.Runtime.CompilerServices;CallSiteOps;false;GetCachedRules<>;(System.Runtime.CompilerServices.RuleCache);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;CallSiteOps;false;GetRules<>;(System.Runtime.CompilerServices.CallSite);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;Closure;false;Closure;(System.Object[],System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;Closure;false;Closure;(System.Object[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetOrCreateValue;(TKey);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;GetAsyncEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>+ConfiguredValueTaskAwaiter;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;DateTimeConstantAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;DefaultInterpolatedStringHandler;false;DefaultInterpolatedStringHandler;(System.Int32,System.Int32,System.IFormatProvider);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;DefaultInterpolatedStringHandler;false;DefaultInterpolatedStringHandler;(System.Int32,System.Int32,System.IFormatProvider,System.Span);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;DefaultInterpolatedStringHandler;false;DefaultInterpolatedStringHandler;(System.Int32,System.Int32,System.IFormatProvider,System.Span);;Argument[3];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;DynamicAttribute;false;DynamicAttribute;(System.Boolean[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;DynamicAttribute;false;get_TransformFlags;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;PoolingAsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;CreateRuntimeVariables;(System.Object[],System.Int64[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;CreateRuntimeVariables;(System.Object[],System.Int64[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;ExpandoPromoteClass;(System.Dynamic.ExpandoObject,System.Object,System.Object);;Argument[2];Argument[0].Element;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;ExpandoTryGetValue;(System.Dynamic.ExpandoObject,System.Object,System.Int32,System.String,System.Boolean,System.Object);;Argument[0].Element;ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;ExpandoTrySetValue;(System.Dynamic.ExpandoObject,System.Object,System.Int32,System.Object,System.String,System.Boolean);;Argument[3];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;MergeRuntimeVariables;(System.Runtime.CompilerServices.IRuntimeVariables,System.Runtime.CompilerServices.IRuntimeVariables,System.Int32[]);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;MergeRuntimeVariables;(System.Runtime.CompilerServices.IRuntimeVariables,System.Runtime.CompilerServices.IRuntimeVariables,System.Int32[]);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;MergeRuntimeVariables;(System.Runtime.CompilerServices.IRuntimeVariables,System.Runtime.CompilerServices.IRuntimeVariables,System.Int32[]);;Argument[2].Element;ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeOps;false;Quote;(System.Linq.Expressions.Expression,System.Object,System.Object[]);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;RuntimeWrappedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Runtime.CompilerServices;RuntimeWrappedException;false;RuntimeWrappedException;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;RuntimeWrappedException;false;get_WrappedException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;StrongBox<>;false;StrongBox;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;StrongBox<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;StrongBox<>;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;SwitchExpressionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Runtime.CompilerServices;SwitchExpressionException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;TupleElementNamesAttribute;false;TupleElementNamesAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Runtime.CompilerServices;TupleElementNamesAttribute;false;get_TransformNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.CompilerServices;ValueTaskAwaiter<>;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;Capture;(System.Exception);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetCurrentStackTrace;(System.Exception);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetRemoteStackTrace;(System.Exception,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetRemoteStackTrace;(System.Exception,System.String);;Argument[1];Argument[0];taint;generated", + "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetRemoteStackTrace;(System.Exception,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;get_SourceException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ArrayWithOffset;false;ArrayWithOffset;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;ArrayWithOffset;false;GetArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;CLong;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;COMException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;CULong;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;GetAddMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;GetRaiseMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;GetRemoveMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;ComAwareEventInfo;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;CriticalHandle;false;CriticalHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;CriticalHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;ExternalException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;GCHandle;false;FromIntPtr;(System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;GCHandle;false;ToIntPtr;(System.Runtime.InteropServices.GCHandle);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;HandleRef;false;ToIntPtr;(System.Runtime.InteropServices.HandleRef);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;HandleRef;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;HandleRef;false;get_Wrapper;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;Marshal;false;GenerateProgIdForType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;Marshal;false;InitHandle;(System.Runtime.InteropServices.SafeHandle,System.IntPtr);;Argument[1];Argument[0];taint;generated", + "System.Runtime.InteropServices;MemoryMarshal;false;CreateFromPinnedArray<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;MemoryMarshal;false;TryGetString;(System.ReadOnlyMemory,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;SafeHandle;false;DangerousGetHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.InteropServices;SafeHandle;false;SafeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;SafeHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.InteropServices;SequenceMarshal;false;TryGetArray<>;(System.Buffers.ReadOnlySequence,System.ArraySegment);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlyMemory<>;(System.Buffers.ReadOnlySequence,System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector128;false;Abs<>;(System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector128<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector128<>);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector256;false;Abs<>;(System.Runtime.Intrinsics.Vector256);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector256<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector256<>);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector64;false;Abs<>;(System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Intrinsics;Vector64<>;false;op_UnaryPlus;(System.Runtime.Intrinsics.Vector64<>);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyLoadContext;false;EnterContextualReflection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyLoadContext;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Loader;AssemblyLoadContext;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Remoting;ObjectHandle;false;ObjectHandle;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Remoting;ObjectHandle;false;Unwrap;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Binder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_SurrogateSelector;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Binder;(System.Runtime.Serialization.SerializationBinder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Context;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_SurrogateSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization.Json;DataContractJsonSerializer;false;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[4];ReturnValue;taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ItemName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_KeyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ValueName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ItemName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_KeyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ValueName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;get_DataContractResolver;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializerExtensions;false;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataContractSerializerExtensions;false;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);;Argument[1];Argument[0];taint;generated", + "System.Runtime.Serialization;DataMemberAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;DataMemberAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;DateTimeFormat;false;get_FormatProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;DateTimeFormat;false;get_FormatString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;EnumMemberAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;EnumMemberAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;ExportOptions;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterConverter;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterConverter;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type,System.Runtime.Serialization.StreamingContext);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterServices;false;GetSurrogateForCyclicalReference;(System.Runtime.Serialization.ISerializationSurrogate);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterServices;false;GetTypeFromAssembly;(System.Reflection.Assembly,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;FormatterServices;false;PopulateObjectMembers;(System.Object,System.Reflection.MemberInfo[],System.Object[]);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;ObjectIDGenerator;false;GetId;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;ObjectManager;false;GetObject;(System.Int64);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationEntry;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Byte);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Char);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Decimal);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int16);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int64);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.SByte);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Single);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt16);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt64);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;GetDateTime;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;GetString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;SetType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;UpdateValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;UpdateValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;UpdateValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;get_FullTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfo;false;set_FullTypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SerializationObjectManager;false;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;StreamingContext;false;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;StreamingContext;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];Argument[0];taint;generated", + "System.Runtime.Serialization;SurrogateSelector;false;GetNextSelector;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;SurrogateSelector;false;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;XPathQueryGenerator;false;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);;Argument[2];ReturnValue;taint;generated", + "System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Serialization;XmlSerializableServices;false;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);;Argument[1].Element;Argument[0];taint;generated", + "System.Runtime.Serialization;XsdDataContractExporter;false;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Serialization;XsdDataContractExporter;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Serialization;XsdDataContractExporter;false;set_Options;(System.Runtime.Serialization.ExportOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;FrameworkName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;FrameworkName;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;FrameworkName;false;get_Identifier;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;FrameworkName;false;get_Profile;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;FrameworkName;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;TargetFrameworkAttribute;false;TargetFrameworkAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkDisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime.Versioning;TargetFrameworkAttribute;false;set_FrameworkDisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[3];ReturnValue;taint;generated", + "System.Runtime;DependentHandle;false;get_Dependent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime;DependentHandle;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Runtime;DependentHandle;false;get_TargetAndDependent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ChannelBinding);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ProtectionScenario,System.Security.Authentication.ExtendedProtection.ServiceNameCollection);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomChannelBinding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomServiceNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicyTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;ServiceNameCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Claims;Claim;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[0];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated", + "System.Security.Claims;Claim;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_Issuer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_OriginalIssuer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;Claim;false;get_ValueType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;AddClaim;(System.Security.Claims.Claim);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;AddClaims;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[0];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_Actor;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_BootstrapContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_Label;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_NameClaimType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;get_RoleClaimType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsIdentity;false;set_Actor;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;set_BootstrapContext;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsIdentity;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;AddIdentities;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;AddIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IPrincipal);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;CreateClaimsIdentity;(System.IO.BinaryReader);;Argument[0];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;get_Identities;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Claims;ClaimsPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;Add;(System.Security.Cryptography.Pkcs.CmsRecipient);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;CmsRecipientCollection;(System.Security.Cryptography.Pkcs.CmsRecipient);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;CopyTo;(System.Security.Cryptography.Pkcs.CmsRecipient[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography.Pkcs;CmsRecipientEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;CmsSigner;false;get_SignaturePadding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;CmsSigner;false;set_SignaturePadding;(System.Security.Cryptography.RSASignaturePadding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_EncryptedKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_KeyEncryptionAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_OriginatorIdentifierOrKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_OtherKeyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyAgreeRecipientInfo;false;get_RecipientIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyTransRecipientInfo;false;get_EncryptedKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyTransRecipientInfo;false;get_KeyEncryptionAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;KeyTransRecipientInfo;false;get_RecipientIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12CertBag;false;GetCertificateType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12CertBag;false;Pkcs12CertBag;(System.Security.Cryptography.Oid,System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12CertBag;false;get_EncodedCertificate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;GetBagId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;Pkcs12SafeBag;(System.String,System.ReadOnlyMemory,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SafeBag;false;set_Attributes;(System.Security.Cryptography.CryptographicAttributeObjectCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SafeContents;false;AddSafeBag;(System.Security.Cryptography.Pkcs.Pkcs12SafeBag);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SafeContents;false;AddSecret;(System.Security.Cryptography.Oid,System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SecretBag;false;GetSecretType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs12SecretBag;false;get_SecretValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9AttributeObject;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9AttributeObject;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9ContentType;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9ContentType;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9DocumentDescription;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9DocumentDescription;false;Pkcs9DocumentDescription;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9DocumentDescription;false;get_DocumentDescription;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9DocumentName;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9DocumentName;false;Pkcs9DocumentName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9DocumentName;false;get_DocumentName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9LocalKeyId;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9MessageDigest;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9MessageDigest;false;get_MessageDigest;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9SigningTime;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9SigningTime;false;Pkcs9SigningTime;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Pkcs;Pkcs9SigningTime;false;get_SigningTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;CopyTo;(System.Security.Cryptography.Pkcs.RecipientInfo[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;RecipientInfoCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography.Pkcs;RecipientInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampRequest;false;GetNonce;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;AsSignedCms;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForData;(System.ReadOnlySpan,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[2].Element;ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForData;(System.ReadOnlySpan,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[3].Element;ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.Oid,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[3].Element;ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForHash;(System.ReadOnlySpan,System.Security.Cryptography.Oid,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForSignerInfo;(System.Security.Cryptography.Pkcs.SignerInfo,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[2].Element;ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampToken;false;VerifySignatureForSignerInfo;(System.Security.Cryptography.Pkcs.SignerInfo,System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;GetNonce;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;GetSerialNumber;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;GetTimestampAuthorityName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;Rfc3161TimestampTokenInfo;false;get_Timestamp;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfo;false;get_Certificate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfo;false;get_DigestAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfo;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfo;false;get_SignedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfo;false;get_UnsignedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;CopyTo;(System.Security.Cryptography.Pkcs.SignerInfo[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Pkcs;SignerInfoCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography.Pkcs;SignerInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;PublicKey;false;PublicKey;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedData,System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;PublicKey;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;PublicKey;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.Security.Cryptography.X509Certificates.X500DistinguishedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.String,System.Security.Cryptography.X509Certificates.X500DistinguishedNameFlags);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509BasicConstraintsExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Extensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_IssuerName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotAfter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotBefore;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PrivateKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SerialNumber;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SubjectName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Thumbprint;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate2Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;GetCertHashString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;GetKeyAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;GetSerialNumberString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Issuer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainPolicy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainStatus;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Chain;false;set_ChainPolicy;(System.Security.Cryptography.X509Certificates.X509ChainPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography.X509Certificates;X509ChainElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509ChainStatus;false;get_StatusInformation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509ChainStatus;false;set_StatusInformation;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;get_EnhancedKeyUsages;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509Extension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography.X509Certificates;X509ExtensionEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509KeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForECDsa;(System.Security.Cryptography.ECDsa);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[1];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;get_SubjectKeyIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;CipherData;false;CipherData;(System.Security.Cryptography.Xml.CipherReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;CipherData;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;CipherData;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;CipherData;false;get_CipherReference;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;CipherData;false;get_CipherValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;CipherData;false;set_CipherReference;(System.Security.Cryptography.Xml.CipherReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;CipherReference;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;CipherReference;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DSAKeyValue;false;DSAKeyValue;(System.Security.Cryptography.DSA);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DSAKeyValue;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;DSAKeyValue;false;set_Key;(System.Security.Cryptography.DSA);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[2];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;DataObject;(System.String,System.String,System.String,System.Xml.XmlElement);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;get_MimeType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;set_Data;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;DataObject;false;set_MimeType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedData;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedData;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;AddReference;(System.Security.Cryptography.Xml.DataReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;AddReference;(System.Security.Cryptography.Xml.KeyReference);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;get_CarriedKeyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;get_Recipient;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;get_ReferenceList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;set_CarriedKeyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedKey;false;set_Recipient;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;EncryptedReference;(System.String,System.Security.Cryptography.Xml.TransformChain);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;EncryptedReference;(System.String,System.Security.Cryptography.Xml.TransformChain);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;get_ReferenceType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;get_TransformChain;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;set_ReferenceType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;set_TransformChain;(System.Security.Cryptography.Xml.TransformChain);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;false;set_Uri;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;true;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedReference;true;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;false;get_KeyInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;false;set_KeyInfo;(System.Security.Cryptography.Xml.KeyInfo);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_CipherData;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_EncryptionMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_EncryptionProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_MimeType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;set_CipherData;(System.Security.Cryptography.Xml.CipherData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;set_EncryptionMethod;(System.Security.Cryptography.Xml.EncryptionMethod);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;set_MimeType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedType;true;set_Type;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;EncryptedXml;(System.Xml.XmlDocument,System.Security.Policy.Evidence);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;EncryptedXml;(System.Xml.XmlDocument,System.Security.Policy.Evidence);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;GetDecryptionKey;(System.Security.Cryptography.Xml.EncryptedData,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;GetIdElement;(System.Xml.XmlDocument,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;get_DocumentEvidence;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;get_Recipient;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;get_Resolver;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;set_DocumentEvidence;(System.Security.Policy.Evidence);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;set_Recipient;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptedXml;false;set_Resolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionMethod;false;EncryptionMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionMethod;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionMethod;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionMethod;false;get_KeyAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionMethod;false;set_KeyAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;EncryptionProperty;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;get_PropertyElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionProperty;false;set_PropertyElement;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;Add;(System.Security.Cryptography.Xml.EncryptionProperty);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;CopyTo;(System.Security.Cryptography.Xml.EncryptionProperty[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;Insert;(System.Int32,System.Security.Cryptography.Xml.EncryptionProperty);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;EncryptionPropertyCollection;false;set_ItemOf;(System.Int32,System.Security.Cryptography.Xml.EncryptionProperty);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfo;false;AddClause;(System.Security.Cryptography.Xml.KeyInfoClause);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfo;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfo;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;KeyInfoEncryptedKey;(System.Security.Cryptography.Xml.EncryptedKey);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;get_EncryptedKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoEncryptedKey;false;set_EncryptedKey;(System.Security.Cryptography.Xml.EncryptedKey);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoName;false;KeyInfoName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoName;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoName;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoName;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoNode;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoNode;false;KeyInfoNode;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoNode;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoNode;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoNode;false;set_Value;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;KeyInfoRetrievalMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;KeyInfoRetrievalMethod;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;KeyInfoRetrievalMethod;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoRetrievalMethod;false;set_Uri;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;AddSubjectKeyId;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;AddSubjectName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_CRL;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_Certificates;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_IssuerSerials;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_SubjectKeyIds;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;get_SubjectNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;KeyInfoX509Data;false;set_CRL;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;RSAKeyValue;false;RSAKeyValue;(System.Security.Cryptography.RSA);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;RSAKeyValue;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;RSAKeyValue;false;set_Key;(System.Security.Cryptography.RSA);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;AddTransform;(System.Security.Cryptography.Xml.Transform);;Argument[Qualifier];Argument[0];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;Reference;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;Reference;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;get_DigestMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;get_DigestValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;get_TransformChain;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Reference;false;set_DigestMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;set_DigestValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;set_TransformChain;(System.Security.Cryptography.Xml.TransformChain);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;set_Type;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Reference;false;set_Uri;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;ReferenceList;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;ReferenceList;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;ReferenceList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;ReferenceList;false;set_ItemOf;(System.Int32,System.Security.Cryptography.Xml.EncryptedReference);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;AddObject;(System.Security.Cryptography.Xml.DataObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Signature;false;get_KeyInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Signature;false;get_ObjectList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Signature;false;get_SignatureValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Signature;false;get_SignedInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Signature;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;set_KeyInfo;(System.Security.Cryptography.Xml.KeyInfo);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;set_ObjectList;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;set_SignatureValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Signature;false;set_SignedInfo;(System.Security.Cryptography.Xml.SignedInfo);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;AddReference;(System.Security.Cryptography.Xml.Reference);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;AddReference;(System.Security.Cryptography.Xml.Reference);;Argument[Qualifier];Argument[0];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;get_CanonicalizationMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;get_CanonicalizationMethodObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;get_References;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;get_SignatureLength;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;get_SignatureMethod;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;set_CanonicalizationMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;set_SignatureLength;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedInfo;false;set_SignatureMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;GetIdElement;(System.Xml.XmlDocument,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;LoadXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;SignedXml;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;SignedXml;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_EncryptedXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_KeyInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_SafeCanonicalizationMethods;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_Signature;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_SignatureFormatValidator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_SignatureValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_SignedInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_SigningKey;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;get_SigningKeyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;set_EncryptedXml;(System.Security.Cryptography.Xml.EncryptedXml);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;set_KeyInfo;(System.Security.Cryptography.Xml.KeyInfo);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;set_Resolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;set_SigningKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;SignedXml;false;set_SigningKeyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Transform;false;GetXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Transform;false;get_Algorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Transform;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Transform;false;get_PropagatedNamespaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Transform;false;get_Resolver;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;Transform;false;set_Algorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Transform;false;set_Context;(System.Xml.XmlElement);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;Transform;false;set_Resolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;TransformChain;false;Add;(System.Security.Cryptography.Xml.Transform);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;TransformChain;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;AddExceptUri;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;get_EncryptedXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDecryptionTransform;false;set_EncryptedXml;(System.Security.Cryptography.Xml.EncryptedXml);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;GetOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigBase64Transform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigC14NTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigEnvelopedSignatureTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;XmlDsigExcC14NTransform;(System.Boolean,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;get_InclusiveNamespacesPrefixList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigExcC14NTransform;false;set_InclusiveNamespacesPrefixList;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXPathTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;GetInnerXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;LoadInnerXml;(System.Xml.XmlNodeList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;LoadInput;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlDsigXsltTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlLicenseTransform;false;GetOutput;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlLicenseTransform;false;GetOutput;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlLicenseTransform;false;get_Decryptor;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlLicenseTransform;false;get_InputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlLicenseTransform;false;get_OutputTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography.Xml;XmlLicenseTransform;false;set_Decryptor;(System.Security.Cryptography.Xml.IRelDecryptor);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;Format;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;get_RawData;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;AsnEncodedData;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedDataCollection;false;AsnEncodedDataCollection;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;AsnEncodedDataCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;AsnEncodedDataCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography;AsnEncodedDataEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;CryptographicAttributeObject;false;CryptographicAttributeObject;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedDataCollection);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;CryptographicAttributeObject;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;Add;(System.Security.Cryptography.CryptographicAttributeObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;CopyTo;(System.Security.Cryptography.CryptographicAttributeObject[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;CryptographicAttributeObjectCollection;(System.Security.Cryptography.CryptographicAttributeObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;CryptographicAttributeObjectCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography;CryptographicAttributeObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;CspParameters;false;get_ParentWindowHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;CspParameters;false;set_ParentWindowHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;DSASignatureDeformatter;false;DSASignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;DSASignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;DSASignatureFormatter;false;DSASignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;DSASignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;ECCurve;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;ECCurve;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;HMAC;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;HMAC;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;HashAlgorithmName;false;HashAlgorithmName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;HashAlgorithmName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;HashAlgorithmName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.Byte[]);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;IncrementalHash;false;CreateHash;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;IncrementalHash;false;get_AlgorithmName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;Oid;false;FromFriendlyName;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;Oid;false;FromOidValue;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;Oid;false;Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;Oid;false;Oid;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;Oid;false;get_FriendlyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;Oid;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;Oid;false;set_FriendlyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;Oid;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;OidCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;OidCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;OidCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Cryptography;OidEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;PKCS1MaskGenerationMethod;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;PKCS1MaskGenerationMethod;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[2];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[4];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;PasswordDeriveBytes;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;PasswordDeriveBytes;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAEncryptionPadding;false;CreateOaep;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;taint;generated", + "System.Security.Cryptography;RSAEncryptionPadding;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;RSAEncryptionPadding;false;get_OaepHashAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;RSAOAEPKeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;RSAOAEPKeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;RSAPKCS1KeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;get_RNG;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;set_RNG;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;RSAPKCS1KeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;RSAPKCS1SignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;RSAPKCS1SignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Cryptography;SafeEvpPKeyHandle;false;DuplicateHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Permissions;FileDialogPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;FileIOPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;PrincipalPermission;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Permissions;PrincipalPermission;false;Intersect;(System.Security.IPermission);;Argument[0];ReturnValue;taint;generated", + "System.Security.Permissions;PrincipalPermission;false;Intersect;(System.Security.IPermission);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Permissions;PrincipalPermission;false;Union;(System.Security.IPermission);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Permissions;PublisherIdentityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;ReflectionPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;SecurityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;StrongNameIdentityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;TypeDescriptorPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;UIPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Permissions;ZoneIdentityPermission;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Policy;HashMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Policy;PolicyStatement;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Policy;PublisherMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Policy;StrongNameMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Policy;ZoneMembershipCondition;false;Copy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security.Principal;GenericIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.Security.Principal.GenericIdentity);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security.Principal;GenericIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Principal;GenericIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Principal;GenericIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security.Principal;GenericPrincipal;false;GenericPrincipal;(System.Security.Principal.IIdentity,System.String[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security.Principal;GenericPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;HostProtectionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Security;PermissionSet;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;AddChild;(System.Security.SecurityElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;Attribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;Escape;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;SearchForChildByTag;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;SearchForTextOfTag;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;SecurityElement;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;get_Children;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Security;SecurityElement;false;set_Children;(System.Collections.ArrayList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;set_Tag;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security;SecurityElement;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Security;SecurityException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;Atom10FeedFormatter;false;WriteItem;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;Atom10FeedFormatter;false;WriteItems;(System.Xml.XmlWriter,System.Collections.Generic.IEnumerable,System.Uri);;Argument[1].Element;Argument[0];taint;generated", + "System.ServiceModel.Syndication;AtomPub10CategoriesDocumentFormatter;false;AtomPub10CategoriesDocumentFormatter;(System.Type,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;AtomPub10CategoriesDocumentFormatter;false;AtomPub10CategoriesDocumentFormatter;(System.Type,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;AtomPub10ServiceDocumentFormatter;false;AtomPub10ServiceDocumentFormatter;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;CategoriesDocument;false;Create;(System.Collections.ObjectModel.Collection,System.Boolean,System.String);;Argument[0].Element;ReturnValue;taint;generated", + "System.ServiceModel.Syndication;CategoriesDocument;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;CategoriesDocument;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;CategoriesDocument;true;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;CategoriesDocumentFormatter;false;CategoriesDocumentFormatter;(System.ServiceModel.Syndication.CategoriesDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;CategoriesDocumentFormatter;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;CategoriesDocumentFormatter;true;SetDocument;(System.ServiceModel.Syndication.CategoriesDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;InlineCategoriesDocument;false;InlineCategoriesDocument;(System.Collections.Generic.IEnumerable,System.Boolean,System.String);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;InlineCategoriesDocument;false;get_Categories;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;ResourceCollectionInfo;(System.ServiceModel.Syndication.TextSyndicationContent,System.Uri,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;ResourceCollectionInfo;(System.ServiceModel.Syndication.TextSyndicationContent,System.Uri,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_Accepts;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_Categories;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ResourceCollectionInfo;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;Rss20FeedFormatter;false;SetFeed;(System.ServiceModel.Syndication.SyndicationFeed);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;Rss20FeedFormatter;false;WriteItem;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.Uri);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;Rss20FeedFormatter;false;WriteItems;(System.Xml.XmlWriter,System.Collections.Generic.IEnumerable,System.Uri);;Argument[1].Element;Argument[0];taint;generated", + "System.ServiceModel.Syndication;ServiceDocument;false;ServiceDocument;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;ServiceDocument;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;ServiceDocument;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ServiceDocument;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ServiceDocument;false;get_Workspaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;ServiceDocumentFormatter;(System.ServiceModel.Syndication.ServiceDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.CategoriesDocument,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.ResourceCollectionInfo,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.ServiceDocument,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.Workspace,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;ServiceDocumentFormatter;true;SetDocument;(System.ServiceModel.Syndication.ServiceDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationCategory;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationCategory;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationCategory;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationContent;false;CreateUrlContent;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationContent;false;CreateXmlContent;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationContent;false;WriteTo;(System.Xml.XmlWriter,System.String,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationContent;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetObject<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetObject<>;(System.Runtime.Serialization.XmlObjectSerializer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetObject<>;(System.Xml.Serialization.XmlSerializer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;GetReader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.Object,System.Xml.Serialization.XmlSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.Object,System.Xml.Serialization.XmlSerializer);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[2];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[3];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;SyndicationElementExtension;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;get_OuterName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtension;false;get_OuterNamespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Object,System.Runtime.Serialization.DataContractSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Object,System.Xml.Serialization.XmlSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.String,System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[2];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;Add;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;GetReaderAtElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;InsertItem;(System.Int32,System.ServiceModel.Syndication.SyndicationElementExtension);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;ReadElementExtensions<>;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;ReadElementExtensions<>;(System.String,System.String,System.Runtime.Serialization.XmlObjectSerializer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;ReadElementExtensions<>;(System.String,System.String,System.Xml.Serialization.XmlSerializer);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationElementExtensionCollection;false;SetItem;(System.Int32,System.ServiceModel.Syndication.SyndicationElementExtension);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;Clone;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;SyndicationFeed;(System.ServiceModel.Syndication.SyndicationFeed,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;SyndicationFeed;(System.String,System.String,System.Uri,System.String,System.DateTimeOffset,System.Collections.Generic.IEnumerable);;Argument[4];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;SyndicationFeed;(System.String,System.String,System.Uri,System.String,System.DateTimeOffset,System.Collections.Generic.IEnumerable);;Argument[5].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_Authors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_Categories;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_Contributors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_LastUpdatedTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;get_Links;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;set_Items;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeed;false;set_LastUpdatedTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;SyndicationFeedFormatter;(System.ServiceModel.Syndication.SyndicationFeed);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationCategory,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationFeed,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationLink,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationPerson,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;false;get_Feed;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationFeedFormatter;true;SetFeed;(System.ServiceModel.Syndication.SyndicationFeed);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;SyndicationItem;(System.ServiceModel.Syndication.SyndicationItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;SyndicationItem;(System.String,System.ServiceModel.Syndication.SyndicationContent,System.Uri,System.String,System.DateTimeOffset);;Argument[4];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_Authors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_Categories;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_Contributors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_LastUpdatedTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_Links;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;get_PublishDate;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;set_LastUpdatedTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationItem;false;set_PublishDate;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;false;SyndicationItemFormatter;(System.ServiceModel.Syndication.SyndicationItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationCategory,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationItem,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationLink,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.ServiceModel.Syndication.SyndicationPerson,System.String);;Argument[1];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;false;get_Item;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationItemFormatter;true;SetItem;(System.ServiceModel.Syndication.SyndicationItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;SyndicationLink;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationLink;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationLink;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationPerson;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;SyndicationPerson;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;SyndicationPerson;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;UrlSyndicationContent;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;UrlSyndicationContent;false;UrlSyndicationContent;(System.ServiceModel.Syndication.UrlSyndicationContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;UrlSyndicationContent;false;UrlSyndicationContent;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;UrlSyndicationContent;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;Workspace;false;Workspace;(System.ServiceModel.Syndication.TextSyndicationContent,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;Workspace;false;WriteAttributeExtensions;(System.Xml.XmlWriter,System.String);;Argument[Qualifier];Argument[0];taint;generated", + "System.ServiceModel.Syndication;Workspace;false;get_AttributeExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;Workspace;false;get_Collections;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;Workspace;false;get_ElementExtensions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;GetReaderAtContent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.ServiceModel.Syndication.XmlSyndicationContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.String,System.Object,System.Runtime.Serialization.XmlObjectSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.String,System.Object,System.Xml.Serialization.XmlSerializer);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.String,System.ServiceModel.Syndication.SyndicationElementExtension);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;XmlSyndicationContent;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.ServiceModel.Syndication;XmlSyndicationContent;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Encodings.Web;TextEncoder;false;Encode;(System.IO.TextWriter,System.String);;Argument[1];Argument[0];taint;generated", + "System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.Char[],System.Int32,System.Int32);;Argument[1].Element;Argument[0];taint;generated", + "System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.String,System.Int32,System.Int32);;Argument[1];Argument[0];taint;generated", + "System.Text.Encodings.Web;TextEncoder;true;Encode;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonArray;false;Add<>;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json.Nodes;JsonArray;false;Create;(System.Text.Json.JsonElement,System.Nullable);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonArray;false;JsonArray;(System.Text.Json.Nodes.JsonNodeOptions,System.Text.Json.Nodes.JsonNode[]);;Argument[Qualifier];Argument[1].Element;taint;generated", + "System.Text.Json.Nodes;JsonArray;false;JsonArray;(System.Text.Json.Nodes.JsonNode[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;AsArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;AsObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;AsValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;Parse;(System.Text.Json.Utf8JsonReader,System.Nullable);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonNode;false;get_Root;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text.Json.Nodes;JsonNode;false;set_Parent;(System.Text.Json.Nodes.JsonNode);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json.Nodes;JsonObject;false;Create;(System.Text.Json.JsonElement,System.Nullable);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json.Nodes;JsonValue;false;Create<>;(T,System.Text.Json.Serialization.Metadata.JsonTypeInfo,System.Nullable);;Argument[1];ReturnValue;taint;generated", + "System.Text.Json.Serialization.Metadata;JsonTypeInfo<>;false;get_SerializeHandler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Serialization;JsonSerializerContext;false;JsonSerializerContext;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json.Serialization;JsonSerializerContext;false;JsonSerializerContext;(System.Text.Json.JsonSerializerOptions);;Argument[Qualifier];Argument[0];taint;generated", + "System.Text.Json.Serialization;JsonSerializerContext;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json.Serialization;JsonStringEnumConverter;false;JsonStringEnumConverter;(System.Text.Json.JsonNamingPolicy,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonDocument;false;Parse;(System.Buffers.ReadOnlySequence,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonDocument;false;Parse;(System.IO.Stream,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonDocument;false;Parse;(System.ReadOnlyMemory,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonDocument;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonDocument;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonDocument);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonDocument;false;get_RootElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement+ArrayEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;Clone;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text.Json;JsonElement;false;EnumerateArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;EnumerateObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;TryGetProperty;(System.String,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Nullable);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonElement;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonEncodedText;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Text.Json;JsonException;false;JsonException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonException;false;JsonException;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonException;false;JsonException;(System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable,System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonReaderState;false;JsonReaderState;(System.Text.Json.JsonReaderOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonReaderState;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.Serialization.JsonSerializerContext);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.Serialization.Metadata.JsonTypeInfo);;Argument[0];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializerOptions;false;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonSerializerOptions;false;get_DictionaryKeyPolicy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializerOptions;false;get_Encoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializerOptions;false;get_PropertyNamingPolicy;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializerOptions;false;get_ReferenceHandler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;JsonSerializerOptions;false;set_DictionaryKeyPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonSerializerOptions;false;set_Encoder;(System.Text.Encodings.Web.JavaScriptEncoder);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonSerializerOptions;false;set_PropertyNamingPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;JsonSerializerOptions;false;set_ReferenceHandler;(System.Text.Json.Serialization.ReferenceHandler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonReader;false;get_CurrentState;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;Utf8JsonReader;false;get_Position;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.Json;Utf8JsonWriter;false;Reset;(System.Buffers.IBufferWriter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonWriter;false;Reset;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];taint;generated", + "System.Text.Json;Utf8JsonWriter;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;CaptureCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Group;false;Synchronized;(System.Text.RegularExpressions.Group);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;GroupCollection;false;TryGetValue;(System.String,System.Text.RegularExpressions.Group);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;GroupCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;GroupCollection;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Match;false;NextMatch;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Match;false;Synchronized;(System.Text.RegularExpressions.Match);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;MatchCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text.RegularExpressions;Regex;false;Escape;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;GroupNameFromNumber;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;IsMatch;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;IsMatch;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Match;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[1];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[3];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;Unescape;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;get_CapNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;get_Caps;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;Regex;false;set_CapNames;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;Regex;false;set_Caps;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[3];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[5];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;get_Pattern;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;set_MatchTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexCompilationInfo;false;set_Pattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexMatchTimeoutException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Text.RegularExpressions;RegexParseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated", + "System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;ASCIIEncoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;ASCIIEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Decoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Decoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Decoder;false;set_Fallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;DecoderFallbackException;false;DecoderFallbackException;(System.String,System.Byte[],System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Text;DecoderFallbackException;false;get_BytesUnknown;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;DecoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;DecoderReplacementFallback;false;DecoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;DecoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;DecoderReplacementFallbackBuffer;false;DecoderReplacementFallbackBuffer;(System.Text.DecoderReplacementFallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;Encoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Encoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Encoder;false;set_Fallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;EncoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;EncoderReplacementFallback;false;EncoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;EncoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;EncoderReplacementFallbackBuffer;false;EncoderReplacementFallbackBuffer;(System.Text.EncoderReplacementFallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[]);;Argument[2].Element;ReturnValue;taint;generated", + "System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[],System.Int32,System.Int32);;Argument[2].Element;ReturnValue;taint;generated", + "System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[2];ReturnValue;taint;generated", + "System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];Argument[Qualifier];taint;generated", + "System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];Argument[Qualifier];taint;generated", + "System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated", + "System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;taint;generated", + "System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated", + "System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;taint;generated", + "System.Text;Encoding;false;get_DecoderFallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Encoding;false;get_EncoderFallback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Encoding;false;set_DecoderFallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;Encoding;false;set_EncoderFallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;Encoding;true;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;Encoding;true;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;EncodingExtensions;false;RemovePreamble;(System.Text.Encoding);;Argument[0];ReturnValue;taint;generated", + "System.Text;EncodingProvider;true;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated", + "System.Text;EncodingProvider;true;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated", + "System.Text;SpanLineEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;SpanLineEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;SpanRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;SpanRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendFormatted;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendFormatted<>;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendFormatted<>;(T,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendInterpolatedStringHandler;(System.Int32,System.Int32,System.Text.StringBuilder);;Argument[2];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendInterpolatedStringHandler;(System.Int32,System.Int32,System.Text.StringBuilder,System.IFormatProvider);;Argument[2];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendInterpolatedStringHandler;(System.Int32,System.Int32,System.Text.StringBuilder,System.IFormatProvider);;Argument[3];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+AppendInterpolatedStringHandler;false;AppendLiteral;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Text;StringBuilder+ChunkEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder+ChunkEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Append;(System.IFormatProvider,System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;AppendLine;(System.IFormatProvider,System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;AppendLine;(System.Text.StringBuilder+AppendInterpolatedStringHandler);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Clear;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;GetChunks;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Byte);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[]);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Decimal);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Double);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Int16);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.SByte);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.Single);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.String,System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt16);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt64);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Replace;(System.Char,System.Char,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringBuilder;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;StringBuilder;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Text;StringRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;UTF32Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;UTF8Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;UTF8Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Text;UnicodeEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;ConcurrencyLimiter;false;AcquireCore;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;ConcurrencyLimiter;false;ConcurrencyLimiter;(System.Threading.RateLimiting.ConcurrencyLimiterOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.RateLimiting;ConcurrencyLimiter;false;WaitAsyncCore;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;MetadataName;false;Create<>;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Threading.RateLimiting;MetadataName<>;false;MetadataName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.RateLimiting;MetadataName<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;MetadataName<>;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;RateLimitLease;false;TryGetMetadata<>;(System.Threading.RateLimiting.MetadataName,T);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;RateLimiter;false;Acquire;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;RateLimiter;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.RateLimiting;TokenBucketRateLimiter;false;TokenBucketRateLimiter;(System.Threading.RateLimiting.TokenBucketRateLimiterOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchBlock<>;false;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BufferBlock<>;false;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;BufferBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObservable<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObserver<>;(System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];Argument[1];taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Post<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);;Argument[1];Argument[0];taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;SendAsync<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlock;false;TryReceive<>;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_NameFormat;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_NameFormat;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;TransformBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];Argument[0];taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[Qualifier];Argument[1];taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;get_Completion;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;GetResult;(System.Int16);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetException;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ConcurrentScheduler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ExclusiveScheduler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ParallelLoopResult;false;get_LowestBreakIteration;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ParallelOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ParallelOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ParallelOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ParallelOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;Task;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;Delay;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;Delay;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;FromCanceled;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WaitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WhenAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WhenAll;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WhenAny;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Threading.Tasks;Task;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task<>;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task<>;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;Task<>;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait;(System.IAsyncDisposable,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait<>;(System.Collections.Generic.IAsyncEnumerable,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskCanceledException;false;TaskCanceledException;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskCanceledException;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskCompletionSource;false;TaskCompletionSource;(System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskCompletionSource;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskCompletionSource<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskCompletionSource<>;false;TrySetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskCompletionSource<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskExtensions;false;Unwrap;(System.Threading.Tasks.Task);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskExtensions;false;Unwrap<>;(System.Threading.Tasks.Task>);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskFactory;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;TaskFactory<>;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;TaskFactory<>;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;UnobservedTaskExceptionEventArgs;(System.AggregateException);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask;false;AsTask;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask;false;FromResult<>;(TResult);;Argument[0];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask;false;Preserve;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ValueTask<>;false;AsTask;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask<>;false;Preserve;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ValueTask<>;false;ValueTask;(TResult);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading.Tasks;ValueTask<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.Int32,System.Threading.WaitHandle);;Argument[1];Argument[Qualifier];taint;generated", + "System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Exception,System.Int32,System.Threading.WaitHandle);;Argument[3];Argument[Qualifier];taint;generated", + "System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Int32,System.Threading.WaitHandle);;Argument[2];Argument[Qualifier];taint;generated", + "System.Threading;AbandonedMutexException;false;get_Mutex;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;CancellationToken;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;CancellationTokenSource;false;get_Token;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;CompressedStack;false;CreateCopy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Threading;CountdownEvent;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;ExecutionContext;false;CreateCopy;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Threading;HostExecutionContextManager;false;SetHostExecutionContext;(System.Threading.HostExecutionContext);;Argument[0];ReturnValue;taint;generated", + "System.Threading;LazyInitializer;false;EnsureInitialized<>;(T);;Argument[0];ReturnValue;taint;generated", + "System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[2];ReturnValue;taint;generated", + "System.Threading;ManualResetEventSlim;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;PeriodicTimer;false;WaitForNextTickAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;WaitAsync;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;SemaphoreSlim;false;get_AvailableWaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;Thread;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;Thread;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading;ThreadExceptionEventArgs;false;ThreadExceptionEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading;ThreadExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;WaitHandle;false;set_SafeWaitHandle;(Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading;WaitHandle;true;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Threading;WaitHandle;true;set_Handle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated", + "System.Threading;WaitHandleExtensions;false;SetSafeWaitHandle;(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[1];Argument[0];taint;generated", + "System.Timers;Timer;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Timers;Timer;false;get_SynchronizingObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Timers;Timer;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated", + "System.Timers;Timer;false;set_SynchronizingObject;(System.ComponentModel.ISynchronizeInvoke);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;CommittableTransaction;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;CommittableTransaction;false;get_AsyncWaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];taint;generated", + "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;PromoteAndEnlistDurable;(System.Guid,System.Transactions.IPromotableSinglePhaseNotification,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;Rollback;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;Transaction;false;SetDistributedTransactionIdentifier;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];taint;generated", + "System.Transactions;Transaction;false;get_PromoterType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;Transaction;false;get_TransactionInformation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;TransactionEventArgs;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;TransactionInformation;false;get_DistributedIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;TransactionOptions;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Transactions;TransactionOptions;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];taint;generated", + "System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];taint;generated", + "System.Web;HttpUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Web;HttpUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];taint;generated", + "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated", + "System.Web;HttpUtility;false;UrlPathEncode;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;DescendantNodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;DescendantNodesAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;InDocumentOrder<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;Extensions;false;Nodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Linq;XAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XAttribute;false;get_NextAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XAttribute;false;get_PreviousAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XCData;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XCData;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XComment;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XComment;false;XComment;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XComment;false;XComment;(System.Xml.Linq.XComment);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XComment;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XComment;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XContainer;false;AddFirst;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XContainer;false;AddFirst;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XContainer;false;CreateWriter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;DescendantNodes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;Descendants;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;Descendants;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;Element;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;Elements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;Elements;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;Nodes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XContainer;false;get_FirstNode;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XContainer;false;get_LastNode;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDeclaration;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDeclaration;false;XDeclaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XDocument;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XDocument;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;XDocument;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDeclaration,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocument;false;get_Declaration;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;get_Root;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocument;false;set_Declaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;XDocumentType;(System.Xml.Linq.XDocumentType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XDocumentType;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XDocumentType;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;AncestorsAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;AncestorsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Attribute;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Attributes;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;DescendantNodesAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;DescendantsAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;DescendantsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XElement;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;SetElementValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[Qualifier];Argument[1];taint;generated", + "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XElement;false;get_FirstAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;get_LastAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XElement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XName;false;Get;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XName;false;Get;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XName;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XName;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XName;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNamespace;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XNamespace;false;op_Addition;(System.Xml.Linq.XNamespace,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XNode;false;Ancestors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;Ancestors;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;CreateReader;(System.Xml.Linq.ReaderOptions);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;ElementsAfterSelf;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;ElementsAfterSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;NodesAfterSelf;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;ReadFrom;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Linq;XNode;false;ReplaceWith;(System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XNode;false;ReplaceWith;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml.Linq;XNode;false;get_NextNode;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;AddAnnotation;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XObject;false;Annotation;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;Annotation<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;Annotations;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;Annotations<>;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.Xml.Linq.XProcessingInstruction);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XProcessingInstruction;false;set_Target;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml.Linq;XStreamingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XStreamingElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Linq;XText;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Linq;XText;false;XText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XText;false;XText;(System.Xml.Linq.XText);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Linq;XText;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Linq;XText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Resolvers;XmlPreloadedResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XAttribute);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XElement);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;ValidationEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;ValidationEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlAtomicValue;false;Clone;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Xml.Schema;XmlAtomicValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlAtomicValue;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;value;generated", + "System.Xml.Schema;XmlAtomicValue;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlAtomicValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlAtomicValue;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlAtomicValue;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Elements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Groups;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Includes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Notations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_TargetNamespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchema;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchema;false;set_TargetNamespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchema;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchema;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAll;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotated;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotated;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotated;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotated;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAnnotated;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAnnotated;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAnnotation;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotation;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotation;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnnotation;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAnnotation;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAny;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAny;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAnyAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAnyAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAppInfo;false;get_Markup;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAppInfo;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAppInfo;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAppInfo;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;get_RedefinedAttributeGroup;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaAttributeGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaChoice;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema,System.Xml.XmlResolver);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaCollection;false;XmlSchemaCollection;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaCollection;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Xml.Schema;XmlSchemaComplexContent;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeUses;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeWildcard;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_ContentModel;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_ContentTypeParticle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;set_ContentModel;(System.Xml.Schema.XmlSchemaContentModel);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaComplexType;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDocumentation;false;get_Language;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDocumentation;false;get_Markup;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDocumentation;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaDocumentation;false;set_Language;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaDocumentation;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaDocumentation;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_ElementSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_ElementType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;get_SubstitutionGroup;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaElement;false;set_SubstitutionGroup;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaException;false;XmlSchemaException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaException;false;get_SourceSchemaObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;get_Schema;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;get_SchemaLocation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;set_Schema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;set_SchemaLocation;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaExternal;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaFacet;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaFacet;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaGroup;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaGroup;false;set_Particle;(System.Xml.Schema.XmlSchemaGroupBase);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaGroupRef;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Fields;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Selector;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Selector;(System.Xml.Schema.XmlSchemaXPath);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaImport;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaImport;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInclude;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInclude;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];Argument[1];taint;generated", + "System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInferenceException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;get_SchemaAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;get_SchemaElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;set_MemberType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;set_SchemaAttribute;(System.Xml.Schema.XmlSchemaAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;set_SchemaElement;(System.Xml.Schema.XmlSchemaElement);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaInfo;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaKeyref;false;get_Refer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaKeyref;false;set_Refer;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaNotation;false;get_Public;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaNotation;false;get_System;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaNotation;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaNotation;false;set_Public;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaNotation;false;set_System;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaObject;false;get_Namespaces;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaObject;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaObject;false;set_Namespaces;(System.Xml.Serialization.XmlSerializerNamespaces);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaObject;false;set_Parent;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaObject;false;set_SourceUri;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaObjectCollection;false;Remove;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaObjectCollection;false;XmlSchemaObjectCollection;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaObjectTable;false;get_Names;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaObjectTable;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaRedefine;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaRedefine;false;get_Groups;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaRedefine;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaRedefine;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSequence;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;XmlSchemaSet;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;get_CompilationSettings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;get_GlobalAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;get_GlobalElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;get_GlobalTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;set_CompilationSettings;(System.Xml.Schema.XmlSchemaCompilationSettings);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSet;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContent;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleType;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleType;false;set_Content;(System.Xml.Schema.XmlSchemaSimpleTypeContent);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_BaseItemType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_BaseItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseMemberTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_MemberTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;set_MemberTypes;(System.Xml.XmlQualifiedName[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaType;false;get_BaseSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaType;false;get_BaseXmlSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaType;false;get_Datatype;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaType;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaValidationException;false;SetSourceObject;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidationException;false;get_SourceObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;AddSchema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;GetExpectedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;GetExpectedParticles;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;Initialize;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;SkipToEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[3];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[2];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[Qualifier];Argument[2];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;ValidateWhitespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;get_LineInfoProvider;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;get_ValidationEventSender;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;set_LineInfoProvider;(System.Xml.IXmlLineInfo);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;set_SourceUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;set_ValidationEventSender;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaValidator;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Schema;XmlSchemaXPath;false;get_XPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Schema;XmlSchemaXPath;false;set_XPath;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;CodeIdentifiers;false;MakeUnique;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;CodeIdentifiers;false;ToArray;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;ImportContext;false;ImportContext;(System.Xml.Serialization.CodeIdentifiers,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;ImportContext;false;get_TypeIdentifiers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;ImportContext;false;get_Warnings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;SoapAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributes;false;get_SoapAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributes;false;get_SoapDefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributes;false;get_SoapElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributes;false;get_SoapEnum;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributes;false;get_SoapType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapAttributes;false;set_SoapAttribute;(System.Xml.Serialization.SoapAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributes;false;set_SoapDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributes;false;set_SoapElement;(System.Xml.Serialization.SoapElementAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributes;false;set_SoapEnum;(System.Xml.Serialization.SoapEnumAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapAttributes;false;set_SoapType;(System.Xml.Serialization.SoapTypeAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapElementAttribute;false;SoapElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapEnumAttribute;false;SoapEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapIncludeAttribute;false;SoapIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[]);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapSchemaMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapSchemaMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapSchemaMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapSchemaMember;false;set_MemberType;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;SoapTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAnyElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAnyElementAttributes;false;Remove;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayAttribute;false;XmlArrayAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlArrayAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlArrayAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlArrayItemAttributes;false;Remove;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributeEventArgs;false;get_Attr;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeEventArgs;false;get_ExpectedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlAnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlAnyElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlArray;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlArrayItems;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlChoiceIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlDefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlEnum;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlRoot;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlText;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlAnyAttribute;(System.Xml.Serialization.XmlAnyAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlArray;(System.Xml.Serialization.XmlArrayAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlAttribute;(System.Xml.Serialization.XmlAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlEnum;(System.Xml.Serialization.XmlEnumAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlRoot;(System.Xml.Serialization.XmlRootAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlText;(System.Xml.Serialization.XmlTextAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlAttributes;false;set_XmlType;(System.Xml.Serialization.XmlTypeAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;XmlChoiceIdentifierAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownAttribute;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownNode;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnreferencedObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementAttributes;false;Remove;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlElementEventArgs;false;get_Element;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementEventArgs;false;get_ExpectedElements;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlElementEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlEnumAttribute;false;XmlEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlIncludeAttribute;false;XmlIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlMapping;false;SetKey;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlMapping;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlMapping;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlMapping;false;get_XsdElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlMemberMapping;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlMembersMapping;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlNodeEventArgs;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlNodeEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlNodeEventArgs;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlNodeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlNodeEventArgs;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;get_SoapAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;get_XmlAttributes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;set_MemberType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;set_SoapAttributes;(System.Xml.Serialization.SoapAttributes);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlReflectionMember;false;set_XmlAttributes;(System.Xml.Serialization.XmlAttributes);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;XmlRootAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlRootAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaEnumerator;false;XmlSchemaEnumerator;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaExporter;false;XmlSchemaExporter;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaProviderAttribute;false;XmlSchemaProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemaProviderAttribute;false;get_MethodName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[0];taint;generated", + "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemas;false;OnInsert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemas;false;OnSet;(System.Int32,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSchemas;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Collection;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_CollectionItems;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Ids;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader+Fixup;false;set_Source;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;AddTarget;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;CollapseWhitespace;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;EnsureArrayIndex;(System.Array,System.Int32,System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;GetTarget;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadNullableString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadReference;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.Boolean,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ReadTypedPrimitive;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ShrinkArray;(System.Array,System.Int32,System.Type,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ToByteArrayBase64;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ToXmlNCName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ToXmlName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmToken;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmTokens;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayBase64;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayHex;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[]);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[],System.String);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNCName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmToken;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmTokens;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementEncoded;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementLiteral;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncoded;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteral;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteTypedPrimitive;(System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode,System.Object);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializationWriter;false;set_Writer;(System.Xml.XmlWriter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[Qualifier];Argument[2];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[]);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[3];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[4];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;XmlSerializerVersionAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_ParentAssemblyId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_ParentAssemblyId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlTextAttribute;false;XmlTextAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlTextAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlTextAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlTextAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlTextAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlTypeAttribute;false;XmlTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Serialization;XmlTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Serialization;XmlTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[1];ReturnValue;taint;generated", + "System.Xml.XPath;XDocumentExtensions;false;ToXPathNavigable;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathDocument;false;XPathDocument;(System.Xml.XmlReader,System.Xml.XmlSpace);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.XPath;XPathException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.XPath;XPathException;false;XPathException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.XPath;XPathException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathExpression;false;Compile;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml.XPath;XPathItem;true;ValueAs;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;Compile;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;GetNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;Select;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;SelectSingleNode;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;WriteSubtree;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.XPath;XPathNavigator;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNavigator;true;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.XPath;XPathNodeIterator;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;AncestorDocOrderIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;AncestorIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;AncestorIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;AncestorIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;AttributeContentIterator;false;Create;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;AttributeContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;AttributeIterator;false;Create;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;AttributeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;ContentIterator;false;Create;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;ContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;ContentMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;ContentMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;DescendantIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DescendantIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DescendantIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;DescendantMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DescendantMergeIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DescendantMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;DifferenceIterator;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DifferenceIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DifferenceIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;DodSequenceMerge;false;AddSequence;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DodSequenceMerge;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;DodSequenceMerge;false;MergeSequences;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;ElementContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;ElementContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;ElementContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;ElementContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;FollowingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;FollowingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;FollowingSiblingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;FollowingSiblingMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;IdIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;IdIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;IdIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;IntersectIterator;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;IntersectIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;IntersectIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;NamespaceIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;NodeKindContentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.XPath.XPathNodeType);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;NodeKindContentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;NodeRangeIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;NodeRangeIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Xml.XPath.XPathNavigator);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;NodeRangeIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter,System.Xml.XPath.XPathNavigator);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;NodeRangeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;ParentIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;ParentIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;PrecedingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;PrecedingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;PrecedingSiblingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;PrecedingSiblingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;PrecedingSiblingDocOrderIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;PrecedingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;PrecedingSiblingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;PrecedingSiblingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;StringConcat;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;StringConcat;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;StringConcat;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;UnionIterator;false;Create;(System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;UnionIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;UnionIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XPathFollowingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathFollowingIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathFollowingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XPathFollowingMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathFollowingMergeIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathFollowingMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingDocOrderIterator;false;Create;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingDocOrderIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingMergeIterator;false;Create;(System.Xml.Xsl.Runtime.XmlNavigatorFilter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingMergeIterator;false;MoveNext;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XPathPrecedingMergeIterator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;BooleanToAtomicValue;(System.Boolean,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;BytesToAtomicValue;(System.Byte[],System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;BytesToAtomicValue;(System.Byte[],System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DateTimeToAtomicValue;(System.DateTime,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DateTimeToAtomicValue;(System.DateTime,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DecimalToAtomicValue;(System.Decimal,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;DoubleToAtomicValue;(System.Double,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;Int32ToAtomicValue;(System.Int32,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;Int64ToAtomicValue;(System.Int64,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;ItemsToNavigators;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;NavigatorsToItems;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;SingleToAtomicValue;(System.Single,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;StringToAtomicValue;(System.String,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;StringToAtomicValue;(System.String,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;TimeSpanToAtomicValue;(System.TimeSpan,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;TimeSpanToAtomicValue;(System.TimeSpan,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;XmlQualifiedNameToAtomicValue;(System.Xml.XmlQualifiedName,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlILStorageConverter;false;XmlQualifiedNameToAtomicValue;(System.Xml.XmlQualifiedName,System.Int32,System.Xml.Xsl.Runtime.XmlQueryRuntime);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryContext;false;GetDataSource;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryContext;false;GetLateBoundObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryContext;false;GetParameter;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryContext;false;get_DefaultDataSource;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryContext;false;get_DefaultNameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryContext;false;get_QueryNameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;AddClone;(System.Xml.XPath.XPathItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryItemSequence);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryItemSequence,System.Xml.XPath.XPathItem);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryItemSequence,System.Xml.XPath.XPathItem);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryItemSequence;false;XmlQueryItemSequence;(System.Xml.XPath.XPathItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;AddClone;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryNodeSequence);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryNodeSequence,System.Xml.XPath.XPathNavigator);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQueryNodeSequence,System.Xml.XPath.XPathNavigator);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;DocOrderDistinct;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;value;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;XmlQueryNodeSequence;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryNodeSequence;false;XmlQueryNodeSequence;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;StartCopy;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteItem;(System.Xml.XPath.XPathItem);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeComputed;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeComputed;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeComputed;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartAttributeLocalName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartElementComputed;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartElementComputed;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartElementComputed;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartNamespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;WriteStartProcessingInstruction;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryOutput;false;XsltCopyOf;(System.Xml.XPath.XPathNavigator);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;ChangeTypeXsltArgument;(System.Int32,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;ChangeTypeXsltResult;(System.Int32,System.Object);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugGetGlobalNames;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugGetGlobalValue;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugGetXsltValue;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DebugSetGlobalValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;DocOrderDistinct;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;EndRtfConstruction;(System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;EndSequenceConstruction;(System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;FindIndex;(System.Xml.XPath.XPathNavigator,System.Int32,System.Xml.Xsl.Runtime.XmlILIndex);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetAtomizedName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetCollation;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetEarlyBoundObject;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetGlobalValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;GetNameFilter;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;SetGlobalValue;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;StartRtfConstruction;(System.String,System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;StartRtfConstruction;(System.String,System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;StartSequenceConstruction;(System.Xml.Xsl.Runtime.XmlQueryOutput);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;TextRtfConstruction;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;TextRtfConstruction;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_ExternalContext;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_Output;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQueryRuntime;false;get_XsltFunctions;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;Add;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQuerySequence<>);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQuerySequence<>,T);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;CreateOrReuse;(System.Xml.Xsl.Runtime.XmlQuerySequence<>,T);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;XmlQuerySequence;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;XmlQuerySequence;(T[],System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml.Xsl.Runtime;XmlQuerySequence<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Xml.Xsl.Runtime;XmlSortKeyAccumulator;false;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;EnsureNodeSet;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;ToNode;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;ToNode;(System.Xml.XPath.XPathItem);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;ToNodeSet;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;ToNodeSet;(System.Xml.XPath.XPathItem);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;ToString;(System.Collections.Generic.IList);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltConvert;false;ToString;(System.Xml.XPath.XPathItem);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;BaseUri;(System.Xml.XPath.XPathNavigator);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;MSLocalName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;MSNamespaceUri;(System.String,System.Xml.XPath.XPathNavigator);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;NormalizeSpace;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;OuterXml;(System.Xml.XPath.XPathNavigator);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;Substring;(System.String,System.Double);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;Substring;(System.String,System.Double,System.Double);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;SubstringAfter;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;SubstringBefore;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;SubstringBefore;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltFunctions;false;Translate;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltLibrary;false;FormatMessage;(System.String,System.Collections.Generic.IList);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltLibrary;false;FormatMessage;(System.String,System.Collections.Generic.IList);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml.Xsl.Runtime;XsltLibrary;false;NumberFormat;(System.Collections.Generic.IList,System.String,System.Double,System.String,System.String,System.Double);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl;XslCompiledTransform;false;Load;(System.Reflection.MethodInfo,System.Byte[],System.Type[]);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[0];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XslTransform;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl;XsltArgumentList;false;GetExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XsltArgumentList;false;GetParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XsltArgumentList;false;RemoveExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XsltArgumentList;false;RemoveParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XsltCompileException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Xsl;XsltException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml.Xsl;XsltException;false;XsltException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml.Xsl;XsltException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml.Xsl;XsltException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;NameTable;false;Add;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;NameTable;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;NameTable;false;Get;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;NameTable;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;UniqueId;false;UniqueId;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;UniqueId;false;UniqueId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;taint;generated", + "System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttribute;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlAttribute;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlAttribute;false;get_OwnerElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttribute;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;Remove;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlAttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.String,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlCDataSection;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlCDataSection;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlCharacterData;false;XmlCharacterData;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlCharacterData;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlCharacterData;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlCharacterData;true;AppendData;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlCharacterData;true;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlCharacterData;true;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlCharacterData;true;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlComment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;DecodeName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;EncodeLocalName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;EncodeName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;EncodeNmToken;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyNCName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyNMTOKEN;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyPublicId;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyTOKEN;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyWhitespace;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlConvert;false;VerifyXmlChars;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;GetElementFromRow;(System.Data.DataRow);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;GetRowFromElement;(System.Xml.XmlElement);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDataDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDataDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDataDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDataDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDataDocument;false;XmlDataDocument;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDataDocument;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDeclaration;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDeclaration;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionary;false;Add;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionary;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionary;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionary;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[3];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[5];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateDictionaryReader;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadContentAsString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;false;ReadString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;GetNonAtomizedNames;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadArray;(System.String,System.String,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadContentAsQualifiedName;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadContentAsUniqueId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryReader;true;ReadElementContentAsUniqueId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryString;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryString;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;CreateDictionaryWriter;(System.Xml.XmlWriter);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteBase64Async;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;false;WriteStartAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteQualifiedName;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteStartAttribute;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteString;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteTextNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteValue;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateDocumentFragment;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateEntityReference;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlDocument;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlDocument;false;XmlDocument;(System.Xml.XmlImplementation);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocument;false;get_DocumentElement;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;get_Implementation;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;get_Schemas;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocument;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocument;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocumentFragment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocumentFragment;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlDocumentFragment;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlDocumentFragment;false;XmlDocumentFragment;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlDocumentType;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlDocumentType;false;get_Entities;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocumentType;false;get_Notations;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetAttributeNode;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;RemoveAttributeAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;RemoveAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;RemoveAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlElement;false;SetAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlElement;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlElement;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlElement;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlEntity;false;get_NotationName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlEntity;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlEntity;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlEntityReference;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlEntityReference;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlEntityReference;false;XmlEntityReference;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlException;false;XmlException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlImplementation;false;CreateDocument;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlImplementation;false;XmlImplementation;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlNamedNodeMap;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamespaceManager;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamespaceManager;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamespaceManager;false;XmlNamespaceManager;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlNamespaceManager;false;get_DefaultNamespace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNamespaceManager;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;GetNamespaceOfPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;GetPrefixOfNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;taint;generated", + "System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated", + "System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System.Xml;XmlNode;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNode;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[2].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[4];Argument[Qualifier];taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;get_NewParent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;get_Node;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;get_OldParent;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeChangedEventArgs;false;get_OldValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeList;true;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;XmlNodeReader;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlNodeReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNodeReader;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNotation;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlNotation;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[1].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[4];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[5];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[6];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[7];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[9];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_DocTypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_NamespaceManager;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlParserContext;false;set_BaseURI;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_DocTypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_NamespaceManager;(System.Xml.XmlNamespaceManager);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlParserContext;false;set_XmlLang;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlProcessingInstruction;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlProcessingInstruction;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlProcessingInstruction;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadContentAsObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAsDateTime;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAsObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAsObject;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementContentAsString;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadElementString;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReader;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReaderSettings;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlReaderSettings;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlReaderSettings;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlReaderSettings;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlSecureResolver;false;XmlSecureResolver;(System.Xml.XmlResolver,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlSecureResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlSignificantWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlSignificantWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlSignificantWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlText;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlText;false;SplitText;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;GetRemainder;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlTextReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlTextReader;false;XmlTextReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;XmlTextReader;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.IO.TextReader,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;XmlTextReader;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlTextReader;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlTextReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlTextReader;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextWriter;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlTextWriter;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlTextWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlTextWriter;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlUrlResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlUrlResolver;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlValidatingReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlValidatingReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlValidatingReader;false;get_Schemas;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated", + "System.Xml;XmlWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.IO.TextWriter);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.String,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.Text.StringBuilder,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteAttributeStringAsync;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteStartAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;false;WriteStartAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteAttributes;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteAttributesAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteNode;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriter;true;WriteValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriterSettings;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlWriterSettings;false;get_IndentChars;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlWriterSettings;false;get_NewLineChars;();;Argument[Qualifier];ReturnValue;taint;generated", + "System.Xml;XmlWriterSettings;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriterSettings;false;set_IndentChars;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System.Xml;XmlWriterSettings;false;set_NewLineChars;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;AggregateException;false;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;AggregateException;false;AggregateException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System;AggregateException;false;GetBaseException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;AggregateException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;AggregateException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;AggregateException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;AppDomain;false;ApplyPolicy;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;ArgumentException;false;ArgumentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;ArgumentException;false;ArgumentException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;ArgumentException;false;ArgumentException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System;ArgumentException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;ArgumentException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArgumentException;false;get_ParamName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.String,System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;ArgumentOutOfRangeException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;ArgumentOutOfRangeException;false;get_ActualValue;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArgumentOutOfRangeException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Array;false;Fill<>;(T[],T);;Argument[1];Argument[0].Element;taint;generated", + "System;Array;false;Fill<>;(T[],T,System.Int32,System.Int32);;Argument[1];Argument[0].Element;taint;generated", + "System;Array;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated", + "System;ArraySegment<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArraySegment<>;false;ArraySegment;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System;ArraySegment<>;false;ArraySegment;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArraySegment<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArraySegment<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArraySegment<>;false;get_Array;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;BadImageFormatException;false;BadImageFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System;BadImageFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;BadImageFormatException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;BadImageFormatException;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;BadImageFormatException;false;get_FusionLog;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;BadImageFormatException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;BinaryData;false;BinaryData;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated", + "System;BinaryData;false;BinaryData;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;BinaryData;false;FromBytes;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated", + "System;BinaryData;false;FromString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;BinaryData;false;ToMemory;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;BinaryData;false;ToStream;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;CultureAwareComparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;DBNull;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System;DateOnly;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;DateOnly;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;DateTime;false;GetDateTimeFormats;(System.Char,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;DateTime;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;generated", + "System;DateTime;false;ToLocalTime;();;Argument[Qualifier];ReturnValue;value;generated", + "System;DateTime;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;DateTime;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System;DateTime;false;ToUniversalTime;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;DateTimeOffset;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;DateTimeOffset;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;DateTimeOffset;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;Decimal;false;ToDecimal;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;generated", + "System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated", + "System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[1];ReturnValue;taint;generated", + "System;Delegate;false;Combine;(System.Delegate[]);;Argument[0].Element;ReturnValue;taint;generated", + "System;Delegate;false;CreateDelegate;(System.Type,System.Reflection.MethodInfo,System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System;Delegate;false;Delegate;(System.Object,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;Delegate;false;Delegate;(System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;Delegate;false;Delegate;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;Delegate;false;Delegate;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;Delegate;false;DynamicInvoke;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System;Delegate;false;Remove;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated", + "System;Delegate;false;RemoveAll;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated", + "System;Delegate;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Delegate;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Delegate;true;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System;Delegate;true;GetInvocationList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Delegate;true;GetMethodImpl;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Delegate;true;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Double;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;Double;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;Double;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;Enum;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System;Enum;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Environment;false;ExpandEnvironmentVariables;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;Exception;false;Exception;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;Exception;false;Exception;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;Exception;false;Exception;(System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated", + "System;Exception;false;Exception;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated", + "System;Exception;false;GetBaseException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;Exception;false;get_HelpLink;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Exception;false;get_InnerException;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Exception;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Exception;false;get_StackTrace;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Exception;false;get_TargetSite;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Exception;false;set_HelpLink;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;Exception;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;FormattableString;false;CurrentCulture;(System.FormattableString);;Argument[0];ReturnValue;taint;generated", + "System;FormattableString;false;Invariant;(System.FormattableString);;Argument[0];ReturnValue;taint;generated", + "System;FormattableString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;FormattableString;false;ToString;(System.String,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Half;false;BitDecrement;(System.Half);;Argument[0];ReturnValue;taint;generated", + "System;Half;false;BitIncrement;(System.Half);;Argument[0];ReturnValue;taint;generated", + "System;Half;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;Half;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;IntPtr;false;Abs;(System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;taint;generated", + "System;IntPtr;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[2];ReturnValue;taint;generated", + "System;IntPtr;false;Create<>;(TOther);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;CreateSaturating<>;(TOther);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;CreateTruncating<>;(TOther);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;IntPtr;(System.Void*);;Argument[0];Argument[Qualifier];taint;generated", + "System;IntPtr;false;Max;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;Max;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;taint;generated", + "System;IntPtr;false;Min;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;IntPtr;false;Min;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;taint;generated", + "System;IntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;IntPtr;false;TryCreate<>;(TOther,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Lazy<,>;false;Lazy;(TMetadata);;Argument[0];Argument[Qualifier];taint;generated", + "System;Lazy<,>;false;Lazy;(TMetadata,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System;Lazy<,>;false;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);;Argument[0];Argument[Qualifier];taint;generated", + "System;Lazy<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Lazy<>;false;Lazy;(T);;Argument[0];Argument[Qualifier];taint;generated", + "System;Lazy<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Math;false;Abs;(System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;taint;generated", + "System;Math;false;Clamp;(System.IntPtr,System.IntPtr,System.IntPtr);;Argument[2];ReturnValue;taint;generated", + "System;Math;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;taint;generated", + "System;Math;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[2];ReturnValue;taint;generated", + "System;Math;false;Max;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Max;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;taint;generated", + "System;Math;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;taint;generated", + "System;Math;false;Min;(System.IntPtr,System.IntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Min;(System.IntPtr,System.IntPtr);;Argument[1];ReturnValue;taint;generated", + "System;Math;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;Math;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;taint;generated", + "System;Memory<>;false;Memory;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System;Memory<>;false;Memory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System;Memory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Memory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Memory<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;MemoryExtensions+TryWriteInterpolatedStringHandler;false;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System;MemoryExtensions+TryWriteInterpolatedStringHandler;false;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated", + "System;MemoryExtensions+TryWriteInterpolatedStringHandler;false;TryWriteInterpolatedStringHandler;(System.Int32,System.Int32,System.Span,System.IFormatProvider,System.Boolean);;Argument[3];Argument[Qualifier];taint;generated", + "System;MemoryExtensions;false;AsMemory;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory;(System.String,System.Index);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory;(System.String,System.Range);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(T[],System.Index);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;AsMemory<>;(T[],System.Range);;Argument[0].Element;ReturnValue;taint;generated", + "System;MemoryExtensions;false;EnumerateLines;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;EnumerateRunes;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim;(System.Memory);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;Trim<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd;(System.Memory);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimEnd<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart;(System.Memory);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MemoryExtensions;false;TrimStart<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated", + "System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;MissingFieldException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;MissingMemberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;MissingMemberException;false;MissingMemberException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;MissingMemberException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;MissingMethodException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;MulticastDelegate;false;CombineImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;value;generated", + "System;MulticastDelegate;false;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated", + "System;MulticastDelegate;false;GetInvocationList;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;MulticastDelegate;false;GetMethodImpl;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;value;generated", + "System;NotFiniteNumberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;Nullable;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;taint;generated", + "System;Nullable<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ObjectDisposedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;ObjectDisposedException;false;ObjectDisposedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;ObjectDisposedException;false;ObjectDisposedException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;ObjectDisposedException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ObjectDisposedException;false;get_ObjectName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperatingSystem;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperatingSystem;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperatingSystem;false;get_ServicePack;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperatingSystem;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperatingSystem;false;get_VersionString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Exception,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];taint;generated", + "System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];taint;generated", + "System;OperationCanceledException;false;OperationCanceledException;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System;OperationCanceledException;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;OperationCanceledException;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated", + "System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated", + "System;ReadOnlyMemory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;ReadOnlyMemory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated", + "System;ReadOnlyMemory<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ReadOnlySpan<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;RuntimeFieldHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;RuntimeMethodHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;RuntimeTypeHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;SequencePosition;false;GetObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;SequencePosition;false;SequencePosition;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];taint;generated", + "System;Single;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;Single;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;Single;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;Span<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;String;false;EnumerateRunes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;String;false;Replace;(System.String,System.String,System.Boolean,System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[1];ReturnValue;taint;generated", + "System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[Qualifier];ReturnValue;taint;generated", + "System;String;false;ReplaceLineEndings;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;String;false;ReplaceLineEndings;(System.String);;Argument[Qualifier];ReturnValue;value;generated", + "System;String;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System;String;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated", + "System;StringNormalizationExtensions;false;Normalize;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;taint;generated", + "System;TimeOnly;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated", + "System;TimeOnly;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated", + "System;TimeSpan;false;op_UnaryPlus;(System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;taint;generated", + "System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[1];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[2];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[3];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[4];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[1];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[2];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[3];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[4];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime,System.TimeSpan);;Argument[5];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;get_BaseUtcOffsetDelta;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;get_DateEnd;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;get_DateStart;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;get_DaylightDelta;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionEnd;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionStart;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo+TransitionTime;false;CreateFixedDateRule;(System.DateTime,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo+TransitionTime;false;CreateFloatingDateRule;(System.DateTime,System.Int32,System.Int32,System.DayOfWeek);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo+TransitionTime;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;TimeZoneInfo+TransitionTime;false;get_TimeOfDay;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTimeFromUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[1];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[2];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[3];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[1];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[2];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[3];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[4];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[5].Element;ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[1];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[2];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[3];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[4];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[5].Element;ReturnValue;taint;generated", + "System;TimeZoneInfo;false;FindSystemTimeZoneById;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;TimeZoneInfo;false;GetUtcOffset;(System.DateTime);;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;GetUtcOffset;(System.DateTimeOffset);;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;get_BaseUtcOffset;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;get_DaylightName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TimeZoneInfo;false;get_StandardName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,,>;false;get_Rest;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Tuple<>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;TupleExtensions;false;ToValueTuple<>;(System.Tuple);;Argument[0];ReturnValue;taint;generated", + "System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetConstructor;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetConstructors;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetEvent;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetInterface;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMember;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMembers;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Int32,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethod;(System.String,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetNestedTypes;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;GetProperty;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;MakeGenericSignatureType;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated", + "System;Type;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;false;get_TypeInitializer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;true;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;true;GetMember;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;true;GetMemberWithSameMetadataDefinitionAs;(System.Reflection.MemberInfo);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Type;true;get_GenericTypeArguments;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TypeInitializationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;TypeInitializationException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;TypeLoadException;false;TypeLoadException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;TypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;TypeLoadException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UIntPtr;false;Abs;(System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;taint;generated", + "System;UIntPtr;false;Clamp;(System.UIntPtr,System.UIntPtr,System.UIntPtr);;Argument[2];ReturnValue;taint;generated", + "System;UIntPtr;false;Create<>;(TOther);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;CreateSaturating<>;(TOther);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;CreateTruncating<>;(TOther);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;Max;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;taint;generated", + "System;UIntPtr;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;Min;(System.UIntPtr,System.UIntPtr);;Argument[1];ReturnValue;taint;generated", + "System;UIntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UIntPtr;false;TryCreate<>;(TOther,System.UIntPtr);;Argument[0];ReturnValue;taint;generated", + "System;UIntPtr;false;UIntPtr;(System.Void*);;Argument[0];Argument[Qualifier];taint;generated", + "System;UnhandledExceptionEventArgs;false;UnhandledExceptionEventArgs;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System;UnhandledExceptionEventArgs;false;get_ExceptionObject;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UnitySerializationHolder;false;UnitySerializationHolder;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;Uri;false;EscapeDataString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;EscapeString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;EscapeUriString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;GetComponents;(System.UriComponents,System.UriFormat);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;GetLeftPart;(System.UriPartial);;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;Uri;false;MakeRelative;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;MakeRelativeUri;(System.Uri);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;TryCreate;(System.String,System.UriCreationOptions,System.Uri);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;TryCreate;(System.String,System.UriKind,System.Uri);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[1];ReturnValue;taint;generated", + "System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[1];ReturnValue;taint;generated", + "System;Uri;false;UnescapeDataString;(System.String);;Argument[0];ReturnValue;taint;generated", + "System;Uri;false;Uri;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.String,System.UriCreationOptions);;Argument[0];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[1];Argument[Qualifier];taint;generated", + "System;Uri;false;get_Authority;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;get_DnsSafeHost;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;get_IdnHost;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;get_LocalPath;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;Uri;false;get_UserInfo;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;UriBuilder;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;UriBuilder;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;get_Fragment;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_Password;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_Query;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;UriBuilder;false;set_Fragment;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;set_Query;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;set_Scheme;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriBuilder;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated", + "System;UriFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated", + "System;UriParser;false;Register;(System.UriParser,System.String,System.Int32);;Argument[1];Argument[0];taint;generated", + "System;UriParser;true;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);;Argument[0];ReturnValue;taint;generated", + "System;UriParser;true;OnNewUri;();;Argument[Qualifier];ReturnValue;value;generated", + "System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[0];ReturnValue;taint;generated", + "System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[1];ReturnValue;taint;generated", + "System;UriTypeConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated", + "System;UriTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated", + "System;ValueTuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated", + "System;ValueTuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/VisualBasic.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/VisualBasic.qll index 1ad1e20e51b..b18698cda0b 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/VisualBasic.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/VisualBasic.qll @@ -7,10 +7,10 @@ private class MicrosoftVisualBasicCollectionFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "Microsoft.VisualBasic;Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value", - "Microsoft.VisualBasic;Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "Microsoft.VisualBasic;Collection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "Microsoft.VisualBasic;Collection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", + "Microsoft.VisualBasic;Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual", + "Microsoft.VisualBasic;Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "Microsoft.VisualBasic;Collection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "Microsoft.VisualBasic;Collection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/extensions/Primitives.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/extensions/Primitives.qll index bd85bef72f0..c8aadc81506 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/extensions/Primitives.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/microsoft/extensions/Primitives.qll @@ -7,60 +7,60 @@ private class MicrosoftExtensionsPrimitivesStringValuesFlowModelCsv extends Summ override predicate row(string row) { row = [ - "Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[1].Element;ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[0].Element;ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[0].Element;ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;GetHashCode;();;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;IsNullOrEmpty;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String[]);;Argument[0].Element;ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;ToArray;();;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;get_Count;();;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[0];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];ReturnValue;taint", - "Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint", + "Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[1].Element;ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[0].Element;ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;GetHashCode;();;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;IsNullOrEmpty;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;get_Count;();;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[0];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual", + "Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Collections.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Collections.qll index 3f92a46c254..e91308f148a 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Collections.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Collections.qll @@ -42,7 +42,7 @@ class SystemCollectionsIEnumerableInterface extends SystemCollectionsInterface { private class SystemCollectionIEnumerableFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections;IEnumerable;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value" + "System.Collections;IEnumerable;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual" } } @@ -81,7 +81,7 @@ class SystemCollectionsICollectionInterface extends SystemCollectionsInterface { private class SystemCollectionsICollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections;ICollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.Collections;ICollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } @@ -95,10 +95,10 @@ private class SystemCollectionsIListFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;IList;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections;IList;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Collections;IList;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections;IList;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value", + "System.Collections;IList;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections;IList;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Collections;IList;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections;IList;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -113,13 +113,13 @@ private class SystemCollectionsIDictionaryFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;IDictionary;true;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections;IDictionary;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections;IDictionary;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", - "System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;IDictionary;true;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections;IDictionary;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections;IDictionary;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", + "System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -129,19 +129,19 @@ private class SystemCollectionsHashtableFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;Hashtable;false;Clone;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Collections;Hashtable;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -151,13 +151,13 @@ private class SystemCollectionsSortedListFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;SortedList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;SortedList;false;GetByIndex;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections;SortedList;false;GetValueList;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", - "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Collections;SortedList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;SortedList;false;GetByIndex;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections;SortedList;false;GetValueList;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", + "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -167,16 +167,16 @@ private class SystemCollectionsArrayListFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;ArrayList;false;AddRange;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections;ArrayList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;ArrayList;false;FixedSize;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;ArrayList;false;FixedSize;(System.Collections.IList);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;ArrayList;false;GetEnumerator;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value", - "System.Collections;ArrayList;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;ArrayList;false;InsertRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Collections;ArrayList;false;Repeat;(System.Object,System.Int32);;Argument[0];ReturnValue.Element;value", - "System.Collections;ArrayList;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;ArrayList;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", + "System.Collections;ArrayList;false;AddRange;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections;ArrayList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;ArrayList;false;FixedSize;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;ArrayList;false;FixedSize;(System.Collections.IList);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;ArrayList;false;GetEnumerator;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual", + "System.Collections;ArrayList;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;ArrayList;false;InsertRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Collections;ArrayList;false;Repeat;(System.Object,System.Int32);;Argument[0];ReturnValue.Element;value;manual", + "System.Collections;ArrayList;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;ArrayList;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", ] } } @@ -185,7 +185,7 @@ private class SystemCollectionsArrayListFlowModelCsv extends SummaryModelCsv { private class SystemCollectionsBitArrayFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections;BitArray;false;Clone;();;Argument[0].Element;ReturnValue.Element;value" + "System.Collections;BitArray;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual" } } @@ -194,8 +194,8 @@ private class SystemCollectionsQueueFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;Queue;false;Clone;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;Queue;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value", + "System.Collections;Queue;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;Queue;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -205,9 +205,9 @@ private class SystemCollectionsStackFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections;Stack;false;Clone;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections;Stack;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections;Stack;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value", + "System.Collections;Stack;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections;Stack;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections;Stack;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/ComponentModel.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/ComponentModel.qll index 89165efbab4..5db216f9cc7 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/ComponentModel.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/ComponentModel.qll @@ -7,26 +7,26 @@ private class SystemComponentModelPropertyDescriptorCollectionFlowModelCsv exten override predicate row(string row) { row = [ - "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0];Argument[Qualifier].Element;value", - "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.ComponentModel;PropertyDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;PropertyDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value", - "System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.PropertyDescriptor);;Argument[1];Argument[Qualifier].Element;value", - "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value", + "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.PropertyDescriptor);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -36,12 +36,12 @@ private class SystemComponentModelEventDescriptorCollectionFlowModelCsv extends override predicate row(string row) { row = [ - "System.ComponentModel;EventDescriptorCollection;false;Add;(System.ComponentModel.EventDescriptor);;Argument[0];Argument[Qualifier].Element;value", - "System.ComponentModel;EventDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;EventDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value", - "System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.EventDescriptor);;Argument[1];Argument[Qualifier].Element;value", - "System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", + "System.ComponentModel;EventDescriptorCollection;false;Add;(System.ComponentModel.EventDescriptor);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.ComponentModel;EventDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;EventDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual", + "System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.EventDescriptor);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -51,8 +51,8 @@ private class SystemComponentModelListSortDescriptionCollectionFlowModelCsv exte override predicate row(string row) { row = [ - "System.ComponentModel;ListSortDescriptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.ComponentModel.ListSortDescription);;Argument[1];Argument[Qualifier].Element;value", + "System.ComponentModel;ListSortDescriptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.ComponentModel.ListSortDescription);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -61,7 +61,7 @@ private class SystemComponentModelListSortDescriptionCollectionFlowModelCsv exte private class SystemComponentModelComponentCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.ComponentModel;ComponentCollection;false;CopyTo;(System.ComponentModel.IComponent[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.ComponentModel;ComponentCollection;false;CopyTo;(System.ComponentModel.IComponent[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } @@ -69,7 +69,7 @@ private class SystemComponentModelComponentCollectionFlowModelCsv extends Summar private class SystemComponentModelAttributeCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.ComponentModel;AttributeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value" + "System.ComponentModel;AttributeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual" } } @@ -77,6 +77,6 @@ private class SystemComponentModelAttributeCollectionFlowModelCsv extends Summar private class SystemComponentModelIBindingListFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.ComponentModel;IBindingList;true;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value" + "System.ComponentModel;IBindingList;true;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Data.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Data.qll index 69cbea68692..dd2b7f7f825 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Data.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Data.qll @@ -50,27 +50,27 @@ private class SystemDataEnumerableRowCollectionsExtensionsFlowModelCsv extends S override predicate row(string row) { row = [ - "System.Data;EnumerableRowCollectionExtensions;false;Cast<>;(System.Data.EnumerableRowCollection);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", + "System.Data;EnumerableRowCollectionExtensions;false;Cast<>;(System.Data.EnumerableRowCollection);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", ] } } @@ -80,20 +80,20 @@ private class SystemDataTypedTableBaseExtensionsFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Data;TypedTableBaseExtensions;false;AsEnumerable<>;(System.Data.TypedTableBase);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;ElementAtOrDefault<>;(System.Data.TypedTableBase,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", + "System.Data;TypedTableBaseExtensions;false;AsEnumerable<>;(System.Data.TypedTableBase);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;ElementAtOrDefault<>;(System.Data.TypedTableBase,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", ] } } @@ -103,9 +103,9 @@ private class SystemDataDataViewFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Data;DataView;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data;DataView;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data;DataView;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", + "System.Data;DataView;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data;DataView;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data;DataView;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -115,8 +115,8 @@ private class SystemDataIColumnMappingCollectionFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Data;IColumnMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data;IColumnMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value", + "System.Data;IColumnMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data;IColumnMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -126,8 +126,8 @@ private class SystemDataIDataParameterCollectionFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Data;IDataParameterCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data;IDataParameterCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value", + "System.Data;IDataParameterCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data;IDataParameterCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -137,8 +137,8 @@ private class SystemDataITableMappingCollectionFlowModelCsv extends SummaryModel override predicate row(string row) { row = [ - "System.Data;ITableMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data;ITableMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value", + "System.Data;ITableMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data;ITableMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -148,9 +148,9 @@ private class SystemDataConstraintCollectionFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Data;ConstraintCollection;false;Add;(System.Data.Constraint);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;ConstraintCollection;false;AddRange;(System.Data.Constraint[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data;ConstraintCollection;false;CopyTo;(System.Data.Constraint[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Data;ConstraintCollection;false;Add;(System.Data.Constraint);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;ConstraintCollection;false;AddRange;(System.Data.Constraint[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data;ConstraintCollection;false;CopyTo;(System.Data.Constraint[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } @@ -160,10 +160,10 @@ private class SystemDataDataColumnCollectionFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Data;DataColumnCollection;false;Add;(System.Data.DataColumn);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataColumnCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataColumnCollection;false;AddRange;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data;DataColumnCollection;false;CopyTo;(System.Data.DataColumn[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Data;DataColumnCollection;false;Add;(System.Data.DataColumn);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataColumnCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataColumnCollection;false;AddRange;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data;DataColumnCollection;false;CopyTo;(System.Data.DataColumn[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } @@ -173,9 +173,9 @@ private class SystemDataDataRelationCollectionFlowModelCsv extends SummaryModelC override predicate row(string row) { row = [ - "System.Data;DataRelationCollection;false;Add;(System.Data.DataRelation);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataRelationCollection;false;CopyTo;(System.Data.DataRelation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Data;DataRelationCollection;true;AddRange;(System.Data.DataRelation[]);;Argument[0].Element;Argument[Qualifier].Element;value", + "System.Data;DataRelationCollection;false;Add;(System.Data.DataRelation);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataRelationCollection;false;CopyTo;(System.Data.DataRelation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Data;DataRelationCollection;true;AddRange;(System.Data.DataRelation[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", ] } } @@ -185,11 +185,11 @@ private class SystemDataDataRawCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Data;DataRowCollection;false;Add;(System.Data.DataRow);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataRowCollection;false;Add;(System.Object[]);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataRowCollection;false;CopyTo;(System.Data.DataRow[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Data;DataRowCollection;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data;DataRowCollection;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value", + "System.Data;DataRowCollection;false;Add;(System.Data.DataRow);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataRowCollection;false;Add;(System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataRowCollection;false;CopyTo;(System.Data.DataRow[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Data;DataRowCollection;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data;DataRowCollection;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -199,10 +199,10 @@ private class SystemDataDataTableCollectionFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Data;DataTableCollection;false;Add;(System.Data.DataTable);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataTableCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value", - "System.Data;DataTableCollection;false;AddRange;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data;DataTableCollection;false;CopyTo;(System.Data.DataTable[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Data;DataTableCollection;false;Add;(System.Data.DataTable);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataTableCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data;DataTableCollection;false;AddRange;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data;DataTableCollection;false;CopyTo;(System.Data.DataTable[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } @@ -211,7 +211,7 @@ private class SystemDataDataTableCollectionFlowModelCsv extends SummaryModelCsv private class SystemDataDataViewSettingCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Data;DataViewSettingCollection;false;CopyTo;(System.Data.DataViewSetting[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.Data;DataViewSettingCollection;false;CopyTo;(System.Data.DataViewSetting[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } @@ -219,6 +219,6 @@ private class SystemDataDataViewSettingCollectionFlowModelCsv extends SummaryMod private class SystemDataPropertyCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Data;PropertyCollection;false;Clone;();;Argument[0].Element;ReturnValue.Element;value" + "System.Data;PropertyCollection;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Diagnostics.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Diagnostics.qll index b380536ac2c..cce90f8a268 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Diagnostics.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Diagnostics.qll @@ -86,11 +86,11 @@ private class SystemDiagnosticsActivityTagsCollectionFlowModelCsv extends Summar override predicate row(string row) { row = [ - "System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Diagnostics.ActivityTagsCollection+Enumerator.Current];value", + "System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Diagnostics.ActivityTagsCollection+Enumerator.Current];value;manual", ] } } @@ -100,14 +100,14 @@ private class SystemDiagnosticsTraceListenerCollectionFlowModelCsv extends Summa override predicate row(string row) { row = [ - "System.Diagnostics;TraceListenerCollection;false;Add;(System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier].Element;value", - "System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListenerCollection);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListener[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Diagnostics.TraceListener[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value", - "System.Diagnostics;TraceListenerCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Diagnostics;TraceListenerCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value", + "System.Diagnostics;TraceListenerCollection;false;Add;(System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListenerCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListener[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Diagnostics.TraceListener[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Diagnostics;TraceListenerCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Diagnostics;TraceListenerCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -116,7 +116,7 @@ private class SystemDiagnosticsTraceListenerCollectionFlowModelCsv extends Summa private class SystemDiagnosticsProcessModuleCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Diagnostics;ProcessModuleCollection;false;CopyTo;(System.Diagnostics.ProcessModule[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.Diagnostics;ProcessModuleCollection;false;CopyTo;(System.Diagnostics.ProcessModule[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } @@ -125,8 +125,8 @@ private class SystemDiagnosticsProcessThreadCollectionFlowModelCsv extends Summa override predicate row(string row) { row = [ - "System.Diagnostics;ProcessThreadCollection;false;Add;(System.Diagnostics.ProcessThread);;Argument[0];Argument[Qualifier].Element;value", - "System.Diagnostics;ProcessThreadCollection;false;CopyTo;(System.Diagnostics.ProcessThread[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Diagnostics;ProcessThreadCollection;false;Add;(System.Diagnostics.ProcessThread);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Diagnostics;ProcessThreadCollection;false;CopyTo;(System.Diagnostics.ProcessThread[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Dynamic.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Dynamic.qll index e5f203669b6..4db8c137c45 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Dynamic.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Dynamic.qll @@ -7,8 +7,8 @@ private class SystemDynamicExpandoObjectFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll index d18bc3c3d6f..457906db8bb 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/IO.qll @@ -47,29 +47,29 @@ private class SystemIOPathFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.IO;Path;false;Combine;(System.String,System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String);;Argument[1];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint", - "System.IO;Path;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint", - "System.IO;Path;false;GetDirectoryName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System.IO;Path;false;GetDirectoryName;(System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System.IO;Path;false;GetExtension;(System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetFileName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System.IO;Path;false;GetFileName;(System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetFileNameWithoutExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System.IO;Path;false;GetFileNameWithoutExtension;(System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetFullPath;(System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetFullPath;(System.String,System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetPathRoot;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System.IO;Path;false;GetPathRoot;(System.String);;Argument[0];ReturnValue;taint", - "System.IO;Path;false;GetRelativePath;(System.String,System.String);;Argument[1];ReturnValue;taint" + "System.IO;Path;false;Combine;(System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;manual", + "System.IO;Path;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;Path;false;GetDirectoryName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;Path;false;GetDirectoryName;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;Path;false;GetExtension;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetFileName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;Path;false;GetFileName;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetFileNameWithoutExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;Path;false;GetFileNameWithoutExtension;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetFullPath;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetFullPath;(System.String,System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetPathRoot;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;Path;false;GetPathRoot;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.IO;Path;false;GetRelativePath;(System.String,System.String);;Argument[1];ReturnValue;taint;manual" ] } } @@ -79,19 +79,19 @@ private class SystemIOTextReaderFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.IO;TextReader;true;Read;();;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadLine;();;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint", - "System.IO;TextReader;true;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint", + "System.IO;TextReader;true;Read;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadLine;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.IO;TextReader;true;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint;manual", ] } } @@ -104,7 +104,8 @@ class SystemIOStringReaderClass extends SystemIOClass { /** Data flow for `System.IO.StringReader` */ private class SystemIOStringReaderFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { - row = "System.IO;StringReader;false;StringReader;(System.String);;Argument[0];ReturnValue;taint" + row = + "System.IO;StringReader;false;StringReader;(System.String);;Argument[0];ReturnValue;taint;manual" } } @@ -149,20 +150,20 @@ private class SystemIOStreamFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.IO;Stream;false;CopyTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint", - "System.IO;Stream;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint", - "System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint", - "System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint", - "System.IO;Stream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint", - "System.IO;Stream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint", - "System.IO;Stream;true;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint", - "System.IO;Stream;true;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint", - "System.IO;Stream;true;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint", - "System.IO;Stream;true;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint", - "System.IO;Stream;true;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint", - "System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint", - "System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint", - "System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint" + "System.IO;Stream;false;CopyTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;manual", + "System.IO;Stream;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;manual", + "System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual", + "System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual", + "System.IO;Stream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual", + "System.IO;Stream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual", + "System.IO;Stream;true;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual", + "System.IO;Stream;true;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual", + "System.IO;Stream;true;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual", + "System.IO;Stream;true;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual", + "System.IO;Stream;true;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual", + "System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual", + "System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual", + "System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual" ] } } @@ -182,12 +183,12 @@ private class SystemIOMemoryStreamFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.IO;MemoryStream;false;MemoryStream;(System.Byte[]);;Argument[0];ReturnValue;taint", - "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Boolean);;Argument[0].Element;ReturnValue;taint", - "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[0].Element;ReturnValue;taint", - "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);;Argument[0].Element;ReturnValue;taint", - "System.IO;MemoryStream;false;ToArray;();;Argument[Qualifier];ReturnValue;taint" + "System.IO;MemoryStream;false;MemoryStream;(System.Byte[]);;Argument[0];ReturnValue;taint;manual", + "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Boolean);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual", + "System.IO;MemoryStream;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Linq.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Linq.qll index 349fd65750f..29f4caa0972 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Linq.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Linq.qll @@ -38,218 +38,218 @@ private class SystemLinqEnumerableFlowModelCsv extends ExternalFlow::SummaryMode override predicate row(string row) { row = [ - "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value", - "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value", - "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value", - "System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value", - "System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value", - "System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value", - "System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue;value", - "System.Linq;Enumerable;false;All<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Any<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;AsEnumerable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Cast<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Count<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;value", - "System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value", - "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;LongCount<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;OfType<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Reverse<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value", - "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;Enumerable;false;Skip<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value", - "System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", + "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value;manual", + "System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue;value;manual", + "System.Linq;Enumerable;false;All<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Any<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;AsEnumerable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Cast<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Count<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;value;manual", + "System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;LongCount<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;OfType<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Reverse<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Enumerable;false;Skip<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", ] } } @@ -258,7 +258,7 @@ private class SystemLinqEnumerableFlowModelCsv extends ExternalFlow::SummaryMode private class SystemLinqEnumerableQueryFlowModelCsv extends ExternalFlow::SummaryModelCsv { override predicate row(string row) { row = - "System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value" + "System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual" } } @@ -267,10 +267,10 @@ private class SystemLinqImmutableArrayExtensionsFlowModelCsv extends ExternalFlo override predicate row(string row) { row = [ - "System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value", - "System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value", - "System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value", - "System.Linq;ImmutableArrayExtensions;false;LastOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value", + "System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ImmutableArrayExtensions;false;LastOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual", ] } } @@ -279,7 +279,7 @@ private class SystemLinqImmutableArrayExtensionsFlowModelCsv extends ExternalFlo private class SystemLinqLookupFlowModelCsv extends ExternalFlow::SummaryModelCsv { override predicate row(string row) { row = - "System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value" + "System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual" } } @@ -287,7 +287,7 @@ private class SystemLinqLookupFlowModelCsv extends ExternalFlow::SummaryModelCsv private class SystemLinqOrderedParallelQuery extends ExternalFlow::SummaryModelCsv { override predicate row(string row) { row = - "System.Linq;OrderedParallelQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value" + "System.Linq;OrderedParallelQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual" } } @@ -296,253 +296,253 @@ private class SystemLinqParallelEnumerableFlowModelCsv extends ExternalFlow::Sum override predicate row(string row) { row = [ - "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;All<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Any<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;AsEnumerable<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Cast<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Count<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[1];ReturnValue;value", - "System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ElementAt<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;ElementAtOrDefault<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;LongCount<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;OfType<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Reverse<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value", - "System.Linq;ParallelEnumerable;false;Skip<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Take<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToArray<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToList<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value", - "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value", + "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;All<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Any<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;AsEnumerable<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Cast<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Count<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[1];ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ElementAt<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;ElementAtOrDefault<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;LongCount<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;OfType<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Reverse<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;ParallelEnumerable;false;Skip<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Take<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToArray<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToList<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", ] } } @@ -552,174 +552,174 @@ private class SystemLinqQueryableFlowModelCsv extends ExternalFlow::SummaryModel override predicate row(string row) { row = [ - "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value", - "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;Argument[3].Parameter[0];value", - "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[3].ReturnValue;ReturnValue;value", - "System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value", - "System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue;value", - "System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[1];value", - "System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue;value", - "System.Linq;Queryable;false;All<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Any<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;AsQueryable;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;AsQueryable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Cast<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Count<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[1];ReturnValue;value", - "System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;ElementAt<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;ElementAtOrDefault<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;First<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[3].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value", - "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value", - "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;LongCount<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Max<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Min<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;OfType<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Reverse<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value", - "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value", - "System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value", - "System.Linq;Queryable;false;Skip<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Take<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value", - "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value", - "System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value", - "System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[2].Parameter[1];value", - "System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value", + "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual", + "System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[3].ReturnValue;ReturnValue;value;manual", + "System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue;value;manual", + "System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[1];value;manual", + "System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue;value;manual", + "System.Linq;Queryable;false;All<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Any<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;AsQueryable;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;AsQueryable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Cast<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Count<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[1];ReturnValue;value;manual", + "System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;ElementAt<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;ElementAtOrDefault<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;First<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual", + "System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual", + "System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;LongCount<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Max<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Min<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;OfType<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Reverse<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual", + "System.Linq;Queryable;false;Skip<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Take<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual", + "System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[2].Parameter[1];value;manual", + "System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Net.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Net.qll index 2a8a9d1a1fc..caace473585 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Net.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Net.qll @@ -33,9 +33,9 @@ private class SystemNetWebUtilityFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Net;WebUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint", - "System.Net;WebUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint", - "System.Net;WebUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint" + "System.Net;WebUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Net;WebUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual", + "System.Net;WebUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual" ] } } @@ -77,8 +77,8 @@ private class SystemNetIPHostEntryClassFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Net;IPHostEntry;false;get_Aliases;();;Argument[Qualifier];ReturnValue;taint", - "System.Net;IPHostEntry;false;get_HostName;();;Argument[Qualifier];ReturnValue;taint" + "System.Net;IPHostEntry;false;get_Aliases;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Net;IPHostEntry;false;get_HostName;();;Argument[Qualifier];ReturnValue;taint;manual" ] } } @@ -94,7 +94,7 @@ class SystemNetCookieClass extends SystemNetClass { /** Data flow for `System.Net.Cookie`. */ private class SystemNetCookieClassFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { - row = "System.Net;Cookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint" + row = "System.Net;Cookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual" } } @@ -102,7 +102,7 @@ private class SystemNetCookieClassFlowModelCsv extends SummaryModelCsv { private class SystemNetHttpListenerPrefixCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } @@ -110,7 +110,7 @@ private class SystemNetHttpListenerPrefixCollectionFlowModelCsv extends SummaryM private class SystemNetCookieCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Net;CookieCollection;false;Add;(System.Net.CookieCollection);;Argument[0];Argument[Qualifier].Element;value" + "System.Net;CookieCollection;false;Add;(System.Net.CookieCollection);;Argument[0];Argument[Qualifier].Element;value;manual" } } @@ -118,6 +118,6 @@ private class SystemNetCookieCollectionFlowModelCsv extends SummaryModelCsv { private class SystemNetWebHeaderCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Net;WebHeaderCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value" + "System.Net;WebHeaderCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Text.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Text.qll index 11c541a0f79..c980d507e7c 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Text.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Text.qll @@ -43,88 +43,88 @@ private class SystemTextStringBuilderFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Byte);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Char);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Double);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Int16);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Int32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Int64);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;Append;(System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.SByte);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Single);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;Append;(System.String);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendLine;();;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Argument[Qualifier].Element;value", - "System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[Qualifier];ReturnValue;value", - "System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];ReturnValue.Element;value", - "System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];ReturnValue.Element;value", - "System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];ReturnValue.Element;value", - "System.Text;StringBuilder;false;ToString;();;Argument[Qualifier].Element;ReturnValue;taint", - "System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue;taint", + "System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Byte);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Double);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Int16);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Int32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Int64);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;Append;(System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.SByte);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Single);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;Append;(System.String);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendLine;();;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[Qualifier];ReturnValue;value;manual", + "System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];ReturnValue.Element;value;manual", + "System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];ReturnValue.Element;value;manual", + "System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];ReturnValue.Element;value;manual", + "System.Text;StringBuilder;false;ToString;();;Argument[Qualifier].Element;ReturnValue;taint;manual", + "System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue;taint;manual", ] } } @@ -148,23 +148,23 @@ private class SystemTextEncodingFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Text;Encoding;false;GetBytes;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint", - "System.Text;Encoding;false;GetString;(System.Byte*,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;false;GetString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.Char[]);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.String);;Argument[0];ReturnValue;taint", - "System.Text;Encoding;true;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint", - "System.Text;Encoding;true;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetChars;(System.Byte[]);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint", - "System.Text;Encoding;true;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint", + "System.Text;Encoding;false;GetBytes;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System.Text;Encoding;false;GetString;(System.Byte*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;false;GetString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.Char[]);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Text;Encoding;true;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual", + "System.Text;Encoding;true;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetChars;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual", + "System.Text;Encoding;true;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Web.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Web.qll index 52225c6d6e9..33a1b725297 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Web.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Web.qll @@ -180,8 +180,8 @@ private class SystemWebHttpServerUtilityFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Web;HttpServerUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint", - "System.Web;HttpServerUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint" + "System.Web;HttpServerUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpServerUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual" ] } } @@ -208,17 +208,17 @@ private class SystemWebHttpUtilityFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;HtmlEncode;(System.Object);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String,System.Boolean);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;UrlEncode;(System.Byte[]);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;UrlEncode;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint", - "System.Web;HttpUtility;false;UrlEncode;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint" + "System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;HtmlEncode;(System.Object);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;UrlEncode;(System.Byte[]);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;UrlEncode;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Web;HttpUtility;false;UrlEncode;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;manual" ] } } @@ -242,8 +242,8 @@ private class SystemWebHttpCookieFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Web;HttpCookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint", - "System.Web;HttpCookie;false;get_Values;();;Argument[Qualifier];ReturnValue;taint" + "System.Web;HttpCookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Web;HttpCookie;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Xml.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Xml.qll index d9f1409c7f3..6b7b0ea5f7e 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/Xml.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/Xml.qll @@ -45,10 +45,10 @@ private class SystemXmlXmlDocumentFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Xml;XmlDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint", - "System.Xml;XmlDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint", - "System.Xml;XmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint", - "System.Xml;XmlDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint" + "System.Xml;XmlDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;manual", + "System.Xml;XmlDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint;manual", + "System.Xml;XmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;manual", + "System.Xml;XmlDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;manual" ] } } @@ -73,18 +73,18 @@ private class SystemXmlXmlReaderFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint", - "System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint" + "System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual", + "System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual" ] } } @@ -140,33 +140,33 @@ private class SystemXmlXmlNodeFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Xml;XmlNode;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value", - "System.Xml;XmlNode;false;SelectNodes;(System.String);;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;false;SelectNodes;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;false;SelectSingleNode;(System.String);;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;false;SelectSingleNode;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_ChildNodes;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_FirstChild;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_HasChildNodes;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_InnerText;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_LastChild;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_LocalName;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_Name;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_NodeType;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_Prefix;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint", - "System.Xml;XmlNode;true;get_Value;();;Argument[Qualifier];ReturnValue;taint" + "System.Xml;XmlNode;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual", + "System.Xml;XmlNode;false;SelectNodes;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;false;SelectNodes;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;false;SelectSingleNode;(System.String);;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;false;SelectSingleNode;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_ChildNodes;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_FirstChild;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_HasChildNodes;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_LastChild;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;manual", + "System.Xml;XmlNode;true;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual" ] } } @@ -190,8 +190,8 @@ private class SystemXmlXmlNamedNodeMapClassFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String);;Argument[Qualifier];ReturnValue;value", - "System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;value" + "System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String);;Argument[Qualifier];ReturnValue;value;manual", + "System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;manual" ] } } @@ -282,6 +282,6 @@ class XmlReaderSettingsInstance extends Expr { private class SystemXmlXmlAttributeCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Xml;XmlAttributeCollection;false;CopyTo;(System.Xml.XmlAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.Xml;XmlAttributeCollection;false;CopyTo;(System.Xml.XmlAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Concurrent.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Concurrent.qll index 678207fd824..26712678845 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Concurrent.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Concurrent.qll @@ -7,16 +7,16 @@ private class SystemCollectionsConcurrentConcurrentDictionaryFlowModelCsv extend override predicate row(string row) { row = [ - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -26,8 +26,8 @@ private class SystemCollectionsConcurrentBlockingCollectionFlowModelCsv extends override predicate row(string row) { row = [ - "System.Collections.Concurrent;BlockingCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Collections.Concurrent;BlockingCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } @@ -36,7 +36,7 @@ private class SystemCollectionsConcurrentBlockingCollectionFlowModelCsv extends private class SystemCollectionsConcurrentIProducerConsumerCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Concurrent;IProducerConsumerCollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value" + "System.Collections.Concurrent;IProducerConsumerCollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual" } } @@ -44,6 +44,6 @@ private class SystemCollectionsConcurrentIProducerConsumerCollectionFlowModelCsv private class SystemCollectionsConcurrentConcurrentBagFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Concurrent;ConcurrentBag<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value" + "System.Collections.Concurrent;ConcurrentBag<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Generic.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Generic.qll index 8f6ee7b8110..5eaac9394d9 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Generic.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Generic.qll @@ -75,7 +75,7 @@ class SystemCollectionsGenericIEnumerableTInterface extends SystemCollectionsGen private class SystemCollectionsGenericEnumerableTFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Generic;IEnumerable<>;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value" + "System.Collections.Generic;IEnumerable<>;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual" } } @@ -107,9 +107,9 @@ private class SystemCollectionsGenericIListTFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Collections.Generic;IList<>;true;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value", - "System.Collections.Generic;IList<>;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;IList<>;true;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value", + "System.Collections.Generic;IList<>;true;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Collections.Generic;IList<>;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;IList<>;true;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -127,19 +127,19 @@ private class SystemCollectionsGenericListFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Collections.Generic;List<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Generic;List<>;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.List<>+Enumerator.Current];value", - "System.Collections.Generic;List<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Generic;List<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Collections.Generic;List<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Generic;List<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", + "System.Collections.Generic;List<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Generic;List<>;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.List<>+Enumerator.Current];value;manual", + "System.Collections.Generic;List<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Generic;List<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Generic;List<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Generic;List<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", ] } } @@ -171,8 +171,8 @@ private class SystemCollectionsGenericKeyValuePairStructFlowModelCsv extends Sum override predicate row(string row) { row = [ - "System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[0];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[1];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Value];value" + "System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[0];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[1];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual" ] } } @@ -196,8 +196,8 @@ private class SystemCollectionsGenericICollectionFlowModelCsv extends SummaryMod override predicate row(string row) { row = [ - "System.Collections.Generic;ICollection<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Generic;ICollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Collections.Generic;ICollection<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Generic;ICollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } @@ -220,13 +220,13 @@ private class SystemCollectionsGenericIDictionaryFlowModelCsv extends SummaryMod override predicate row(string row) { row = [ - "System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;IDictionary<,>;true;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections.Generic;IDictionary<,>;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Generic;IDictionary<,>;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", - "System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;IDictionary<,>;true;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections.Generic;IDictionary<,>;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Generic;IDictionary<,>;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", + "System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -236,21 +236,21 @@ private class SystemCollectionsGenericDictionaryFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+KeyCollection+Enumerator.Current];value", - "System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+ValueCollection+Enumerator.Current];value", - "System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+Enumerator.Current];value", - "System.Collections.Generic;Dictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Generic;Dictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+KeyCollection+Enumerator.Current];value;manual", + "System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+ValueCollection+Enumerator.Current];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+Enumerator.Current];value;manual", + "System.Collections.Generic;Dictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Generic;Dictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -260,17 +260,17 @@ private class SystemCollectionsGenericSortedDictionaryFlowModelCsv extends Summa override predicate row(string row) { row = [ - "System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+KeyCollection+Enumerator.Current];value", - "System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+ValueCollection+Enumerator.Current];value", - "System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+Enumerator.Current];value", - "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;SortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Generic;SortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+KeyCollection+Enumerator.Current];value;manual", + "System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+ValueCollection+Enumerator.Current];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+Enumerator.Current];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Generic;SortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -280,15 +280,15 @@ private class SystemCollectionsGenericSortedListFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value", - "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Generic;SortedList<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Generic;SortedList<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual", + "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Generic;SortedList<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Generic;SortedList<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -298,9 +298,9 @@ private class SystemCollectionsGenericQueueFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Collections.Generic;Queue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Queue<>+Enumerator.Current];value", - "System.Collections.Generic;Queue<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value", + "System.Collections.Generic;Queue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Queue<>+Enumerator.Current];value;manual", + "System.Collections.Generic;Queue<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -310,10 +310,10 @@ private class SystemCollectionsGenericStackFlowModelCsv extends SummaryModelCsv override predicate row(string row) { row = [ - "System.Collections.Generic;Stack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Stack<>+Enumerator.Current];value", - "System.Collections.Generic;Stack<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;Stack<>;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value", + "System.Collections.Generic;Stack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Stack<>+Enumerator.Current];value;manual", + "System.Collections.Generic;Stack<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;Stack<>;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -322,7 +322,7 @@ private class SystemCollectionsGenericStackFlowModelCsv extends SummaryModelCsv private class SystemCollectionsGenericHashSetFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.HashSet<>+Enumerator.Current];value" + "System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.HashSet<>+Enumerator.Current];value;manual" } } @@ -330,7 +330,7 @@ private class SystemCollectionsGenericHashSetFlowModelCsv extends SummaryModelCs private class SystemCollectionsGenericISetFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Generic;ISet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value" + "System.Collections.Generic;ISet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual" } } @@ -339,9 +339,9 @@ private class SystemCollectionsGenericLinkedListFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Collections.Generic;LinkedList<>;false;Find;(T);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;LinkedList<>;false;FindLast;(T);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.LinkedList<>+Enumerator.Current];value", + "System.Collections.Generic;LinkedList<>;false;Find;(T);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;LinkedList<>;false;FindLast;(T);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.LinkedList<>+Enumerator.Current];value;manual", ] } } @@ -351,8 +351,8 @@ private class SystemCollectionsGenericSortedSetFlowModelCsv extends SummaryModel override predicate row(string row) { row = [ - "System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedSet<>+Enumerator.Current];value", - "System.Collections.Generic;SortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", + "System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedSet<>+Enumerator.Current];value;manual", + "System.Collections.Generic;SortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Immutable.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Immutable.qll index 66e60224bfb..a777e2152b3 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Immutable.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Immutable.qll @@ -6,7 +6,7 @@ private import semmle.code.csharp.dataflow.ExternalFlow private class SystemCollectionsImmutableIImmutableDictionaryFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Immutable;IImmutableDictionary<,>;true;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value" + "System.Collections.Immutable;IImmutableDictionary<,>;true;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual" } } @@ -15,21 +15,21 @@ private class SystemCollectionsImmutableImmutableDictionaryFlowModelCsv extends override predicate row(string row) { row = [ - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -39,21 +39,21 @@ private class SystemCollectionsImmutableImmutableSortedDictionaryFlowModelCsv ex override predicate row(string row) { row = [ - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -63,8 +63,8 @@ private class SystemCollectionsImmutableIImmutableListFlowModelCsv extends Summa override predicate row(string row) { row = [ - "System.Collections.Immutable;IImmutableList<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Immutable;IImmutableList<>;true;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value", + "System.Collections.Immutable;IImmutableList<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;IImmutableList<>;true;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual", ] } } @@ -74,33 +74,33 @@ private class SystemCollectionsImmutableImmutableListFlowModelCsv extends Summar override predicate row(string row) { row = [ - "System.Collections.Immutable;ImmutableList<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableList<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value", - "System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableList<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableList<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableList<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableList<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableList<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", + "System.Collections.Immutable;ImmutableList<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual", + "System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableList<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableList<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -110,12 +110,12 @@ private class SystemCollectionsImmutableImmutableSortedSetFlowModelCsv extends S override predicate row(string row) { row = [ - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableSortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Collections.Immutable;ImmutableSortedSet<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableSortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Collections.Immutable;ImmutableSortedSet<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -124,7 +124,7 @@ private class SystemCollectionsImmutableImmutableSortedSetFlowModelCsv extends S private class SystemCollectionsImmutableIImmutableSetFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Immutable;IImmutableSet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value" + "System.Collections.Immutable;IImmutableSet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual" } } @@ -133,15 +133,15 @@ private class SystemCollectionsImmutableImmutableArrayFlowModelCsv extends Summa override predicate row(string row) { row = [ - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>+Builder);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(T[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(TDerived[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value", - "System.Collections.Immutable;ImmutableArray<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>+Builder);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(T[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(TDerived[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual", + "System.Collections.Immutable;ImmutableArray<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", ] } } @@ -151,9 +151,9 @@ private class SystemCollectionsImmutableImmutableHashSetFlowModelCsv extends Sum override predicate row(string row) { row = [ - "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value", - "System.Collections.Immutable;ImmutableHashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value", + "System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value;manual", + "System.Collections.Immutable;ImmutableHashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value;manual", ] } } @@ -162,7 +162,7 @@ private class SystemCollectionsImmutableImmutableHashSetFlowModelCsv extends Sum private class SystemCollectionsImmutableImmutableQueueFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableQueue<>+Enumerator.Current];value" + "System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableQueue<>+Enumerator.Current];value;manual" } } @@ -170,6 +170,6 @@ private class SystemCollectionsImmutableImmutableQueueFlowModelCsv extends Summa private class SystemCollectionsImmutableImmutableStackFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableStack<>+Enumerator.Current];value" + "System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableStack<>+Enumerator.Current];value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/ObjectModel.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/ObjectModel.qll index 24f7c476480..52e61c521a1 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/ObjectModel.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/ObjectModel.qll @@ -7,14 +7,14 @@ private class SystemCollectionsObjectModelReadOnlyDictionaryFlowModelCsv extends override predicate row(string row) { row = [ - "System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value", - "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value", + "System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual", + "System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual", ] } } @@ -23,6 +23,6 @@ private class SystemCollectionsObjectModelReadOnlyDictionaryFlowModelCsv extends private class SystemCollectionsObjectModelKeyedCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.ObjectModel;KeyedCollection<,>;false;get_Item;(TKey);;Argument[Qualifier].Element;ReturnValue;value" + "System.Collections.ObjectModel;KeyedCollection<,>;false;get_Item;(TKey);;Argument[Qualifier].Element;ReturnValue;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Specialized.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Specialized.qll index 9750ffc4abf..b6eba037449 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Specialized.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/collections/Specialized.qll @@ -29,8 +29,8 @@ private class SystemCollectionsSpecializedNameValueCollectionFlowModelCsv extend override predicate row(string row) { row = [ - "System.Collections.Specialized;NameValueCollection;false;Add;(System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Specialized;NameValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", + "System.Collections.Specialized;NameValueCollection;false;Add;(System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Specialized;NameValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", ] } } @@ -40,9 +40,9 @@ private class SystemCollectionsSpecializedIOrderedDictionaryFlowModelCsv extends override predicate row(string row) { row = [ - "System.Collections.Specialized;IOrderedDictionary;true;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Collections.Specialized;IOrderedDictionary;true;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -51,7 +51,7 @@ private class SystemCollectionsSpecializedIOrderedDictionaryFlowModelCsv extends private class SystemCollectionsSpecializedOrderedDictionaryFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Collections.Specialized;OrderedDictionary;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value" + "System.Collections.Specialized;OrderedDictionary;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value;manual" } } @@ -60,13 +60,13 @@ private class SystemCollectionsSpecializedStringCollectionFlowModelCsv extends S override predicate row(string row) { row = [ - "System.Collections.Specialized;StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value", - "System.Collections.Specialized;StringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Collections.Specialized;StringCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Specialized.StringEnumerator.Current];value", - "System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value", - "System.Collections.Specialized;StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value", + "System.Collections.Specialized;StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Collections.Specialized;StringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Collections.Specialized;StringCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Specialized.StringEnumerator.Current];value;manual", + "System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Collections.Specialized;StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/componentmodel/Design.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/componentmodel/Design.qll index f833e21cf36..3e63780fd5f 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/componentmodel/Design.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/componentmodel/Design.qll @@ -7,8 +7,8 @@ private class SystemComponentModelDesignDesignerCollectionServiceFlowModelCsv ex override predicate row(string row) { row = [ - "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", + "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -18,13 +18,13 @@ private class SystemComponentModelDesignDesignerVerbCollectionFlowModelCsv exten override predicate row(string row) { row = [ - "System.ComponentModel.Design;DesignerVerbCollection;false;Add;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier].Element;value", - "System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerbCollection);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.ComponentModel.Design;DesignerVerbCollection;false;CopyTo;(System.ComponentModel.Design.DesignerVerb[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.ComponentModel.Design;DesignerVerbCollection;false;Insert;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value", - "System.ComponentModel.Design;DesignerVerbCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.ComponentModel.Design;DesignerVerbCollection;false;set_Item;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value", + "System.ComponentModel.Design;DesignerVerbCollection;false;Add;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerbCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.ComponentModel.Design;DesignerVerbCollection;false;CopyTo;(System.ComponentModel.Design.DesignerVerb[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.ComponentModel.Design;DesignerVerbCollection;false;Insert;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.ComponentModel.Design;DesignerVerbCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.ComponentModel.Design;DesignerVerbCollection;false;set_Item;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -33,6 +33,6 @@ private class SystemComponentModelDesignDesignerVerbCollectionFlowModelCsv exten private class SystemComponentModelDesignDesignerCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.ComponentModel.Design;DesignerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value" + "System.ComponentModel.Design;DesignerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/data/Common.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/data/Common.qll index 0901b400362..93cffaa373d 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/data/Common.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/data/Common.qll @@ -37,11 +37,11 @@ private class SystemDataCommonDbConnectionStringBuilderFlowModelCsv extends Exte override predicate row(string row) { row = [ - "System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", - "System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value", - "System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", + "System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual", + "System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -51,14 +51,14 @@ private class SystemDataCommonDataColumnMappingCollectionFlowModelCsv extends Ex override predicate row(string row) { row = [ - "System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Data.Common.DataColumnMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Data.Common.DataColumnMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value", - "System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value", - "System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value", + "System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Data.Common.DataColumnMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Data.Common.DataColumnMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -68,14 +68,14 @@ private class SystemDataCommonDataTableMappingCollectionFlowModelCsv extends Ext override predicate row(string row) { row = [ - "System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Data.Common.DataTableMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Data.Common.DataTableMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value", - "System.Data.Common;DataTableMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data.Common;DataTableMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value", - "System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value", + "System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Data.Common.DataTableMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Data.Common.DataTableMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataTableMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data.Common;DataTableMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -85,13 +85,13 @@ private class SystemDataCommonDbParameterCollectionFlowModelCsv extends External override predicate row(string row) { row = [ - "System.Data.Common;DbParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data.Common;DbParameterCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value", - "System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value", - "System.Data.Common;DbParameterCollection;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value", - "System.Data.Common;DbParameterCollection;true;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Data.Common;DbParameterCollection;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value", + "System.Data.Common;DbParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data.Common;DbParameterCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DbParameterCollection;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Data.Common;DbParameterCollection;true;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Data.Common;DbParameterCollection;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/io/Compression.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/io/Compression.qll index df6a27906cb..4d9268ef495 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/io/Compression.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/io/Compression.qll @@ -27,10 +27,10 @@ private class SystemIOCompressionDeflateStreamFlowModelCsv extends SummaryModelC override predicate row(string row) { row = [ - "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint", - "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];ReturnValue;taint", - "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode);;Argument[0];ReturnValue;taint", - "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];ReturnValue;taint" + "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;manual", + "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];ReturnValue;taint;manual", + "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode);;Argument[0];ReturnValue;taint;manual", + "System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Http.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Http.qll index 281d82f0b5c..1f2f48dd39e 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Http.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Http.qll @@ -7,8 +7,8 @@ private class SystemNetHttpHttpRequestOptionsFlowModelCsv extends SummaryModelCs override predicate row(string row) { row = [ - "System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value", - "System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value", + "System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual", + "System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual", ] } } @@ -17,7 +17,7 @@ private class SystemNetHttpHttpRequestOptionsFlowModelCsv extends SummaryModelCs private class SystemNetHttpMultipartContentFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Net.Http;MultipartContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value" + "System.Net.Http;MultipartContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value;manual" } } @@ -25,6 +25,6 @@ private class SystemNetHttpMultipartContentFlowModelCsv extends SummaryModelCsv private class SystemNetHttpMultipartFormDataContentFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value" + "System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Mail.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Mail.qll index 151f1f6b13d..1d7e452ed22 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Mail.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/net/Mail.qll @@ -32,6 +32,6 @@ class SystemNetMailMailMessageClass extends SystemNetMailClass { private class SystemNetMailMailAddressCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Net.Mail;MailAddressCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value" + "System.Net.Mail;MailAddressCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/runtime/CompilerServices.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/runtime/CompilerServices.qll index f02f4644cf1..1dd6dfd1370 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/runtime/CompilerServices.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/runtime/CompilerServices.qll @@ -35,7 +35,7 @@ class SystemRuntimeCompilerServicesTaskAwaiterStruct extends SystemRuntimeCompil private class SystemRuntimeCompilerServicesTaskAwaiterFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Runtime.CompilerServices;TaskAwaiter<>;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_task_awaiter].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value" + "System.Runtime.CompilerServices;TaskAwaiter<>;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_task_awaiter].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value;manual" } } @@ -67,7 +67,7 @@ private class SyntheticConfiguredTaskAwaiterField extends SyntheticField { private class SystemRuntimeCompilerServicesConfiguredTaskAwaitableTFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier].SyntheticField[m_configuredTaskAwaiter];ReturnValue;value" + "System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier].SyntheticField[m_configuredTaskAwaiter];ReturnValue;value;manual" } } @@ -89,7 +89,7 @@ class SystemRuntimeCompilerServicesConfiguredTaskAwaitableTConfiguredTaskAwaiter private class SystemRuntimeCompilerServicesConfiguredTaskAwaitableTConfiguredTaskAwaiterFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>+ConfiguredTaskAwaiter;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value" + "System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>+ConfiguredTaskAwaiter;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value;manual" } } @@ -98,8 +98,8 @@ private class SystemRuntimeCompilerServicesReadOnlyCollectionBuilderFlowModelCsv override predicate row(string row) { row = [ - "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value", - "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value", + "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual", + "System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/Cryptography.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/Cryptography.qll index 3741aeb62a4..156f99d7fde 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/Cryptography.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/Cryptography.qll @@ -24,9 +24,9 @@ private class SystemSecurityCryptographyAsnEncondedDataCollectionFlowModelCsv ex override predicate row(string row) { row = [ - "System.Security.Cryptography;AsnEncodedDataCollection;false;Add;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier].Element;value", - "System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Security.Cryptography.AsnEncodedData[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.AsnEncodedDataEnumerator.Current];value", + "System.Security.Cryptography;AsnEncodedDataCollection;false;Add;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Security.Cryptography.AsnEncodedData[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.AsnEncodedDataEnumerator.Current];value;manual", ] } } @@ -36,9 +36,9 @@ private class SystemSecurityCryptographyOidCollectionFlowModelCsv extends Summar override predicate row(string row) { row = [ - "System.Security.Cryptography;OidCollection;false;Add;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier].Element;value", - "System.Security.Cryptography;OidCollection;false;CopyTo;(System.Security.Cryptography.Oid[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.OidEnumerator.Current];value", + "System.Security.Cryptography;OidCollection;false;Add;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography;OidCollection;false;CopyTo;(System.Security.Cryptography.Oid[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.OidEnumerator.Current];value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/cryptography/X509Certificates.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/cryptography/X509Certificates.qll index 5df20a0f5a3..d9f85b4288d 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/cryptography/X509Certificates.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/security/cryptography/X509Certificates.qll @@ -35,14 +35,14 @@ private class SystemSecurityCryptographyX509CertificatesX509Certificate2Collecti override predicate row(string row) { row = [ - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Find;(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509Certificate2Enumerator.Current];value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Find;(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509Certificate2Enumerator.Current];value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -52,14 +52,14 @@ private class SystemSecurityCryptographyX509CertificatesX509CertificateCollectio override predicate row(string row) { row = [ - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Certificate[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509CertificateCollection+X509CertificateEnumerator.Current];value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Certificate[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509CertificateCollection+X509CertificateEnumerator.Current];value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -69,8 +69,8 @@ private class SystemSecurityCryptographyX509CertificatesX509ClainElementCollecti override predicate row(string row) { row = [ - "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509ChainElement[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator.Current];value", + "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509ChainElement[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator.Current];value;manual", ] } } @@ -80,9 +80,9 @@ private class SystemSecurityCryptographyX509CertificatesX509ExtensionCollectionF override predicate row(string row) { row = [ - "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Extension);;Argument[0];Argument[Qualifier].Element;value", - "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Extension[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ExtensionEnumerator.Current];value", + "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Extension);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Extension[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ExtensionEnumerator.Current];value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/text/RegularExpressions.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/text/RegularExpressions.qll index 3a2cddec1f4..4cf9897f7cb 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/text/RegularExpressions.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/text/RegularExpressions.qll @@ -88,7 +88,7 @@ class RegexOperation extends Call { private class SystemTextRegularExpressionsCaptureCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Text.RegularExpressions;CaptureCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value" + "System.Text.RegularExpressions;CaptureCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual" } } @@ -97,8 +97,8 @@ private class SystemTextRegularExpressionsGroupCollectionFlowModelCsv extends Su override predicate row(string row) { row = [ - "System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", + "System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", ] } } @@ -107,6 +107,6 @@ private class SystemTextRegularExpressionsGroupCollectionFlowModelCsv extends Su private class SystemTextRegularExpressionsMatchCollectionFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Text.RegularExpressions;MatchCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value" + "System.Text.RegularExpressions;MatchCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/threading/Tasks.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/threading/Tasks.qll index e15a2076d89..6f9dd72b32f 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/threading/Tasks.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/threading/Tasks.qll @@ -35,41 +35,41 @@ private class SystemThreadingTasksTaskFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;FromResult<>;(TResult);;Argument[0];ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;Run<>;(System.Func>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;Run<>;(System.Func>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;Run<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;Run<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task;false;WhenAll<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value", - "System.Threading.Tasks;Task;false;WhenAll<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value", - "System.Threading.Tasks;Task;false;WhenAny<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value", - "System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value", - "System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value", - "System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value", + "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;FromResult<>;(TResult);;Argument[0];ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;Run<>;(System.Func>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;Run<>;(System.Func>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;Run<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;Run<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task;false;WhenAll<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual", + "System.Threading.Tasks;Task;false;WhenAll<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual", + "System.Threading.Tasks;Task;false;WhenAny<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual", + "System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual", + "System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual", + "System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual", ] } } @@ -114,61 +114,61 @@ private class SystemThreadingTasksTaskTFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "System.Threading.Tasks;Task<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue.SyntheticField[m_task_task_awaiter];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;Task<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint" + "System.Threading.Tasks;Task<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue.SyntheticField[m_task_task_awaiter];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;Task<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;manual" ] } } @@ -178,54 +178,54 @@ private class SystemThreadingTasksTaskFactoryFlowModelCsv extends SummaryModelCs override predicate row(string row) { row = [ - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", ] } } @@ -235,42 +235,42 @@ private class SystemThreadingTasksTaskFactoryTFlowModelCsv extends SummaryModelC override predicate row(string row) { row = [ - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", - "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", + "System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/web/ui/WebControls.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/web/ui/WebControls.qll index 8a6611e7999..542a26963a4 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/web/ui/WebControls.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/web/ui/WebControls.qll @@ -33,7 +33,7 @@ class SystemWebUIWebControlsTextBoxClass extends SystemWebUIWebControlsClass { private class SystebWebUIWebControlsTextBoxClassFlowModelCsv extends SummaryModelCsv { override predicate row(string row) { row = - "System.Web.UI.WebControls;TextBox;false;get_Text;();;Argument[Qualifier];ReturnValue;taint" + "System.Web.UI.WebControls;TextBox;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Schema.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Schema.qll index 9eb6258e35c..06ab41bf574 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Schema.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Schema.qll @@ -7,12 +7,12 @@ private class SystemXmlSchemaXmlSchemaObjectCollectionFlowModelCsv extends Summa override predicate row(string row) { row = [ - "System.Xml.Schema;XmlSchemaObjectCollection;false;Add;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Schema;XmlSchemaObjectCollection;false;CopyTo;(System.Xml.Schema.XmlSchemaObject[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Xml.Schema;XmlSchemaObjectCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaObjectEnumerator.Current];value", - "System.Xml.Schema;XmlSchemaObjectCollection;false;Insert;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value", - "System.Xml.Schema;XmlSchemaObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Schema;XmlSchemaObjectCollection;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value", + "System.Xml.Schema;XmlSchemaObjectCollection;false;Add;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Schema;XmlSchemaObjectCollection;false;CopyTo;(System.Xml.Schema.XmlSchemaObject[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Xml.Schema;XmlSchemaObjectCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaObjectEnumerator.Current];value;manual", + "System.Xml.Schema;XmlSchemaObjectCollection;false;Insert;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Xml.Schema;XmlSchemaObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Schema;XmlSchemaObjectCollection;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -22,10 +22,10 @@ private class SystemXmlSchemaXmlSchemaCollectionFlowModelCsv extends SummaryMode override predicate row(string row) { row = [ - "System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchemaCollection);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaCollectionEnumerator.Current];value", + "System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchemaCollection);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaCollectionEnumerator.Current];value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Serialization.qll b/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Serialization.qll index d7e2fc7bde3..61c55f51651 100644 --- a/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Serialization.qll +++ b/csharp/ql/lib/semmle/code/csharp/frameworks/system/xml/Serialization.qll @@ -7,11 +7,11 @@ private class SystemXmlSerializationXmlAnyElementAttributesFlowModelCsv extends override predicate row(string row) { row = [ - "System.Xml.Serialization;XmlAnyElementAttributes;false;Add;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlAnyElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlAnyElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Xml.Serialization;XmlAnyElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlAnyElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Serialization;XmlAnyElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value", + "System.Xml.Serialization;XmlAnyElementAttributes;false;Add;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlAnyElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlAnyElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Xml.Serialization;XmlAnyElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlAnyElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Serialization;XmlAnyElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -21,11 +21,11 @@ private class SystemXmlSerializationXmlArrayItemAttributesFlowModelCsv extends S override predicate row(string row) { row = [ - "System.Xml.Serialization;XmlArrayItemAttributes;false;Add;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlArrayItemAttributes;false;CopyTo;(System.Xml.Serialization.XmlArrayItemAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Xml.Serialization;XmlArrayItemAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlArrayItemAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Serialization;XmlArrayItemAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value", + "System.Xml.Serialization;XmlArrayItemAttributes;false;Add;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlArrayItemAttributes;false;CopyTo;(System.Xml.Serialization.XmlArrayItemAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Xml.Serialization;XmlArrayItemAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlArrayItemAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Serialization;XmlArrayItemAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -35,11 +35,11 @@ private class SystemXmlSerializationXmlElementAttributesFlowModelCsv extends Sum override predicate row(string row) { row = [ - "System.Xml.Serialization;XmlElementAttributes;false;Add;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Xml.Serialization;XmlElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Serialization;XmlElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value", + "System.Xml.Serialization;XmlElementAttributes;false;Add;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Xml.Serialization;XmlElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Serialization;XmlElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } @@ -49,14 +49,14 @@ private class SystemXmlSerializationXmlSchemasFlowModelCsv extends SummaryModelC override predicate row(string row) { row = [ - "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Serialization.XmlSchemas);;Argument[0];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlSchemas;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value", - "System.Xml.Serialization;XmlSchemas;false;Find;(System.Xml.XmlQualifiedName,System.Type);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Serialization;XmlSchemas;false;Insert;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value", - "System.Xml.Serialization;XmlSchemas;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Serialization;XmlSchemas;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value", - "System.Xml.Serialization;XmlSchemas;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value", + "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Serialization.XmlSchemas);;Argument[0];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlSchemas;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual", + "System.Xml.Serialization;XmlSchemas;false;Find;(System.Xml.XmlQualifiedName,System.Type);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Serialization;XmlSchemas;false;Insert;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value;manual", + "System.Xml.Serialization;XmlSchemas;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Serialization;XmlSchemas;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual", + "System.Xml.Serialization;XmlSchemas;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value;manual", ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll index 067c2788070..796bc9f3b5d 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/UrlRedirectQuery.qll @@ -26,9 +26,11 @@ abstract class Sink extends DataFlow::ExprNode { } abstract class Sanitizer extends DataFlow::ExprNode { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A guard for unvalidated URL redirect vulnerabilities. */ -abstract class SanitizerGuard extends DataFlow::BarrierGuard { } +abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** * A taint-tracking configuration for reasoning about unvalidated URL redirect vulnerabilities. @@ -42,7 +44,7 @@ class TaintTrackingConfiguration extends TaintTracking::Configuration { override predicate isSanitizer(DataFlow::Node node) { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } @@ -102,16 +104,17 @@ class HttpServerTransferSink extends Sink { } } +private predicate isLocalUrlSanitizer(Guard g, Expr e, AbstractValue v) { + g.(MethodCall).getTarget().hasName("IsLocalUrl") and + e = g.(MethodCall).getArgument(0) and + v.(AbstractValues::BooleanValue).getValue() = true +} + /** * A URL argument to a call to `UrlHelper.isLocalUrl()` that is a sanitizer for URL redirects. */ -class IsLocalUrlSanitizer extends SanitizerGuard, MethodCall { - IsLocalUrlSanitizer() { this.getTarget().hasName("IsLocalUrl") } - - override predicate checks(Expr e, AbstractValue v) { - e = this.getArgument(0) and - v.(AbstractValues::BooleanValue).getValue() = true - } +class LocalUrlSanitizer extends Sanitizer { + LocalUrlSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll index d0999605b61..b5fdf04f208 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/XSSSinks.qll @@ -251,7 +251,7 @@ private class HttpResponseBaseSink extends Sink { */ private class StringContentSinkModelCsv extends SinkModelCsv { override predicate row(string row) { - row = "System.Net.Http;StringContent;false;StringContent;;;Argument[0];xss" + row = "System.Net.Http;StringContent;false;StringContent;;;Argument[0];xss;manual" } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll index fa809a374d5..99f001eb115 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/ZipSlipQuery.qll @@ -21,9 +21,11 @@ abstract class Sink extends DataFlow::ExprNode { } abstract class Sanitizer extends DataFlow::ExprNode { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A guard for unsafe zip extraction. */ -abstract class SanitizerGuard extends DataFlow::BarrierGuard { } +abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A taint tracking configuration for Zip Slip */ class TaintTrackingConfiguration extends TaintTracking::Configuration { @@ -35,7 +37,7 @@ class TaintTrackingConfiguration extends TaintTracking::Configuration { override predicate isSanitizer(DataFlow::Node node) { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } @@ -126,26 +128,22 @@ class SubstringSanitizer extends Sanitizer { } } +private predicate stringCheckGuard(Guard g, Expr e, AbstractValue v) { + g.(MethodCall).getTarget().hasQualifiedName("System.String", "StartsWith") and + g.(MethodCall).getQualifier() = e and + // A StartsWith check against Path.Combine is not sufficient, because the ".." elements have + // not yet been resolved. + not exists(MethodCall combineCall | + combineCall.getTarget().hasQualifiedName("System.IO.Path", "Combine") and + DataFlow::localExprFlow(combineCall, e) + ) and + v.(AbstractValues::BooleanValue).getValue() = true +} + /** * A call to `String.StartsWith()` that indicates that the tainted path value is being * validated to ensure that it occurs within a permitted output path. */ -class StringCheckGuard extends SanitizerGuard, MethodCall { - private Expr q; - - StringCheckGuard() { - this.getTarget().hasQualifiedName("System.String", "StartsWith") and - this.getQualifier() = q and - // A StartsWith check against Path.Combine is not sufficient, because the ".." elements have - // not yet been resolved. - not exists(MethodCall combineCall | - combineCall.getTarget().hasQualifiedName("System.IO.Path", "Combine") and - DataFlow::localExprFlow(combineCall, q) - ) - } - - override predicate checks(Expr e, AbstractValue v) { - e = q and - v.(AbstractValues::BooleanValue).getValue() = true - } +class StringCheckSanitizer extends Sanitizer { + StringCheckSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll index aaf9b1a9919..6abd57c681a 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsinks/Html.qll @@ -34,10 +34,10 @@ private class HttpResponseSinkModelCsv extends SinkModelCsv { override predicate row(string row) { row = [ - "System.Web;HttpResponse;false;Write;;;Argument[0];html", - "System.Web;HttpResponse;false;WriteFile;;;Argument[0];html", - "System.Web;HttpResponse;false;TransmitFile;;;Argument[0];html", - "System.Web;HttpResponse;false;BinaryWrite;;;Argument[0];html" + "System.Web;HttpResponse;false;Write;;;Argument[0];html;manual", + "System.Web;HttpResponse;false;WriteFile;;;Argument[0];html;manual", + "System.Web;HttpResponse;false;TransmitFile;;;Argument[0];html;manual", + "System.Web;HttpResponse;false;BinaryWrite;;;Argument[0];html;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll index fc63c143a5f..2d4face1f63 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Local.qll @@ -33,9 +33,9 @@ private class SystemConsoleReadSourceModelCsv extends SourceModelCsv { override predicate row(string row) { row = [ - "System;Console;false;ReadLine;;;ReturnValue;local", - "System;Console;false;Read;;;ReturnValue;local", - "System;Console;false;ReadKey;;;ReturnValue;local" + "System;Console;false;ReadLine;;;ReturnValue;local;manual", + "System;Console;false;Read;;;ReturnValue;local;manual", + "System;Console;false;ReadKey;;;ReturnValue;local;manual" ] } } diff --git a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll index 2448f80e8ba..241f16d06ed 100644 --- a/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll +++ b/csharp/ql/lib/semmle/code/csharp/security/dataflow/flowsources/Remote.qll @@ -171,6 +171,23 @@ class ActionMethodParameter extends RemoteFlowSource, DataFlow::ParameterNode { /** A data flow source of remote user input (ASP.NET Core). */ abstract class AspNetCoreRemoteFlowSource extends RemoteFlowSource { } +/** + * Data flow for ASP.NET Core. + * + * Flow is defined from any ASP.NET Core remote source object to any of its member + * properties. + */ +private class AspNetCoreRemoteFlowSourceMember extends TaintTracking::TaintedMember, Property { + AspNetCoreRemoteFlowSourceMember() { + this.getDeclaringType() = any(AspNetCoreRemoteFlowSource source).getType() and + this.isPublic() and + not this.isStatic() and + this.isAutoImplemented() and + this.getGetter().isPublic() and + this.getSetter().isPublic() + } +} + /** A data flow source of remote user input (ASP.NET query collection). */ class AspNetCoreQueryRemoteFlowSource extends AspNetCoreRemoteFlowSource, DataFlow::ExprNode { AspNetCoreQueryRemoteFlowSource() { @@ -196,7 +213,7 @@ class AspNetCoreQueryRemoteFlowSource extends AspNetCoreRemoteFlowSource, DataFl } /** A parameter to a `Mvc` controller action method, viewed as a source of remote user input. */ -class AspNetCoreActionMethodParameter extends RemoteFlowSource, DataFlow::ParameterNode { +class AspNetCoreActionMethodParameter extends AspNetCoreRemoteFlowSource, DataFlow::ParameterNode { AspNetCoreActionMethodParameter() { exists(Parameter p | p = this.getParameter() and diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index a6d0420d782..bb530ba1727 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,24 @@ +## 0.3.1 + +## 0.3.0 + +### Breaking Changes + +* Contextual queries and the query libraries they depend on have been moved to the `codeql/csharp-all` package. + +## 0.2.0 + +### Query Metadata Changes + +* The `kind` query metadata was changed to `diagnostic` on `cs/compilation-error`, `cs/compilation-message`, `cs/extraction-error`, and `cs/extraction-message`. + +### Minor Analysis Improvements + +* The syntax of the (source|sink|summary)model CSV format has been changed slightly for Java and C#. A new column called `provenance` has been introduced, where the allowed values are `manual` and `generated`. The value used to indicate whether a model as been written by hand (`manual`) or create by the CSV model generator (`generated`). +* All auto implemented public properties with public getters and setters on ASP.NET Core remote flow sources are now also considered to be tainted. + +## 0.1.4 + ## 0.1.3 ## 0.1.2 diff --git a/csharp/ql/src/Diagnostics/CompilerError.ql b/csharp/ql/src/Diagnostics/CompilerError.ql index 11c89b89e53..1a3c2c6db49 100644 --- a/csharp/ql/src/Diagnostics/CompilerError.ql +++ b/csharp/ql/src/Diagnostics/CompilerError.ql @@ -1,9 +1,7 @@ /** * @name Compilation error * @description A compilation error can cause extraction problems, and could lead to inaccurate results. - * @kind problem - * @problem.severity recommendation - * @precision high + * @kind diagnostic * @id cs/compilation-error * @tags internal non-attributable */ diff --git a/csharp/ql/src/Diagnostics/CompilerMessage.ql b/csharp/ql/src/Diagnostics/CompilerMessage.ql index bf160fa94cc..2a974f4367f 100644 --- a/csharp/ql/src/Diagnostics/CompilerMessage.ql +++ b/csharp/ql/src/Diagnostics/CompilerMessage.ql @@ -1,9 +1,7 @@ /** * @name Compilation message * @description A message emitted by the compiler, including warnings and errors. - * @kind problem - * @problem.severity recommendation - * @precision high + * @kind diagnostic * @id cs/compilation-message * @tags internal non-attributable */ diff --git a/csharp/ql/src/Diagnostics/ExtractorError.ql b/csharp/ql/src/Diagnostics/ExtractorError.ql index 1711792b520..b98dbd373ba 100644 --- a/csharp/ql/src/Diagnostics/ExtractorError.ql +++ b/csharp/ql/src/Diagnostics/ExtractorError.ql @@ -3,9 +3,7 @@ * @description An error message reported by the extractor, limited to those files where there are no * compilation errors. This indicates a bug or limitation in the extractor, and could lead * to inaccurate results. - * @kind problem - * @problem.severity recommendation - * @precision high + * @kind diagnostic * @id cs/extraction-error * @tags internal non-attributable */ diff --git a/csharp/ql/src/Diagnostics/ExtractorMessage.ql b/csharp/ql/src/Diagnostics/ExtractorMessage.ql index 882b7ef89d5..4a3cb728d11 100644 --- a/csharp/ql/src/Diagnostics/ExtractorMessage.ql +++ b/csharp/ql/src/Diagnostics/ExtractorMessage.ql @@ -1,9 +1,7 @@ /** * @name Extraction message * @description An error message reported by the extractor. This could lead to inaccurate results. - * @kind problem - * @problem.severity recommendation - * @precision high + * @kind diagnostic * @id cs/extraction-message * @tags internal non-attributable */ diff --git a/csharp/ql/src/Telemetry/ExternalApi.qll b/csharp/ql/src/Telemetry/ExternalApi.qll index b47c9c2c077..9679cd1061a 100644 --- a/csharp/ql/src/Telemetry/ExternalApi.qll +++ b/csharp/ql/src/Telemetry/ExternalApi.qll @@ -107,3 +107,36 @@ class ExternalApi extends DotNet::Callable { /** Holds if this API is supported by existing CodeQL libraries, that is, it is either a recognized source or sink or has a flow summary. */ predicate isSupported() { this.hasSummary() or this.isSource() or this.isSink() } } + +/** + * Gets the limit for the number of results produced by a telemetry query. + */ +int resultLimit() { result = 1000 } + +/** + * Holds if the relevant usage count of `api` is `usages`. + */ +signature predicate relevantUsagesSig(ExternalApi api, int usages); + +/** + * Given a predicate to count relevant API usages, this module provides a predicate + * for restricting the number or returned results based on a certain limit. + */ +module Results { + private int getOrder(ExternalApi api) { + api = + rank[result](ExternalApi a, int usages | + getRelevantUsages(a, usages) + | + a order by usages desc, a.getInfo() + ) + } + + /** + * Holds if `api` is being used `usages` times and if it is + * in the top results (guarded by resultLimit). + */ + predicate restrict(ExternalApi api, int usages) { + getRelevantUsages(api, usages) and getOrder(api) <= resultLimit() + } +} diff --git a/csharp/ql/src/Telemetry/ExternalLibraryUsage.ql b/csharp/ql/src/Telemetry/ExternalLibraryUsage.ql index 51ae5609025..dfc1a8e062c 100644 --- a/csharp/ql/src/Telemetry/ExternalLibraryUsage.ql +++ b/csharp/ql/src/Telemetry/ExternalLibraryUsage.ql @@ -10,12 +10,23 @@ private import csharp private import semmle.code.csharp.dispatch.Dispatch private import ExternalApi -from int usages, string info -where +private predicate getRelevantUsages(string info, int usages) { usages = strictcount(DispatchCall c, ExternalApi api | c = api.getACall() and api.getInfoPrefix() = info and not api.isUninteresting() ) +} + +private int getOrder(string info) { + info = + rank[result](string i, int usages | getRelevantUsages(i, usages) | i order by usages desc, i) +} + +from ExternalApi api, string info, int usages +where + info = api.getInfoPrefix() and + getRelevantUsages(info, usages) and + getOrder(info) <= resultLimit() select info, usages order by usages desc diff --git a/csharp/ql/src/Telemetry/SupportedExternalSinks.ql b/csharp/ql/src/Telemetry/SupportedExternalSinks.ql index 2f13c334ba4..74d36bc4cec 100644 --- a/csharp/ql/src/Telemetry/SupportedExternalSinks.ql +++ b/csharp/ql/src/Telemetry/SupportedExternalSinks.ql @@ -10,9 +10,12 @@ private import csharp private import semmle.code.csharp.dispatch.Dispatch private import ExternalApi -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and api.isSink() and usages = strictcount(DispatchCall c | c = api.getACall()) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getInfo() as info, usages order by usages desc diff --git a/csharp/ql/src/Telemetry/SupportedExternalSources.ql b/csharp/ql/src/Telemetry/SupportedExternalSources.ql index 9a81f7a7ffd..9e57adb9b22 100644 --- a/csharp/ql/src/Telemetry/SupportedExternalSources.ql +++ b/csharp/ql/src/Telemetry/SupportedExternalSources.ql @@ -10,9 +10,12 @@ private import csharp private import semmle.code.csharp.dispatch.Dispatch private import ExternalApi -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and api.isSource() and usages = strictcount(DispatchCall c | c = api.getACall()) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getInfo() as info, usages order by usages desc diff --git a/csharp/ql/src/Telemetry/SupportedExternalTaint.ql b/csharp/ql/src/Telemetry/SupportedExternalTaint.ql index 022c935f77e..5e8a816b3f6 100644 --- a/csharp/ql/src/Telemetry/SupportedExternalTaint.ql +++ b/csharp/ql/src/Telemetry/SupportedExternalTaint.ql @@ -10,9 +10,12 @@ private import csharp private import semmle.code.csharp.dispatch.Dispatch private import ExternalApi -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and api.hasSummary() and usages = strictcount(DispatchCall c | c = api.getACall()) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getInfo() as info, usages order by usages desc diff --git a/csharp/ql/src/Telemetry/UnsupportedExternalAPIs.ql b/csharp/ql/src/Telemetry/UnsupportedExternalAPIs.ql index c9428be413f..f9fba18d2b1 100644 --- a/csharp/ql/src/Telemetry/UnsupportedExternalAPIs.ql +++ b/csharp/ql/src/Telemetry/UnsupportedExternalAPIs.ql @@ -10,9 +10,12 @@ private import csharp private import semmle.code.csharp.dispatch.Dispatch private import ExternalApi -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and not api.isSupported() and usages = strictcount(DispatchCall c | c = api.getACall()) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getInfo() as info, usages order by usages desc diff --git a/csharp/ql/src/change-notes/released/0.1.4.md b/csharp/ql/src/change-notes/released/0.1.4.md new file mode 100644 index 00000000000..49899666aec --- /dev/null +++ b/csharp/ql/src/change-notes/released/0.1.4.md @@ -0,0 +1 @@ +## 0.1.4 diff --git a/csharp/ql/src/change-notes/released/0.2.0.md b/csharp/ql/src/change-notes/released/0.2.0.md new file mode 100644 index 00000000000..1b7d3928c1c --- /dev/null +++ b/csharp/ql/src/change-notes/released/0.2.0.md @@ -0,0 +1,10 @@ +## 0.2.0 + +### Query Metadata Changes + +* The `kind` query metadata was changed to `diagnostic` on `cs/compilation-error`, `cs/compilation-message`, `cs/extraction-error`, and `cs/extraction-message`. + +### Minor Analysis Improvements + +* The syntax of the (source|sink|summary)model CSV format has been changed slightly for Java and C#. A new column called `provenance` has been introduced, where the allowed values are `manual` and `generated`. The value used to indicate whether a model as been written by hand (`manual`) or create by the CSV model generator (`generated`). +* All auto implemented public properties with public getters and setters on ASP.NET Core remote flow sources are now also considered to be tainted. diff --git a/csharp/ql/src/change-notes/released/0.3.0.md b/csharp/ql/src/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..001d034c251 --- /dev/null +++ b/csharp/ql/src/change-notes/released/0.3.0.md @@ -0,0 +1,5 @@ +## 0.3.0 + +### Breaking Changes + +* Contextual queries and the query libraries they depend on have been moved to the `codeql/csharp-all` package. diff --git a/csharp/ql/src/change-notes/released/0.3.1.md b/csharp/ql/src/change-notes/released/0.3.1.md new file mode 100644 index 00000000000..2b0719929a1 --- /dev/null +++ b/csharp/ql/src/change-notes/released/0.3.1.md @@ -0,0 +1 @@ +## 0.3.1 diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index b79d8f9d00a..bb106b1cb63 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.3 +lastReleaseVersion: 0.3.1 diff --git a/csharp/ql/src/experimental/CWE-918/RequestForgery.qll b/csharp/ql/src/experimental/CWE-918/RequestForgery.qll index 0f73e0f3d8b..fd08734fb5f 100644 --- a/csharp/ql/src/experimental/CWE-918/RequestForgery.qll +++ b/csharp/ql/src/experimental/CWE-918/RequestForgery.qll @@ -18,10 +18,10 @@ module RequestForgery { abstract private class Sink extends DataFlow::ExprNode { } /** - * A data flow BarrierGuard which blocks the flow of taint for + * A data flow Barrier that blocks the flow of taint for * server side request forgery vulnerabilities. */ - abstract private class BarrierGuard extends DataFlow::BarrierGuard { } + abstract private class Barrier extends DataFlow::Node { } /** * A data flow configuration for detecting server side request forgery vulnerabilities. @@ -51,9 +51,7 @@ module RequestForgery { pathCombineStep(prev, succ) } - override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - guard instanceof BarrierGuard - } + override predicate isBarrier(DataFlow::Node node) { node instanceof Barrier } } /** @@ -129,17 +127,18 @@ module RequestForgery { * to be a guard for Server Side Request Forgery(SSRF) Vulnerabilities. * This guard considers all checks as valid. */ - private class BaseUriGuard extends BarrierGuard, MethodCall { - BaseUriGuard() { this.getTarget().hasQualifiedName("System.Uri", "IsBaseOf") } + private predicate baseUriGuard(Guard g, Expr e, AbstractValue v) { + g.(MethodCall).getTarget().hasQualifiedName("System.Uri", "IsBaseOf") and + // we consider any checks against the tainted value to sainitize the taint. + // This implies any check such as shown below block the taint flow. + // Uri url = new Uri("whitelist.com") + // if (url.isBaseOf(`taint1)) + (e = g.(MethodCall).getArgument(0) or e = g.(MethodCall).getQualifier()) and + v.(AbstractValues::BooleanValue).getValue() = true + } - override predicate checks(Expr e, AbstractValue v) { - // we consider any checks against the tainted value to sainitize the taint. - // This implies any check such as shown below block the taint flow. - // Uri url = new Uri("whitelist.com") - // if (url.isBaseOf(`taint1)) - (e = this.getArgument(0) or e = this.getQualifier()) and - v.(AbstractValues::BooleanValue).getValue() = true - } + private class BaseUriBarrier extends Barrier { + BaseUriBarrier() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** @@ -147,18 +146,19 @@ module RequestForgery { * to be a guard for Server Side Request Forgery(SSRF) Vulnerabilities. * This guard considers all checks as valid. */ - private class StringStartsWithBarrierGuard extends BarrierGuard, MethodCall { - StringStartsWithBarrierGuard() { - this.getTarget().hasQualifiedName("System.String", "StartsWith") - } + private predicate stringStartsWithGuard(Guard g, Expr e, AbstractValue v) { + g.(MethodCall).getTarget().hasQualifiedName("System.String", "StartsWith") and + // Any check such as the ones shown below + // "https://myurl.com/".startsWith(`taint`) + // `taint`.startsWith("https://myurl.com/") + // are assumed to sainitize the taint + (e = g.(MethodCall).getQualifier() or g.(MethodCall).getArgument(0) = e) and + v.(AbstractValues::BooleanValue).getValue() = true + } - override predicate checks(Expr e, AbstractValue v) { - // Any check such as the ones shown below - // "https://myurl.com/".startsWith(`taint`) - // `taint`.startsWith("https://myurl.com/") - // are assumed to sainitize the taint - (e = this.getQualifier() or this.getArgument(0) = e) and - v.(AbstractValues::BooleanValue).getValue() = true + private class StringStartsWithBarrier extends Barrier { + StringStartsWithBarrier() { + this = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.cs b/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.cs new file mode 100644 index 00000000000..bee97118ea8 --- /dev/null +++ b/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.cs @@ -0,0 +1,44 @@ + +{ + SymmetricKey aesKey = new SymmetricKey(kid: "symencryptionkey"); + + // BAD: Using the outdated client side encryption version V1_0 + BlobEncryptionPolicy uploadPolicy = new BlobEncryptionPolicy(key: aesKey, keyResolver: null); + BlobRequestOptions uploadOptions = new BlobRequestOptions() { EncryptionPolicy = uploadPolicy }; + + MemoryStream stream = new MemoryStream(buffer); + blob.UploadFromStream(stream, length: size, accessCondition: null, options: uploadOptions); +} + +var client = new BlobClient(myConnectionString, new SpecializedBlobClientOptions() +{ + // BAD: Using an outdated SDK that does not support client side encryption version V2_0 + ClientSideEncryption = new ClientSideEncryptionOptions() + { + KeyEncryptionKey = myKey, + KeyResolver = myKeyResolver, + KeyWrapAlgorihm = myKeyWrapAlgorithm + } +}); + +var client = new BlobClient(myConnectionString, new SpecializedBlobClientOptions() +{ + // BAD: Using the outdated client side encryption version V1_0 + ClientSideEncryption = new ClientSideEncryptionOptions(ClientSideEncryptionVersion.V1_0) + { + KeyEncryptionKey = myKey, + KeyResolver = myKeyResolver, + KeyWrapAlgorihm = myKeyWrapAlgorithm + } +}); + +var client = new BlobClient(myConnectionString, new SpecializedBlobClientOptions() +{ + // GOOD: Using client side encryption version V2_0 + ClientSideEncryption = new ClientSideEncryptionOptions(ClientSideEncryptionVersion.V2_0) + { + KeyEncryptionKey = myKey, + KeyResolver = myKeyResolver, + KeyWrapAlgorihm = myKeyWrapAlgorithm + } +}); \ No newline at end of file diff --git a/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp b/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp new file mode 100644 index 00000000000..54c9a4998b4 --- /dev/null +++ b/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp @@ -0,0 +1,29 @@ + + + + + +

    Azure Storage .NET, Java, and Python SDKs support encryption on the client with a customer-managed key that is maintained in Azure Key Vault or another key store.

    +

    Current release versions of the Azure Storage SDKs use cipher block chaining (CBC mode) for client-side encryption (referred to as v1).

    + +
    + + +

    Consider switching to v2 client-side encryption.

    + +
    + + + + + + +
  • + Azure Storage Client Encryption Blog. +
  • +
  • + CVE-2022-30187 +
  • + +
    +
    diff --git a/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql b/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql new file mode 100644 index 00000000000..eb1cb673ed2 --- /dev/null +++ b/csharp/ql/src/experimental/Security Features/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql @@ -0,0 +1,81 @@ +/** + * @name Unsafe usage of v1 version of Azure Storage client-side encryption (CVE-2022-30187). + * @description Unsafe usage of v1 version of Azure Storage client-side encryption, please refer to http://aka.ms/azstorageclientencryptionblog + * @kind problem + * @tags security + * cryptography + * external/cwe/cwe-327 + * @id cs/azure-storage/unsafe-usage-of-client-side-encryption-version + * @problem.severity error + * @precision high + */ + +import csharp + +/** + * Holds if `oc` is creating an object of type `c` = `Azure.Storage.ClientSideEncryptionOptions` + * and `e` is the `version` argument to the constructor + */ +predicate isCreatingAzureClientSideEncryptionObject(ObjectCreation oc, Class c, Expr e) { + exists(Parameter p | p.hasName("version") | + c.hasQualifiedName("Azure.Storage.ClientSideEncryptionOptions") and + oc.getTarget() = c.getAConstructor() and + e = oc.getArgumentForParameter(p) + ) +} + +/** + * Holds if `oc` is an object creation of the outdated type `c` = `Microsoft.Azure.Storage.Blob.BlobEncryptionPolicy` + */ +predicate isCreatingOutdatedAzureClientSideEncryptionObject(ObjectCreation oc, Class c) { + c.hasQualifiedName("Microsoft.Azure.Storage.Blob.BlobEncryptionPolicy") and + oc.getTarget() = c.getAConstructor() +} + +/** + * Holds if the Azure.Storage assembly for `c` is a version known to support + * version 2+ for client-side encryption + */ +predicate doesAzureStorageAssemblySupportSafeClientSideEncryption(Assembly asm) { + exists(int versionCompare | + versionCompare = asm.getVersion().compareTo("12.12.0.0") and + versionCompare >= 0 + ) and + asm.getName() = "Azure.Storage.Common" +} + +/** + * Holds if the Azure.Storage assembly for `c` is a version known to support + * version 2+ for client-side encryption and if the argument for the constructor `version` + * is set to a secure value. + */ +predicate isObjectCreationArgumentSafeAndUsingSafeVersionOfAssembly(Expr versionExpr, Assembly asm) { + // Check if the Azure.Storage assembly version has the fix + doesAzureStorageAssemblySupportSafeClientSideEncryption(asm) and + // and that the version argument for the constructor is guaranteed to be Version2 + isExprAnAccessToSafeClientSideEncryptionVersionValue(versionExpr) +} + +/** + * Holds if the expression `e` is an access to a safe version of the enum `ClientSideEncryptionVersion` + * or an equivalent numeric value + */ +predicate isExprAnAccessToSafeClientSideEncryptionVersionValue(Expr e) { + exists(EnumConstant ec | + ec.hasQualifiedName("Azure.Storage.ClientSideEncryptionVersion.V2_0") and + ec.getAnAccess() = e + ) +} + +from Expr e, Class c, Assembly asm +where + asm = c.getLocation() and + ( + exists(Expr e2 | + isCreatingAzureClientSideEncryptionObject(e, c, e2) and + not isObjectCreationArgumentSafeAndUsingSafeVersionOfAssembly(e2, asm) + ) + or + isCreatingOutdatedAzureClientSideEncryptionObject(e, c) + ) +select e, "Unsafe usage of v1 version of Azure Storage client-side encryption." diff --git a/csharp/ql/src/experimental/ir/implementation/IRConfiguration.qll b/csharp/ql/src/experimental/ir/implementation/IRConfiguration.qll index 37ac2fccdd9..90cdb9e0f5f 100644 --- a/csharp/ql/src/experimental/ir/implementation/IRConfiguration.qll +++ b/csharp/ql/src/experimental/ir/implementation/IRConfiguration.qll @@ -16,7 +16,7 @@ class IRConfiguration extends TIRConfiguration { /** * Holds if IR should be created for function `func`. By default, holds for all functions. */ - predicate shouldCreateIRForFunction(Language::Function func) { any() } + predicate shouldCreateIRForFunction(Language::Declaration func) { any() } /** * Holds if the strings used as part of an IR dump should be generated for function `func`. @@ -25,7 +25,7 @@ class IRConfiguration extends TIRConfiguration { * of debug strings for IR that will not be dumped. We still generate the actual IR for these * functions, however, to preserve the results of any interprocedural analysis. */ - predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { any() } + predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { any() } } private newtype TIREscapeAnalysisConfiguration = MkIREscapeAnalysisConfiguration() diff --git a/csharp/ql/src/experimental/ir/implementation/internal/IRFunctionBase.qll b/csharp/ql/src/experimental/ir/implementation/internal/IRFunctionBase.qll index 60895ce3d26..576b4f9adf1 100644 --- a/csharp/ql/src/experimental/ir/implementation/internal/IRFunctionBase.qll +++ b/csharp/ql/src/experimental/ir/implementation/internal/IRFunctionBase.qll @@ -5,23 +5,28 @@ private import IRFunctionBaseInternal private newtype TIRFunction = - MkIRFunction(Language::Function func) { IRConstruction::Raw::functionHasIR(func) } + TFunctionIRFunction(Language::Function func) { IRConstruction::Raw::functionHasIR(func) } or + TVarInitIRFunction(Language::GlobalVariable var) { IRConstruction::Raw::varHasIRFunc(var) } /** * The IR for a function. This base class contains only the predicates that are the same between all * phases of the IR. Each instantiation of `IRFunction` extends this class. */ class IRFunctionBase extends TIRFunction { - Language::Function func; + Language::Declaration decl; - IRFunctionBase() { this = MkIRFunction(func) } + IRFunctionBase() { + this = TFunctionIRFunction(decl) + or + this = TVarInitIRFunction(decl) + } /** Gets a textual representation of this element. */ - final string toString() { result = "IR: " + func.toString() } + final string toString() { result = "IR: " + decl.toString() } /** Gets the function whose IR is represented. */ - final Language::Function getFunction() { result = func } + final Language::Declaration getFunction() { result = decl } /** Gets the location of the function. */ - final Language::Location getLocation() { result = func.getLocation() } + final Language::Location getLocation() { result = decl.getLocation() } } diff --git a/csharp/ql/src/experimental/ir/implementation/internal/TIRVariable.qll b/csharp/ql/src/experimental/ir/implementation/internal/TIRVariable.qll index 12a0c6e7898..fe72263249f 100644 --- a/csharp/ql/src/experimental/ir/implementation/internal/TIRVariable.qll +++ b/csharp/ql/src/experimental/ir/implementation/internal/TIRVariable.qll @@ -2,21 +2,21 @@ private import TIRVariableInternal private import Imports::TempVariableTag newtype TIRVariable = - TIRUserVariable(Language::Variable var, Language::LanguageType type, Language::Function func) { + TIRUserVariable(Language::Variable var, Language::LanguageType type, Language::Declaration func) { Construction::hasUserVariable(func, var, type) } or TIRTempVariable( - Language::Function func, Language::AST ast, TempVariableTag tag, Language::LanguageType type + Language::Declaration func, Language::AST ast, TempVariableTag tag, Language::LanguageType type ) { Construction::hasTempVariable(func, ast, tag, type) } or TIRDynamicInitializationFlag( - Language::Function func, Language::Variable var, Language::LanguageType type + Language::Declaration func, Language::Variable var, Language::LanguageType type ) { Construction::hasDynamicInitializationFlag(func, var, type) } or TIRStringLiteral( - Language::Function func, Language::AST ast, Language::LanguageType type, + Language::Declaration func, Language::AST ast, Language::LanguageType type, Language::StringLiteral literal ) { Construction::hasStringLiteral(func, ast, type, literal) diff --git a/csharp/ql/src/experimental/ir/implementation/raw/IRBlock.qll b/csharp/ql/src/experimental/ir/implementation/raw/IRBlock.qll index bac7634cbd0..78008a6c69b 100644 --- a/csharp/ql/src/experimental/ir/implementation/raw/IRBlock.qll +++ b/csharp/ql/src/experimental/ir/implementation/raw/IRBlock.qll @@ -97,7 +97,7 @@ class IRBlockBase extends TIRBlock { /** * Gets the `Function` that contains this block. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = getFirstInstruction(this).getEnclosingFunction() } } diff --git a/csharp/ql/src/experimental/ir/implementation/raw/IRConsistency.qll b/csharp/ql/src/experimental/ir/implementation/raw/IRConsistency.qll index 31983d34247..45b44b14a3c 100644 --- a/csharp/ql/src/experimental/ir/implementation/raw/IRConsistency.qll +++ b/csharp/ql/src/experimental/ir/implementation/raw/IRConsistency.qll @@ -524,4 +524,23 @@ module InstructionConsistency { "' has a `this` argument operand that is not an address, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonUniqueIRVariable( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(VariableInstruction vi, IRVariable v1, IRVariable v2 | + instr = vi and vi.getIRVariable() = v1 and vi.getIRVariable() = v2 and v1 != v2 + ) and + message = + "Variable instruction '" + instr.toString() + + "' has multiple associated variables, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + or + instr.getOpcode() instanceof Opcode::VariableAddress and + not instr instanceof VariableInstruction and + message = + "Variable address instruction '" + instr.toString() + + "' has no associated variable, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + } } diff --git a/csharp/ql/src/experimental/ir/implementation/raw/IRVariable.qll b/csharp/ql/src/experimental/ir/implementation/raw/IRVariable.qll index ca4708857a7..c92082d767d 100644 --- a/csharp/ql/src/experimental/ir/implementation/raw/IRVariable.qll +++ b/csharp/ql/src/experimental/ir/implementation/raw/IRVariable.qll @@ -18,7 +18,7 @@ private import Imports::IRType * by the AST-to-IR translation (`IRTempVariable`). */ class IRVariable extends TIRVariable { - Language::Function func; + Language::Declaration func; IRVariable() { this = TIRUserVariable(_, _, func) or @@ -79,7 +79,7 @@ class IRVariable extends TIRVariable { /** * Gets the function that references this variable. */ - final Language::Function getEnclosingFunction() { result = func } + final Language::Declaration getEnclosingFunction() { result = func } } /** @@ -246,7 +246,7 @@ class IREllipsisVariable extends IRTempVariable, IRParameter { final override string toString() { result = "#ellipsis" } - final override int getIndex() { result = func.getNumberOfParameters() } + final override int getIndex() { result = func.(Language::Function).getNumberOfParameters() } } /** diff --git a/csharp/ql/src/experimental/ir/implementation/raw/Instruction.qll b/csharp/ql/src/experimental/ir/implementation/raw/Instruction.qll index e5a908bbf9a..8e863ddf635 100644 --- a/csharp/ql/src/experimental/ir/implementation/raw/Instruction.qll +++ b/csharp/ql/src/experimental/ir/implementation/raw/Instruction.qll @@ -194,7 +194,7 @@ class Instruction extends Construction::TStageInstruction { /** * Gets the function that contains this instruction. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = this.getEnclosingIRFunction().getFunction() } diff --git a/csharp/ql/src/experimental/ir/implementation/raw/PrintIR.qll b/csharp/ql/src/experimental/ir/implementation/raw/PrintIR.qll index 59dadee7154..53cdc75512b 100644 --- a/csharp/ql/src/experimental/ir/implementation/raw/PrintIR.qll +++ b/csharp/ql/src/experimental/ir/implementation/raw/PrintIR.qll @@ -26,20 +26,20 @@ class PrintIRConfiguration extends TPrintIRConfiguration { * Holds if the IR for `func` should be printed. By default, holds for all * functions. */ - predicate shouldPrintFunction(Language::Function func) { any() } + predicate shouldPrintFunction(Language::Declaration decl) { any() } } /** * Override of `IRConfiguration` to only evaluate debug strings for the functions that are to be dumped. */ private class FilteredIRConfiguration extends IRConfiguration { - override predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { + override predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { shouldPrintFunction(func) } } -private predicate shouldPrintFunction(Language::Function func) { - exists(PrintIRConfiguration config | config.shouldPrintFunction(func)) +private predicate shouldPrintFunction(Language::Declaration decl) { + exists(PrintIRConfiguration config | config.shouldPrintFunction(decl)) } private string getAdditionalInstructionProperty(Instruction instr, string key) { diff --git a/csharp/ql/src/experimental/ir/implementation/raw/internal/IRConstruction.qll b/csharp/ql/src/experimental/ir/implementation/raw/internal/IRConstruction.qll index db6bd5c24e5..80002ffc020 100644 --- a/csharp/ql/src/experimental/ir/implementation/raw/internal/IRConstruction.qll +++ b/csharp/ql/src/experimental/ir/implementation/raw/internal/IRConstruction.qll @@ -46,6 +46,9 @@ module Raw { cached predicate functionHasIR(Callable callable) { exists(getTranslatedFunction(callable)) } + cached + predicate varHasIRFunc(Field field) { none() } + cached predicate hasInstruction(TranslatedElement element, InstructionTag tag) { element.hasInstruction(_, tag, _) diff --git a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRBlock.qll b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRBlock.qll index bac7634cbd0..78008a6c69b 100644 --- a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRBlock.qll +++ b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRBlock.qll @@ -97,7 +97,7 @@ class IRBlockBase extends TIRBlock { /** * Gets the `Function` that contains this block. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = getFirstInstruction(this).getEnclosingFunction() } } diff --git a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRConsistency.qll b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRConsistency.qll index 31983d34247..45b44b14a3c 100644 --- a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRConsistency.qll +++ b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRConsistency.qll @@ -524,4 +524,23 @@ module InstructionConsistency { "' has a `this` argument operand that is not an address, in function '$@'." and irFunc = getInstructionIRFunction(instr, irFuncText) } + + query predicate nonUniqueIRVariable( + Instruction instr, string message, OptionalIRFunction irFunc, string irFuncText + ) { + exists(VariableInstruction vi, IRVariable v1, IRVariable v2 | + instr = vi and vi.getIRVariable() = v1 and vi.getIRVariable() = v2 and v1 != v2 + ) and + message = + "Variable instruction '" + instr.toString() + + "' has multiple associated variables, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + or + instr.getOpcode() instanceof Opcode::VariableAddress and + not instr instanceof VariableInstruction and + message = + "Variable address instruction '" + instr.toString() + + "' has no associated variable, in function '$@'." and + irFunc = getInstructionIRFunction(instr, irFuncText) + } } diff --git a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRVariable.qll b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRVariable.qll index ca4708857a7..c92082d767d 100644 --- a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRVariable.qll +++ b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/IRVariable.qll @@ -18,7 +18,7 @@ private import Imports::IRType * by the AST-to-IR translation (`IRTempVariable`). */ class IRVariable extends TIRVariable { - Language::Function func; + Language::Declaration func; IRVariable() { this = TIRUserVariable(_, _, func) or @@ -79,7 +79,7 @@ class IRVariable extends TIRVariable { /** * Gets the function that references this variable. */ - final Language::Function getEnclosingFunction() { result = func } + final Language::Declaration getEnclosingFunction() { result = func } } /** @@ -246,7 +246,7 @@ class IREllipsisVariable extends IRTempVariable, IRParameter { final override string toString() { result = "#ellipsis" } - final override int getIndex() { result = func.getNumberOfParameters() } + final override int getIndex() { result = func.(Language::Function).getNumberOfParameters() } } /** diff --git a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/Instruction.qll b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/Instruction.qll index e5a908bbf9a..8e863ddf635 100644 --- a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/Instruction.qll +++ b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/Instruction.qll @@ -194,7 +194,7 @@ class Instruction extends Construction::TStageInstruction { /** * Gets the function that contains this instruction. */ - final Language::Function getEnclosingFunction() { + final Language::Declaration getEnclosingFunction() { result = this.getEnclosingIRFunction().getFunction() } diff --git a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/PrintIR.qll b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/PrintIR.qll index 59dadee7154..53cdc75512b 100644 --- a/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/PrintIR.qll +++ b/csharp/ql/src/experimental/ir/implementation/unaliased_ssa/PrintIR.qll @@ -26,20 +26,20 @@ class PrintIRConfiguration extends TPrintIRConfiguration { * Holds if the IR for `func` should be printed. By default, holds for all * functions. */ - predicate shouldPrintFunction(Language::Function func) { any() } + predicate shouldPrintFunction(Language::Declaration decl) { any() } } /** * Override of `IRConfiguration` to only evaluate debug strings for the functions that are to be dumped. */ private class FilteredIRConfiguration extends IRConfiguration { - override predicate shouldEvaluateDebugStringsForFunction(Language::Function func) { + override predicate shouldEvaluateDebugStringsForFunction(Language::Declaration func) { shouldPrintFunction(func) } } -private predicate shouldPrintFunction(Language::Function func) { - exists(PrintIRConfiguration config | config.shouldPrintFunction(func)) +private predicate shouldPrintFunction(Language::Declaration decl) { + exists(PrintIRConfiguration config | config.shouldPrintFunction(decl)) } private string getAdditionalInstructionProperty(Instruction instr, string key) { diff --git a/csharp/ql/src/experimental/ir/internal/IRCSharpLanguage.qll b/csharp/ql/src/experimental/ir/internal/IRCSharpLanguage.qll index 88c27315c2f..11fbe784ca0 100644 --- a/csharp/ql/src/experimental/ir/internal/IRCSharpLanguage.qll +++ b/csharp/ql/src/experimental/ir/internal/IRCSharpLanguage.qll @@ -8,6 +8,12 @@ class OpaqueTypeTag = CSharp::ValueOrRefType; class Function = CSharp::Callable; +class GlobalVariable extends CSharp::Field { + GlobalVariable() { this.isStatic() } +} + +class Declaration = CSharp::Declaration; + class Location = CSharp::Location; class UnknownLocation = CSharp::EmptyLocation; diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 150101e4240..9f59ceafaf5 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 0.1.4-dev +version: 0.3.2-dev groups: - csharp - queries diff --git a/csharp/ql/src/utils/model-generator/CaptureSinkModels.ql b/csharp/ql/src/utils/model-generator/CaptureSinkModels.ql index 8aab373447e..03eeeeda273 100644 --- a/csharp/ql/src/utils/model-generator/CaptureSinkModels.ql +++ b/csharp/ql/src/utils/model-generator/CaptureSinkModels.ql @@ -1,6 +1,6 @@ /** * @name Capture sink models. - * @description Finds public methods that act as sinks as they flow into a a known sink. + * @description Finds public methods that act as sinks as they flow into a known sink. * @kind diagnostic * @id cs/utils/model-generator/sink-models * @tags model-generator diff --git a/csharp/ql/src/utils/model-generator/internal/CaptureModels.qll b/csharp/ql/src/utils/model-generator/internal/CaptureModels.qll index 84af7b57938..04856b09bfb 100644 --- a/csharp/ql/src/utils/model-generator/internal/CaptureModels.qll +++ b/csharp/ql/src/utils/model-generator/internal/CaptureModels.qll @@ -44,7 +44,8 @@ private string asSummaryModel(TargetApi api, string input, string output, string result = asPartialModel(api) + input + ";" // + output + ";" // - + "generated:" + kind + + kind + ";" // + + "generated" } /** @@ -68,7 +69,10 @@ private string asTaintModel(TargetApi api, string input, string output) { */ bindingset[input, kind] private string asSinkModel(TargetApi api, string input, string kind) { - result = asPartialModel(api) + input + ";" + "generated:" + kind + result = + asPartialModel(api) + input + ";" // + + kind + ";" // + + "generated" } /** @@ -76,7 +80,10 @@ private string asSinkModel(TargetApi api, string input, string kind) { */ bindingset[output, kind] private string asSourceModel(TargetApi api, string output, string kind) { - result = asPartialModel(api) + output + ";" + "generated:" + kind + result = + asPartialModel(api) + output + ";" // + + kind + ";" // + + "generated" } /** diff --git a/csharp/ql/test/TestUtilities/InlineExpectationsTest.qll b/csharp/ql/test/TestUtilities/InlineExpectationsTest.qll index 3891fcf13a1..4b4a31d6950 100644 --- a/csharp/ql/test/TestUtilities/InlineExpectationsTest.qll +++ b/csharp/ql/test/TestUtilities/InlineExpectationsTest.qll @@ -239,12 +239,24 @@ private string getColumnString(TColumn column) { /** * RegEx pattern to match a single expected result, not including the leading `$`. It consists of one or - * more comma-separated tags containing only letters, digits, `-` and `_` (note that the first character - * must not be a digit), optionally followed by `=` and the expected value. + * more comma-separated tags optionally followed by `=` and the expected value. + * + * Tags must be only letters, digits, `-` and `_` (note that the first character + * must not be a digit), but can contain anything enclosed in a single set of + * square brackets. + * + * Examples: + * - `tag` + * - `tag=value` + * - `tag,tag2=value` + * - `tag[foo bar]=value` + * + * Not allowed: + * - `tag[[[foo bar]` */ private string expectationPattern() { exists(string tag, string tags, string value | - tag = "[A-Za-z-_][A-Za-z-_0-9]*" and + tag = "[A-Za-z-_](?:[A-Za-z-_0-9]|\\[[^\\]\\]]*\\])*" and tags = "((?:" + tag + ")(?:\\s*,\\s*" + tag + ")*)" and // In Python, we allow both `"` and `'` for strings, as well as the prefixes `bru`. // For example, `b"foo"`. diff --git a/csharp/ql/test/experimental/ir/ir/raw_ir_consistency.expected b/csharp/ql/test/experimental/ir/ir/raw_ir_consistency.expected index 7231134d5e2..05ab9037c87 100644 --- a/csharp/ql/test/experimental/ir/ir/raw_ir_consistency.expected +++ b/csharp/ql/test/experimental/ir/ir/raw_ir_consistency.expected @@ -28,6 +28,7 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | inoutref.cs:32:22:32:35 | Call: object creation of type MyStruct | Call instruction 'Call: object creation of type MyStruct' has a `this` argument operand that is not an address, in function '$@'. | inoutref.cs:29:17:29:20 | System.Void InOutRef.Main() | System.Void InOutRef.Main() | | pointers.cs:27:22:27:35 | Call: object creation of type MyStruct | Call instruction 'Call: object creation of type MyStruct' has a `this` argument operand that is not an address, in function '$@'. | pointers.cs:25:17:25:20 | System.Void Pointers.Main() | System.Void Pointers.Main() | +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/csharp/ql/test/experimental/ir/ir/unaliased_ssa_consistency.expected b/csharp/ql/test/experimental/ir/ir/unaliased_ssa_consistency.expected index 7231134d5e2..05ab9037c87 100644 --- a/csharp/ql/test/experimental/ir/ir/unaliased_ssa_consistency.expected +++ b/csharp/ql/test/experimental/ir/ir/unaliased_ssa_consistency.expected @@ -28,6 +28,7 @@ fieldAddressOnNonPointer thisArgumentIsNonPointer | inoutref.cs:32:22:32:35 | Call: object creation of type MyStruct | Call instruction 'Call: object creation of type MyStruct' has a `this` argument operand that is not an address, in function '$@'. | inoutref.cs:29:17:29:20 | System.Void InOutRef.Main() | System.Void InOutRef.Main() | | pointers.cs:27:22:27:35 | Call: object creation of type MyStruct | Call instruction 'Call: object creation of type MyStruct' has a `this` argument operand that is not an address, in function '$@'. | pointers.cs:25:17:25:20 | System.Void Pointers.Main() | System.Void Pointers.Main() | +nonUniqueIRVariable missingCanonicalLanguageType multipleCanonicalLanguageTypes missingIRType diff --git a/swift/ql/test/extractor-tests/generated/File/hello.swift b/csharp/ql/test/library-tests/csharp9-standalone/ExtractorError.expected similarity index 100% rename from swift/ql/test/extractor-tests/generated/File/hello.swift rename to csharp/ql/test/library-tests/csharp9-standalone/ExtractorError.expected diff --git a/csharp/ql/test/library-tests/csharp9-standalone/ExtractorError.ql b/csharp/ql/test/library-tests/csharp9-standalone/ExtractorError.ql new file mode 100644 index 00000000000..2ab99c9c602 --- /dev/null +++ b/csharp/ql/test/library-tests/csharp9-standalone/ExtractorError.ql @@ -0,0 +1,7 @@ +import csharp +import semmle.code.csharp.commons.Diagnostics + +from ExtractorError error +where not exists(CompilerError ce | ce.getLocation().getFile() = error.getLocation().getFile()) +select error, + "Unexpected " + error.getOrigin() + " error: " + error.getText() + "\n" + error.getStackTrace() diff --git a/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql b/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql index 9c570d3534b..c1bb58d3cc6 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/ExternalFlow.ql @@ -11,31 +11,31 @@ class SummaryModelTest extends SummaryModelCsv { override predicate row(string row) { row = [ - //"namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind", - "My.Qltest;D;false;StepArgRes;(System.Object);;Argument[0];ReturnValue;taint", - "My.Qltest;D;false;StepArgArg;(System.Object,System.Object);;Argument[0];Argument[1];taint", - "My.Qltest;D;false;StepArgQual;(System.Object);;Argument[0];Argument[Qualifier];taint", - "My.Qltest;D;false;StepFieldGetter;();;Argument[Qualifier].Field[My.Qltest.D.Field];ReturnValue;value", - "My.Qltest;D;false;StepFieldSetter;(System.Object);;Argument[0];Argument[Qualifier].Field[My.Qltest.D.Field];value", - "My.Qltest;D;false;StepFieldSetter;(System.Object);;Argument[Qualifier];ReturnValue.Field[My.Qltest.D.Field2];value", - "My.Qltest;D;false;StepPropertyGetter;();;Argument[Qualifier].Property[My.Qltest.D.Property];ReturnValue;value", - "My.Qltest;D;false;StepPropertySetter;(System.Object);;Argument[0];Argument[Qualifier].Property[My.Qltest.D.Property];value", - "My.Qltest;D;false;StepElementGetter;();;Argument[Qualifier].Element;ReturnValue;value", - "My.Qltest;D;false;StepElementSetter;(System.Object);;Argument[0];Argument[Qualifier].Element;value", - "My.Qltest;D;false;Apply<,>;(System.Func,S);;Argument[1];Argument[0].Parameter[0];value", - "My.Qltest;D;false;Apply<,>;(System.Func,S);;Argument[0].ReturnValue;ReturnValue;value", - "My.Qltest;D;false;Apply2<>;(System.Action,S,S);;Argument[1].Field[My.Qltest.D.Field];Argument[0].Parameter[0];value", - "My.Qltest;D;false;Apply2<>;(System.Action,S,S);;Argument[2].Field[My.Qltest.D.Field2];Argument[0].Parameter[0];value", - "My.Qltest;D;false;Map<,>;(S[],System.Func);;Argument[0].Element;Argument[1].Parameter[0];value", - "My.Qltest;D;false;Map<,>;(S[],System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value", - "My.Qltest;D;false;Parse;(System.String,System.Int32);;Argument[0];Argument[1];taint", - "My.Qltest;E;true;get_MyProp;();;Argument[Qualifier].Field[My.Qltest.E.MyField];ReturnValue;value", - "My.Qltest;E;true;set_MyProp;(System.Object);;Argument[0];Argument[Qualifier].Field[My.Qltest.E.MyField];value", - "My.Qltest;G;false;GeneratedFlow;(System.Object);;Argument[0];ReturnValue;generated:value", - "My.Qltest;G;false;GeneratedFlowArgs;(System.Object,System.Object);;Argument[0];ReturnValue;generated:value", - "My.Qltest;G;false;GeneratedFlowArgs;(System.Object,System.Object);;Argument[1];ReturnValue;generated:value", - "My.Qltest;G;false;MixedFlowArgs;(System.Object,System.Object);;Argument[0];ReturnValue;generated:value", - "My.Qltest;G;false;MixedFlowArgs;(System.Object,System.Object);;Argument[1];ReturnValue;value", + //"namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind;provenance", + "My.Qltest;D;false;StepArgRes;(System.Object);;Argument[0];ReturnValue;taint;manual", + "My.Qltest;D;false;StepArgArg;(System.Object,System.Object);;Argument[0];Argument[1];taint;manual", + "My.Qltest;D;false;StepArgQual;(System.Object);;Argument[0];Argument[Qualifier];taint;manual", + "My.Qltest;D;false;StepFieldGetter;();;Argument[Qualifier].Field[My.Qltest.D.Field];ReturnValue;value;manual", + "My.Qltest;D;false;StepFieldSetter;(System.Object);;Argument[0];Argument[Qualifier].Field[My.Qltest.D.Field];value;manual", + "My.Qltest;D;false;StepFieldSetter;(System.Object);;Argument[Qualifier];ReturnValue.Field[My.Qltest.D.Field2];value;manual", + "My.Qltest;D;false;StepPropertyGetter;();;Argument[Qualifier].Property[My.Qltest.D.Property];ReturnValue;value;manual", + "My.Qltest;D;false;StepPropertySetter;(System.Object);;Argument[0];Argument[Qualifier].Property[My.Qltest.D.Property];value;manual", + "My.Qltest;D;false;StepElementGetter;();;Argument[Qualifier].Element;ReturnValue;value;manual", + "My.Qltest;D;false;StepElementSetter;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual", + "My.Qltest;D;false;Apply<,>;(System.Func,S);;Argument[1];Argument[0].Parameter[0];value;manual", + "My.Qltest;D;false;Apply<,>;(System.Func,S);;Argument[0].ReturnValue;ReturnValue;value;manual", + "My.Qltest;D;false;Apply2<>;(System.Action,S,S);;Argument[1].Field[My.Qltest.D.Field];Argument[0].Parameter[0];value;manual", + "My.Qltest;D;false;Apply2<>;(System.Action,S,S);;Argument[2].Field[My.Qltest.D.Field2];Argument[0].Parameter[0];value;manual", + "My.Qltest;D;false;Map<,>;(S[],System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual", + "My.Qltest;D;false;Map<,>;(S[],System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "My.Qltest;D;false;Parse;(System.String,System.Int32);;Argument[0];Argument[1];taint;manual", + "My.Qltest;E;true;get_MyProp;();;Argument[Qualifier].Field[My.Qltest.E.MyField];ReturnValue;value;manual", + "My.Qltest;E;true;set_MyProp;(System.Object);;Argument[0];Argument[Qualifier].Field[My.Qltest.E.MyField];value;manual", + "My.Qltest;G;false;GeneratedFlow;(System.Object);;Argument[0];ReturnValue;value;generated", + "My.Qltest;G;false;GeneratedFlowArgs;(System.Object,System.Object);;Argument[0];ReturnValue;value;generated", + "My.Qltest;G;false;GeneratedFlowArgs;(System.Object,System.Object);;Argument[1];ReturnValue;value;generated", + "My.Qltest;G;false;MixedFlowArgs;(System.Object,System.Object);;Argument[0];ReturnValue;value;generated", + "My.Qltest;G;false;MixedFlowArgs;(System.Object,System.Object);;Argument[1];ReturnValue;value;manual", ] } } diff --git a/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql b/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql index 3ad20288d32..f4b08e9d5ff 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/sinks.ql @@ -8,12 +8,12 @@ class SinkModelTest extends SinkModelCsv { override predicate row(string row) { row = [ - //"namespace;type;overrides;name;signature;ext;spec;kind", - "My.Qltest;B;false;Sink1;(System.Object);;Argument[0];code", - "My.Qltest;B;false;SinkMethod;();;ReturnValue;xss", - "My.Qltest;SinkAttribute;false;;;Attribute;ReturnValue;html", - "My.Qltest;SinkAttribute;false;;;Attribute;Argument;remote", - "My.Qltest;SinkAttribute;false;;;Attribute;;sql" + //"namespace;type;overrides;name;signature;ext;spec;kind;provenance", + "My.Qltest;B;false;Sink1;(System.Object);;Argument[0];code;manual", + "My.Qltest;B;false;SinkMethod;();;ReturnValue;xss;manual", + "My.Qltest;SinkAttribute;false;;;Attribute;ReturnValue;html;manual", + "My.Qltest;SinkAttribute;false;;;Attribute;Argument;remote;manual", + "My.Qltest;SinkAttribute;false;;;Attribute;;sql;manual" ] } } diff --git a/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql b/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql index bdaf2bc1ad7..f4ab83a4bda 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/srcs.ql @@ -8,21 +8,21 @@ class SourceModelTest extends SourceModelCsv { override predicate row(string row) { row = [ - //"namespace;type;overrides;name;signature;ext;spec;kind", - "My.Qltest;A;false;Src1;();;ReturnValue;local", - "My.Qltest;A;false;Src1;(System.String);;ReturnValue;local", - "My.Qltest;A;false;Src1;;;ReturnValue;local", - "My.Qltest;A;false;Src2;();;ReturnValue;local", - "My.Qltest;A;false;Src3;();;ReturnValue;local", - "My.Qltest;A;true;Src2;();;ReturnValue;local", - "My.Qltest;A;true;Src3;();;ReturnValue;local", - "My.Qltest;A;false;SrcArg;(System.Object);;Argument[0];local", - "My.Qltest;A;false;SrcArg;(System.Object);;Argument;local", - "My.Qltest;A;true;SrcParam;(System.Object);;Parameter[0];local", - "My.Qltest;SourceAttribute;false;;;Attribute;ReturnValue;local", - "My.Qltest;SourceAttribute;false;;;Attribute;Parameter;local", - "My.Qltest;SourceAttribute;false;;;Attribute;;local", - "My.Qltest;A;false;SrcTwoArg;(System.String,System.String);;ReturnValue;local" + //"namespace;type;overrides;name;signature;ext;spec;kind;provenance", + "My.Qltest;A;false;Src1;();;ReturnValue;local;manual", + "My.Qltest;A;false;Src1;(System.String);;ReturnValue;local;manual", + "My.Qltest;A;false;Src1;;;ReturnValue;local;manual", + "My.Qltest;A;false;Src2;();;ReturnValue;local;manual", + "My.Qltest;A;false;Src3;();;ReturnValue;local;manual", + "My.Qltest;A;true;Src2;();;ReturnValue;local;manual", + "My.Qltest;A;true;Src3;();;ReturnValue;local;manual", + "My.Qltest;A;false;SrcArg;(System.Object);;Argument[0];local;manual", + "My.Qltest;A;false;SrcArg;(System.Object);;Argument;local;manual", + "My.Qltest;A;true;SrcParam;(System.Object);;Parameter[0];local;manual", + "My.Qltest;SourceAttribute;false;;;Attribute;ReturnValue;local;manual", + "My.Qltest;SourceAttribute;false;;;Attribute;Parameter;local;manual", + "My.Qltest;SourceAttribute;false;;;Attribute;;local;manual", + "My.Qltest;A;false;SrcTwoArg;(System.String,System.String);;ReturnValue;local;manual" ] } } diff --git a/csharp/ql/test/library-tests/dataflow/external-models/steps.ql b/csharp/ql/test/library-tests/dataflow/external-models/steps.ql index a73c0c8c7c0..66d37ce6d8c 100644 --- a/csharp/ql/test/library-tests/dataflow/external-models/steps.ql +++ b/csharp/ql/test/library-tests/dataflow/external-models/steps.ql @@ -10,21 +10,21 @@ private class SummaryModelTest extends SummaryModelCsv { override predicate row(string row) { row = [ - //"namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind", - "My.Qltest;C;false;StepArgRes;(System.Object);;Argument[0];ReturnValue;taint", - "My.Qltest;C;false;StepArgArg;(System.Object,System.Object);;Argument[0];Argument[1];taint", - "My.Qltest;C;false;StepArgQual;(System.Object);;Argument[0];Argument[Qualifier];taint", - "My.Qltest;C;false;StepQualRes;();;Argument[Qualifier];ReturnValue;taint", - "My.Qltest;C;false;StepQualArg;(System.Object);;Argument[Qualifier];Argument[0];taint", - "My.Qltest;C;false;StepFieldGetter;();;Argument[Qualifier].Field[My.Qltest.C.Field];ReturnValue;value", - "My.Qltest;C;false;StepFieldSetter;(System.Int32);;Argument[0];Argument[Qualifier].Field[My.Qltest.C.Field];value", - "My.Qltest;C;false;StepPropertyGetter;();;Argument[Qualifier].Property[My.Qltest.C.Property];ReturnValue;value", - "My.Qltest;C;false;StepPropertySetter;(System.Int32);;Argument[0];Argument[Qualifier].Property[My.Qltest.C.Property];value", - "My.Qltest;C;false;StepElementGetter;();;Argument[Qualifier].Element;ReturnValue;value", - "My.Qltest;C;false;StepElementSetter;(System.Int32);;Argument[0];Argument[Qualifier].Element;value", - "My.Qltest;C+Generic<,>;false;StepGeneric;(T);;Argument[0];ReturnValue;value", - "My.Qltest;C+Generic<,>;false;StepGeneric2<>;(S);;Argument[0];ReturnValue;value", - "My.Qltest;C+Base<>;true;StepOverride;(T);;Argument[0];ReturnValue;value" + //"namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind;provenance", + "My.Qltest;C;false;StepArgRes;(System.Object);;Argument[0];ReturnValue;taint;manual", + "My.Qltest;C;false;StepArgArg;(System.Object,System.Object);;Argument[0];Argument[1];taint;manual", + "My.Qltest;C;false;StepArgQual;(System.Object);;Argument[0];Argument[Qualifier];taint;manual", + "My.Qltest;C;false;StepQualRes;();;Argument[Qualifier];ReturnValue;taint;manual", + "My.Qltest;C;false;StepQualArg;(System.Object);;Argument[Qualifier];Argument[0];taint;manual", + "My.Qltest;C;false;StepFieldGetter;();;Argument[Qualifier].Field[My.Qltest.C.Field];ReturnValue;value;manual", + "My.Qltest;C;false;StepFieldSetter;(System.Int32);;Argument[0];Argument[Qualifier].Field[My.Qltest.C.Field];value;manual", + "My.Qltest;C;false;StepPropertyGetter;();;Argument[Qualifier].Property[My.Qltest.C.Property];ReturnValue;value;manual", + "My.Qltest;C;false;StepPropertySetter;(System.Int32);;Argument[0];Argument[Qualifier].Property[My.Qltest.C.Property];value;manual", + "My.Qltest;C;false;StepElementGetter;();;Argument[Qualifier].Element;ReturnValue;value;manual", + "My.Qltest;C;false;StepElementSetter;(System.Int32);;Argument[0];Argument[Qualifier].Element;value;manual", + "My.Qltest;C+Generic<,>;false;StepGeneric;(T);;Argument[0];ReturnValue;value;manual", + "My.Qltest;C+Generic<,>;false;StepGeneric2<>;(S);;Argument[0];ReturnValue;value;manual", + "My.Qltest;C+Base<>;true;StepOverride;(T);;Argument[0];ReturnValue;value;manual" ] } } diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs new file mode 100644 index 00000000000..a62c94d8686 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/AspRemoteFlowSource.cs @@ -0,0 +1,23 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Testing +{ + + public class ViewModel + { + public string RequestId { get; set; } // Considered tainted. + public object RequestIdField; // Not considered tainted as it is a field. + public string RequestIdOnlyGet { get; } // Not considered tainted as there is no setter. + public string RequestIdPrivateSet { get; private set; } // Not considered tainted as it has a private setter. + public static object RequestIdStatic { get; set; } // Not considered tainted as it is static. + private string RequestIdPrivate { get; set; } // Not considered tainted as it is private. + } + + public class TestController : Controller + { + public object MyAction(ViewModel viewModel) + { + throw null; + } + } +} \ No newline at end of file diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected new file mode 100644 index 00000000000..e2e07cb08c6 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.expected @@ -0,0 +1,4 @@ +remoteFlowSourceMembers +| AspRemoteFlowSource.cs:8:23:8:31 | RequestId | +remoteFlowSources +| AspRemoteFlowSource.cs:18:42:18:50 | viewModel | diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.ql b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.ql new file mode 100644 index 00000000000..17bceb3f933 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/aspRemoteFlowSource.ql @@ -0,0 +1,8 @@ +import csharp +import semmle.code.csharp.security.dataflow.flowsources.Remote + +query predicate remoteFlowSourceMembers(TaintTracking::TaintedMember m) { m.fromSource() } + +query predicate remoteFlowSources(AspNetCoreRemoteFlowSource s) { + s.getEnclosingCallable().fromSource() +} diff --git a/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/options b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/options new file mode 100644 index 00000000000..97781fc59f2 --- /dev/null +++ b/csharp/ql/test/library-tests/dataflow/flowsources/aspremote/options @@ -0,0 +1,4 @@ +semmle-extractor-options: /nostdlib /noconfig +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj +semmle-extractor-options: ${testdir}/../../../../resources/stubs/AspNetCore.cs diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected index b888f827633..2d9fce246fb 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummaries.expected @@ -1,10625 +1,10384 @@ -| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;Convert;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable,System.Type,System.Collections.Generic.IEnumerable);;Argument[4].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;IsEvent;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;Extensions;false;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);;Argument[0];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer+Enumerator;false;Enumerator;(Microsoft.Extensions.Primitives.StringTokenizer);;Argument[0].Element;Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(System.String,System.Char[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[1].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;GetHashCode;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;IsNullOrEmpty;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;ToArray;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_Count;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.VisualBasic;Collection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| Microsoft.VisualBasic;Collection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| Microsoft.VisualBasic;Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| Microsoft.VisualBasic;Collection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| Microsoft.VisualBasic;Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.VisualBasic;Collection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.VisualBasic;Collection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.VisualBasic;Collection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| Microsoft.Win32.SafeHandles;SafeFileHandle;false;SafeFileHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Win32.SafeHandles;SafePipeHandle;false;SafePipeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Win32.SafeHandles;SafeProcessHandle;false;SafeProcessHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Win32.SafeHandles;SafeWaitHandle;false;SafeWaitHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Newtonsoft.Json.Linq;JArray;false;Add;(Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JArray;false;CopyTo;(Newtonsoft.Json.Linq.JToken[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| Newtonsoft.Json.Linq;JArray;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| Newtonsoft.Json.Linq;JArray;false;Insert;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JConstructor;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JConstructor;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;Add;(Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;CopyTo;(Newtonsoft.Json.Linq.JToken[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JContainer;false;Insert;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JContainer;false;set_Item;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| Newtonsoft.Json.Linq;JEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| Newtonsoft.Json.Linq;JObject;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String,Newtonsoft.Json.Linq.JsonLoadSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| Newtonsoft.Json.Linq;JObject;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JToken;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| Newtonsoft.Json.Linq;JToken;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,Newtonsoft.Json.Linq.JsonSelectSettings);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;ToString;();;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;ToString;(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object);;Argument[0];Argument[1];taint | -| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];Argument[1];taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Enum);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Guid);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.TimeSpan);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Uri);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint | -| System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[2];Argument[Qualifier];generated:taint | -| System.Buffers;MemoryHandle;false;get_Pointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;MemoryManager<>;true;get_Memory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>+Enumerator;false;Enumerator;(System.Buffers.ReadOnlySequence<>);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[2];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64);;Argument[Qualifier];ReturnValue;generated:value | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;TryGet;(System.SequencePosition,System.ReadOnlyMemory,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;get_End;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;get_First;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;get_Start;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;SequenceReader;(System.Buffers.ReadOnlySequence);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,T,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadToAny;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;get_Position;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;get_UnreadSequence;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Tool;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;get_InnerWriter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;get_NewLine;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;BlockingCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Concurrent;BlockingCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Concurrent;ConcurrentBag<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentBag<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentBag<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Concurrent;ConcurrentBag<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Concurrent;ConcurrentBag<>;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetOrAdd;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentQueue<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentQueue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Concurrent;ConcurrentQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Concurrent;ConcurrentStack<>;false;ConcurrentStack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentStack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;ConcurrentStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Concurrent;ConcurrentStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;IProducerConsumerCollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;OrderablePartitioner<>;false;GetDynamicPartitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable,System.Collections.Concurrent.EnumerablePartitionerOptions);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IList,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(TSource[],System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;Remove<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;Argument[2];generated:taint | -| System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[1];Argument[0].Element;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[2];Argument[0].Element;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Entry;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+KeyCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;Add;(TKey);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;CopyTo;(TKey[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+KeyCollection+Enumerator.Current];value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+ValueCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;Add;(TValue);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;CopyTo;(TValue[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+ValueCollection+Enumerator.Current];value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Dictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Int32,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+Enumerator.Current];value | -| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;Dictionary<,>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;Dictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;Dictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;Dictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;Dictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;Dictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;Dictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;HashSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;HashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;HashSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.HashSet<>+Enumerator.Current];value | -| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;HashSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;HashSet<>;false;HashSet;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;HashSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;HashSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;ICollection<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;ICollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;IDictionary<,>;true;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;IDictionary<,>;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;IDictionary<,>;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;IEnumerable<>;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;IList<>;true;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;IList<>;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;IList<>;true;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;ISet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;KeyValuePair;false;Create<,>;(TKey,TValue);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair;false;Create<,>;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair<,>;false;Deconstruct;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[0];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[1];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;KeyValuePair<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair<,>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;LinkedList<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;LinkedList<>;false;Find;(T);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;LinkedList<>;false;FindLast;(T);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.LinkedList<>+Enumerator.Current];value | -| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;Remove;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;get_First;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;get_Last;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;LinkedListNode<>;false;LinkedListNode;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_Next;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_Previous;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;set_Value;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;List<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;List<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;List<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Generic;List<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.List<>+Enumerator.Current];value | -| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;List<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;List;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;List<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;List<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;Queue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Queue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Queue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;Enqueue;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Queue<>+Enumerator.Current];value | -| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;Queue<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;Queue<>;false;Queue;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Queue<>;false;TryDequeue;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;Add;(TKey);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;CopyTo;(TKey[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+KeyCollection+Enumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;Add;(TValue);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;CopyTo;(TValue[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+ValueCollection+Enumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+Enumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;SortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;SortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;SortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedList<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;TryGetValue;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedList<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedList<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;SortedList<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;SortedList<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;SortedList<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;SortedList<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;SortedList<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;SortedSet<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedSet<>+Enumerator.Current];value | -| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;SortedSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;Stack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Stack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Stack<>+Enumerator.Current];value | -| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Generic;Stack<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;Stack<>;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;Stack<>;false;Push;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;Stack<>;false;Stack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Stack<>;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;IImmutableDictionary<,>;true;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;IImmutableList<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;IImmutableList<>;true;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;IImmutableSet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[3];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;ToImmutableArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>+Builder);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(T[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(TDerived[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;MoveToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;As<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AsMemory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;CastArray<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;CastUp<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;OfType<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[2].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;GetValueOrDefault<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Immutable.ImmutableDictionary+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableHashSet;false;Create<>;(System.Collections.Generic.IEqualityComparer,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Immutable.ImmutableHashSet+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableHashSet<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableHashSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableHashSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;WithComparer;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableHashSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableInterlocked;false;GetOrAdd<,>;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Remove<>;(System.Collections.Immutable.IImmutableList,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;RemoveRange<>;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];Argument[0].Element;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Immutable.ImmutableList+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableList<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableList<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue;false;Dequeue<>;(System.Collections.Immutable.IImmutableQueue,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableQueue<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableQueue<>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable>);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[2].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T[]);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateBuilder<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Immutable.ImmutableSortedSet+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Max;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Min;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;WithComparer;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Max;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Min;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableStack;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack;false;Pop<>;(System.Collections.Immutable.IImmutableStack,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableStack<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableStack<>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Pop;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Pop;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;Collection<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;Collection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;Collection<>;false;Collection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;Collection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;Collection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.ObjectModel;Collection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.ObjectModel;Collection<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;Collection<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.ObjectModel;Collection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;Collection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;Collection<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;Collection<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;KeyedCollection;(System.Collections.Generic.IEqualityComparer,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;TryGetValue;(TKey,TItem);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Item;(TKey);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;ReadOnlyCollection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;Add;(TKey);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;CopyTo;(TKey[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;Add;(TValue);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;CopyTo;(TValue[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;HybridDictionary;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;HybridDictionary;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;HybridDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;HybridDictionary;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Specialized;HybridDictionary;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Specialized;HybridDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;HybridDictionary;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Specialized;HybridDictionary;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;HybridDictionary;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;IOrderedDictionary;true;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;ListDictionary;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;ListDictionary;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;ListDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;ListDictionary;false;ListDictionary;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;ListDictionary;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Specialized;ListDictionary;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Specialized;ListDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;ListDictionary;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Specialized;ListDictionary;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;ListDictionary;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllKeys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;NameObjectCollectionBase;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;NameObjectCollectionBase;true;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;Add;(System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Specialized;NameValueCollection;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;NameValueCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Int32,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;Set;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;set_Item;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_NewItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_OldItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;OrderedDictionary;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;OrderedDictionary;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Specialized;OrderedDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;OrderedDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;OrderedDictionary;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Int32,System.Collections.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Specialized;OrderedDictionary;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Specialized;OrderedDictionary;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Specialized;OrderedDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;OrderedDictionary;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;StringCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;StringCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Specialized.StringEnumerator.Current];value | -| System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Specialized;StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Specialized;StringDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections.Specialized;StringDictionary;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;StringDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;StringEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Adapter;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections;ArrayList;false;AddRange;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections;ArrayList;false;ArrayList;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections;ArrayList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;CopyTo;(System.Array);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections;ArrayList;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;ArrayList;false;FixedSize;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;FixedSize;(System.Collections.IList);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;ArrayList;false;GetEnumerator;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;ArrayList;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;ArrayList;false;InsertRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections;ArrayList;false;ReadOnly;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;ReadOnly;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Repeat;(System.Object,System.Int32);;Argument[0];ReturnValue.Element;value | -| System.Collections;ArrayList;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;SetRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections;ArrayList;false;Synchronized;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Synchronized;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;ArrayList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;ArrayList;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;BitArray;false;And;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;BitArray;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;BitArray;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;BitArray;false;LeftShift;(System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Not;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Or;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;RightShift;(System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Xor;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;CollectionBase;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections;CollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;CollectionBase;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;CollectionBase;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections;CollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;CollectionBase;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;CollectionBase;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;CollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;CollectionBase;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;Comparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections;DictionaryBase;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;DictionaryBase;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;DictionaryBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_InnerHashtable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;DictionaryBase;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections;DictionaryBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;DictionaryBase;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;DictionaryBase;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;DictionaryBase;true;OnGet;(System.Object,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;Deconstruct;(System.Object,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections;DictionaryEntry;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;set_Key;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;DictionaryEntry;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;Hashtable;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IEqualityComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[3];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Synchronized;(System.Collections.Hashtable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;Hashtable;false;get_EqualityComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;Hashtable;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections;Hashtable;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;Hashtable;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;Hashtable;false;get_comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;get_hcp;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;set_comparer;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;set_hcp;(System.Collections.IHashCodeProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;ICollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;IDictionary;true;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;IDictionary;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections;IDictionary;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;IEnumerable;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;IList;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections;IList;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;IList;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;IList;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;Queue;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;Queue;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;Queue;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Queue;false;Enqueue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Queue;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;Queue;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;Queue;false;Queue;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections;Queue;false;Synchronized;(System.Collections.Queue);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;Queue;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;ReadOnlyCollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;ReadOnlyCollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;ReadOnlyCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;ReadOnlyCollectionBase;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;SortedList;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;SortedList;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;SortedList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;SortedList;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;SortedList;false;GetByIndex;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;GetKeyList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;GetValueList;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;SortedList;false;SetByIndex;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections;SortedList;false;SortedList;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;SortedList;false;Synchronized;(System.Collections.SortedList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;SortedList;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;SortedList;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections;SortedList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;SortedList;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;SortedList;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;SortedList;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Stack;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;Stack;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;Stack;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;Stack;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;Stack;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;Stack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Stack;false;Stack;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections;Stack;false;Synchronized;(System.Collections.Stack);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;Stack;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Stack;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;get_Schema;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;set_Schema;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;AssociatedMetadataTypeTypeDescriptionProvider;(System.Type,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;CompareAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateField;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetOrder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Prompt;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ResourceType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ShortName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_GroupName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Prompt;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ShortName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayText;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayTextResourceType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayTextResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;get_Extensions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;set_Extensions;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;FilterUIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;MaxLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;MetadataTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;get_MetadataClassType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;MinLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;RangeAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;RegularExpressionAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;StringLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;UIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessage;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;true;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationContext;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationContext;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationContext;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationException;false;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationException;false;get_ValidationResult;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;Append;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;Pop;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;DesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;RootDesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel.Design;DesignerCollection;false;DesignerCollection;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel.Design;DesignerCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerVerbCollection;false;Add;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerbCollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;CopyTo;(System.ComponentModel.Design.DesignerVerb[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;DesignerVerbCollection;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerVerbCollection;false;Insert;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;Remove;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerVerbCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;set_Item;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;MenuCommand;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;ServiceContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;ServiceContainer;false;ServiceContainer;(System.IServiceProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ArrayConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;AsyncOperation;false;get_SynchronizationContext;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;AttributeCollection;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;AttributeCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;AttributeCollection;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;BindingList<>;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.ComponentModel;CategoryAttribute;false;CategoryAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;CategoryAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CharConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;CollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ComponentCollection;false;ComponentCollection;(System.ComponentModel.IComponent[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;ComponentCollection;false;CopyTo;(System.ComponentModel.IComponent[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;ComponentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ComponentCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String,System.Globalization.CultureInfo);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;Container;false;Add;(System.ComponentModel.IComponent,System.String);;Argument[1];Argument[0];generated:taint | -| System.ComponentModel;Container;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;Container;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Container;false;get_Components;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ContainerFilterService;true;FilterComponents;(System.ComponentModel.ComponentCollection);;Argument[0].Element;ReturnValue;generated:taint | -| System.ComponentModel;CultureInfoConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CultureInfoConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;CultureInfoConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;false;CustomTypeDescriptor;(System.ComponentModel.ICustomTypeDescriptor);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;DecimalConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;DesignerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EditorAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Add;(System.ComponentModel.EventDescriptor);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;EventDescriptorCollection;(System.ComponentModel.EventDescriptor[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;EventDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.EventDescriptor);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;EventDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;AddHandlers;(System.ComponentModel.EventHandlerList);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;get_Item;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;GuidConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;IBindingList;true;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicFileLicenseProvider;false;GetKey;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;LicFileLicenseProvider;false;GetLicense;(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;LicenseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;get_LicenseProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ListSortDescriptionCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;ListSortDescriptionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;ListSortDescriptionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;ListSortDescriptionCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;ListSortDescriptionCollection;false;ListSortDescriptionCollection;(System.ComponentModel.ListSortDescription[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;ListSortDescriptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;ListSortDescriptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.ComponentModel.ListSortDescription);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;MarshalByValueComponent;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MarshalByValueComponent;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MarshalByValueComponent;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MarshalByValueComponent;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToDisplayString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;GetInvokee;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;GetSite;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;true;CreateAttributeCollection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.ComponentModel;MemberDescriptor;true;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_AttributeArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;set_AttributeArray;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;MultilineStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;NestedContainer;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;NestedContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel;NullableConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;NullableConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;ProgressChangedEventArgs;false;ProgressChangedEventArgs;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;ProgressChangedEventArgs;false;get_UserState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;false;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.ComponentModel;PropertyDescriptor;false;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;false;GetValueChangedHandler;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;true;get_Converter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.PropertyDescriptor);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.String,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.Type,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;PropertyTabAttribute;false;get_TabClasses;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ReferenceConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;ReferenceConverter;false;ReferenceConverter;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;RunWorkerCompletedEventArgs;false;RunWorkerCompletedEventArgs;(System.Object,System.Exception,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;RunWorkerCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;StringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ToolboxItemFilterAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter+StandardValuesCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;TypeConverter+StandardValuesCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;TypeConverter+StandardValuesCollection;false;StandardValuesCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;TypeConverter+StandardValuesCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertTo;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;GetProperties;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;GetStandardValues;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;SortProperties;(System.ComponentModel.PropertyDescriptorCollection,System.String[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;TypeDescriptionProvider;(System.ComponentModel.TypeDescriptionProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetReflectionType;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetRuntimeType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Object,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Type,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetAssociation;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetProvider;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;TypeListConverter;(System.Type[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;VersionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;WarningException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;Win32Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;Win32Exception;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataAdapter;false;get_TableMappings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.String,System.String,System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;get_DataSetColumn;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;set_DataSetColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMapping;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Data.Common.DataColumnMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Data.Common.DataColumnMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;GetByDataSetColumn;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetDataColumn;(System.Data.Common.DataColumnMappingCollection,System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[3];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataColumnMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMapping;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetDataColumn;(System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;get_ColumnMappings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;get_DataSetTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;get_SourceTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;set_DataSetTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;set_SourceTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Data.Common.DataTableMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Data.Common.DataTableMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DataTableMappingCollection;false;GetByDataSetTable;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[2];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataTableMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;set_Connection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;false;set_Connection;(System.Data.IDbConnection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.IDbTransaction);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;true;ExecuteDbDataReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;true;PrepareAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;RowUpdatingHandler;(System.Data.Common.RowUpdatingEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.Common;DbCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;set_DataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_CatalogSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_QuotePrefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_QuoteSuffix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_SchemaSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_CatalogSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_QuotePrefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_QuoteSuffix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_SchemaSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnection;true;ChangeDatabaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbConnection;true;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[1];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[2];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[1];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[2];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DbConnectionStringBuilder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data.Common;DbConnectionStringBuilder;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DbConnectionStringBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Data.Common;DbConnectionStringBuilder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Data.Common;DbConnectionStringBuilder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Data.Common;DbDataAdapter;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;DbDataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;false;GetFieldValueAsync<>;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data.Common;DbDataReader;true;GetFieldValue<>;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetFieldValueAsync<>;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data.Common;DbDataReader;true;GetSchemaTableAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetTextReader;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataRecord;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbParameterCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DbParameterCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;true;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DbParameterCollection;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data.Common;DbParameterCollection;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;CommitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;ReleaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;RollbackAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;RollbackAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;SaveAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;set_Command;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;SqlBinary;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[1].Element;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;Write;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;get_Stream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;set_Stream;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlChars;false;SqlChars;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlChars;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlChars;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Abs;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;AdjustScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Ceiling;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;ConvertToPrecScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;GetNonUnicodeBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;GetUnicodeBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlString;false;SqlString;(System.Int32,System.Data.SqlTypes.SqlCompareOptions,System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlString;false;SqlString;(System.String,System.Int32,System.Data.SqlTypes.SqlCompareOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;Constraint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;true;get_ConstraintName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;true;get__DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;true;set_ConstraintName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.Data.Constraint);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;AddRange;(System.Data.Constraint[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;ConstraintCollection;false;CopyTo;(System.Data.Constraint[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;ConstraintCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data;DBConcurrencyException;false;DBConcurrencyException;(System.String,System.Exception,System.Data.DataRow[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data;DBConcurrencyException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data;DBConcurrencyException;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DBConcurrencyException;false;set_Row;(System.Data.DataRow);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Caption;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_ColumnName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;set_Caption;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_ColumnName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_DataType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_DefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_Expression;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumnChangeEventArgs;false;DataColumnChangeEventArgs;(System.Data.DataRow,System.Data.DataColumn,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataColumnChangeEventArgs;false;get_Column;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;Add;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;Add;(System.Data.DataColumn);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataColumnCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataColumnCollection;false;Add;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;Add;(System.String,System.Type,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;AddRange;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;DataColumnCollection;false;CopyTo;(System.Data.DataColumn[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataColumnCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetDateTime;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetFieldValue<>;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetFieldValueAsync<>;(System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetGuid;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetProviderSpecificValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetString;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetTextReader;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[5].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[6].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ChildColumns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ChildKeyConstraint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ParentColumns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ParentKeyConstraint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_RelationName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;set_RelationName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;false;Add;(System.Data.DataRelation);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataRelationCollection;false;CopyTo;(System.Data.DataRelation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataRelationCollection;false;Remove;(System.Data.DataRelation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.Data.DataColumn,System.Data.DataColumn);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;AddRange;(System.Data.DataRelation[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;DataRow;false;DataRow;(System.Data.DataRowBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;SetNull;(System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;SetParentRow;(System.Data.DataRow,System.Data.DataRelation);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;get_Item;(System.Data.DataColumn);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.Data.DataColumn,System.Data.DataRowVersion);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.Int32,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_ItemArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_RowError;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;set_Item;(System.Data.DataColumn,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;set_RowError;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRowCollection;false;Add;(System.Data.DataRow);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataRowCollection;false;Add;(System.Object[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataRowCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataRowCollection;false;CopyTo;(System.Data.DataRow[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataRowCollection;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataRowCollection;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataRowCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;DataRowCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowExtensions;false;SetField<>;(System.Data.DataRow,System.Data.DataColumn,T);;Argument[1];Argument[0];generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataRowView;false;get_DataView;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;CreateDataReader;(System.Data.DataTable[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataSet;false;DataSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;DataSet;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;GetChanges;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;GetList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data;DataSet;false;get_DataSetName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_DefaultViewManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Locale;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Relations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Tables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;set_DataSetName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;DataTable;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;DataTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;DataTable;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;GetChanges;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetErrors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Data.LoadOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;NewRow;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;NewRowArray;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;NewRowFromBuilder;(System.Data.DataRowBuilder);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataTable;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_ChildRelations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_DefaultView;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_DisplayExpression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Locale;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_ParentRelations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Rows;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_TableName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_PrimaryKey;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_TableName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTableCollection;false;Add;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;Add;(System.Data.DataTable);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataTableCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;AddRange;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;DataTableCollection;false;CopyTo;(System.Data.DataTable[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataTableCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableExtensions;false;AsEnumerable;(System.Data.DataTable);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data;DataTableReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;DataTableReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data;DataTableReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataView;false;AddNew;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;FindRows;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;FindRows;(System.Object[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;DataView;false;GetItemProperties;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;DataView;false;ToTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;(System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;(System.String,System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataView;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;DataView;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;set_Table;(System.Data.DataTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewManager;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataViewManager;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataViewManager;false;CreateDataView;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataViewManager;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;DataViewManager;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;DataViewManager;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;get_DataViewSettings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataViewManager;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataViewManager;false;set_DataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewManager;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;DataViewSetting;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;get_Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewSetting;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewSettingCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataViewSettingCollection;false;CopyTo;(System.Data.DataViewSetting[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataViewSettingCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;DataViewSettingCollection;false;get_Item;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSettingCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSettingCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSettingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[0];Argument[1];generated:taint | -| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];generated:taint | -| System.Data;DataViewSettingCollection;false;set_Item;(System.Int32,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];generated:taint | -| System.Data;EnumerableRowCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;EnumerableRowCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Data;EnumerableRowCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;EnumerableRowCollectionExtensions;false;Cast<>;(System.Data.EnumerableRowCollection);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data;FillErrorEventArgs;false;get_DataTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;FillErrorEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;FillErrorEventArgs;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;FillErrorEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;ForeignKeyConstraint;false;get_RelatedColumns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;IColumnMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;IColumnMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;IDataParameterCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;IDataParameterCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;ITableMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;ITableMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;InternalDataCollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;InternalDataCollectionBase;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;InternalDataCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;PropertyCollection;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBase<>;false;Cast<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;TypedTableBase<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Data;TypedTableBase<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Data;TypedTableBaseExtensions;false;AsEnumerable<>;(System.Data.TypedTableBase);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;ElementAtOrDefault<>;(System.Data.TypedTableBase,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractClassAttribute;false;ContractClassAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractClassAttribute;false;get_TypeContainingContracts;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractClassForAttribute;false;ContractClassForAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractClassForAttribute;false;get_TypeContractsAreFor;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Condition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_OriginalException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Setting;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;ContractPublicPropertyNameAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayUnits;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayUnits;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;DisableEvents;(System.Diagnostics.Tracing.EventSource);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventSource;false;EventSource;(System.Diagnostics.Tracing.EventSourceSettings,System.String[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GetName;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GetTrait;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;get_ConstructionException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;get_Guid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_ActivityId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_EventName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_PayloadNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_RelatedActivityId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;AddBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;AddEvent;(System.Diagnostics.ActivityEvent);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;AddTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;AddTag;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;SetEndTime;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetIdFormat;(System.Diagnostics.ActivityIdFormat);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetStartTime;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;Start;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_Links;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_ParentId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_ParentSpanId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_RootId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_SpanId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_TagObjects;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_TraceId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_TraceStateString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;set_TraceStateString;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ActivityCreationOptions<>;false;get_SamplingTags;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivitySource;false;StartActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.DateTimeOffset);;Argument[2];ReturnValue;generated:taint | -| System.Diagnostics;ActivitySpanId;false;ToHexString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivitySpanId;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTagsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Diagnostics;ActivityTagsCollection;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Diagnostics.ActivityTagsCollection+Enumerator.Current];value | -| System.Diagnostics;ActivityTagsCollection;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTagsCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Diagnostics;ActivityTagsCollection;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Diagnostics;ActivityTagsCollection;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Diagnostics;ActivityTagsCollection;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Diagnostics;ActivityTagsCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Diagnostics;ActivityTraceId;false;ToHexString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTraceId;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;CorrelationManager;false;get_LogicalOperationStack;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DataReceivedEventArgs;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerDisplayAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerDisplayAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DebuggerTypeProxyAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerTypeProxyAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DebuggerVisualizerAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerVisualizerAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DefaultTraceListener;false;get_LogFileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DefaultTraceListener;false;set_LogFileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DelimitedListTraceListener;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DelimitedListTraceListener;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DiagnosticSource;false;StartActivity;(System.Diagnostics.Activity,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;GetVersionInfo;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_Comments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_CompanyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_FileDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_FileVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_InternalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_Language;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_LegalCopyright;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_LegalTrademarks;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_OriginalFilename;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_PrivateBuild;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_ProductName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_ProductVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_SpecialBuild;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;GetProcessById;(System.Int32,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;GetProcesses;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;Start;(System.Diagnostics.ProcessStartInfo);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_ExitTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MachineName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MainModule;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MaxWorkingSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MinWorkingSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_Modules;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_ProcessorAffinity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StandardError;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StandardInput;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StandardOutput;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StartInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StartTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_Threads;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;set_ProcessorAffinity;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Process;false;set_StartInfo;(System.Diagnostics.ProcessStartInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessModule;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessModule;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessModule;false;get_ModuleName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessModuleCollection;false;CopyTo;(System.Diagnostics.ProcessModule[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;ProcessModuleCollection;false;ProcessModuleCollection;(System.Diagnostics.ProcessModule[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessModuleCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_Environment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_EnvironmentVariables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_Verb;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_WorkingDirectory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_Arguments;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_Verb;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_WorkingDirectory;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessThread;false;get_StartAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessThreadCollection;false;Add;(System.Diagnostics.ProcessThread);;Argument[0];Argument[Qualifier].Element;value | -| System.Diagnostics;ProcessThreadCollection;false;CopyTo;(System.Diagnostics.ProcessThread[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;ProcessThreadCollection;false;Insert;(System.Int32,System.Diagnostics.ProcessThread);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessThreadCollection;false;ProcessThreadCollection;(System.Diagnostics.ProcessThread[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessThreadCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SourceFilter;false;SourceFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SourceFilter;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SourceFilter;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackFrame;false;GetFileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackFrame;false;GetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackFrame;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackTrace;false;GetFrame;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackTrace;false;StackTrace;(System.Diagnostics.StackFrame);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackTrace;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Diagnostics;Switch;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;get_SwitchName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SwitchAttribute;false;get_SwitchType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SwitchAttribute;false;set_SwitchName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;set_SwitchType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchLevelAttribute;false;SwitchLevelAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchLevelAttribute;false;get_SwitchLevelType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SwitchLevelAttribute;false;set_SwitchLevelType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;set_Writer;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceEventCache;false;get_Callstack;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceEventCache;false;get_DateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;false;TraceListener;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceListener;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;false;set_Filter;(System.Diagnostics.TraceFilter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceListener;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;true;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceListenerCollection;false;Add;(System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListenerCollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListener[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Diagnostics.TraceListener[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;TraceListenerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Diagnostics;TraceListenerCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceSource;false;TraceSource;(System.String,System.Diagnostics.SourceLevels);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceSource;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;get_Listeners;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;get_Switch;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[Qualifier];generated:taint | -| System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;Color;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Drawing;Color;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Drawing;ColorConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;RectangleF;false;Inflate;(System.Drawing.RectangleF,System.Single,System.Single);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;Merge;(System.Dynamic.BindingRestrictions);;Argument[Qualifier];ReturnValue;generated:value | -| System.Dynamic;BindingRestrictions;false;ToExpression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Dynamic;DynamicMetaObject;false;Create;(System.Object,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;DynamicMetaObject;false;DynamicMetaObject;(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.Dynamic;DynamicMetaObject;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Dynamic;ExpandoObject;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Dynamic;ExpandoObject;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Dynamic;ExpandoObject;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Dynamic;ExpandoObject;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Dynamic;ExpandoObject;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Dynamic;ExpandoObject;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Dynamic;ExpandoObject;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Dynamic;ExpandoObject;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Dynamic;ExpandoObject;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Dynamic;ExpandoObject;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Dynamic;ExpandoObject;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[2];Argument[Qualifier];generated:taint | -| System.Formats.Asn1;AsnReader;false;PeekContentBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;PeekEncodedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadEncodedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadEnumeratedBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadIntegerBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Boolean,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveBitString;(System.Int32,System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveCharacterStringBytes;(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveOctetString;(System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnWriter;false;PushOctetString;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnWriter;false;PushSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnWriter;false;PushSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;Calendar;false;ReadOnly;(System.Globalization.Calendar);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;CultureInfo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureInfo;false;GetConsoleFallbackUICulture;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfoByIetfLanguageTag;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;ReadOnly;(System.Globalization.CultureInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_EnglishName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_NativeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_NumberFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_TextInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;set_DateTimeFormat;(System.Globalization.DateTimeFormatInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureInfo;false;set_NumberFormat;(System.Globalization.NumberFormatInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Globalization;CultureNotFoundException;false;get_InvalidCultureId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureNotFoundException;false;get_InvalidCultureName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedEraName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAllDateTimePatterns;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetEraName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetShortestDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;ReadOnly;(System.Globalization.DateTimeFormatInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;SetAllDateTimePatterns;(System.String[],System.Char);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_AMDesignator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_DateSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_MonthDayPattern;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_PMDesignator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_TimeSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AMDesignator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_Calendar;(System.Globalization.Calendar);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_DateSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_DayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_FullDateTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_LongDatePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_LongTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_MonthDayPattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_MonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_MonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_PMDesignator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_ShortDatePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_ShortTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_ShortestDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_TimeSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_YearMonthPattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;get_Delta;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DaylightTime;false;get_End;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DaylightTime;false;get_Start;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;GlobalizationExtensions;false;GetStringComparer;(System.Globalization.CompareInfo,System.Globalization.CompareOptions);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetAscii;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetUnicode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;ReadOnly;(System.Globalization.NumberFormatInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_CurrencyDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_CurrencyGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_CurrencySymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NaNSymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NegativeInfinitySymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NegativeSign;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NumberDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NumberGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PerMilleSymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PercentDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PercentGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PercentSymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PositiveInfinitySymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PositiveSign;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;set_CurrencyDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_CurrencyGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_CurrencySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NaNSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NativeDigits;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NegativeInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NegativeSign;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NumberDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NumberGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PerMilleSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PercentDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PercentGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PercentSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PositiveInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PositiveSign;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;RegionInfo;false;RegionInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;RegionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;RegionInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;RegionInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;SortKey;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;SortKey;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;SortVersion;false;SortVersion;(System.Int32,System.Guid);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;SortVersion;false;get_SortId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetNextTextElement;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetNextTextElement;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;StringInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;get_String;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;set_String;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;TextElementEnumerator;false;GetTextElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ReadOnly;(System.Globalization.TextInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToLower;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToTitleCase;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToUpper;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;get_CultureName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;set_ListSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;BrotliStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;BrotliStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;BrotliStream;false;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;BrotliStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;BrotliStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;BrotliStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;BrotliStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;BrotliStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;BrotliStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;BrotliStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;DeflateStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;DeflateStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO.Compression;DeflateStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;DeflateStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;DeflateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;DeflateStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;DeflateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;GZipStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;GZipStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO.Compression;GZipStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;GZipStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;GZipStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Compression;GZipStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;GZipStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Compression;GZipStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO.Compression;ZipArchive;false;get_Entries;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;Open;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_Archive;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_LastWriteTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;set_LastWriteTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;ZipFile;false;Open;(System.String,System.IO.Compression.ZipArchiveMode,System.Text.Encoding);;Argument[2];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[2];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEntry;false;ToFileSystemInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEntry;false;ToSpecifiedFullPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEntry;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.IO.Enumeration;FileSystemEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.IO.Enumeration;FileSystemEnumerator<>;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemName;false;TranslateWin32Expression;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorage;false;get_ApplicationIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorage;false;get_AssemblyIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorage;false;get_DomainIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedFile;false;CreateFromFile;(System.IO.FileStream,System.String,System.Int64,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,System.IO.HandleInheritability,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedFile;false;get_SafeMemoryMappedFileHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedViewAccessor;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedViewStream;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;AnonymousPipeClientStream;false;AnonymousPipeClientStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO.Pipes;AnonymousPipeServerStream;false;get_ClientSafePipeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO.Pipes;NamedPipeServerStream;false;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO.Pipes;NamedPipeServerStream;false;WaitForConnectionAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Pipes;PipeStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Pipes;PipeStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Pipes;PipeStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;PipeStream;false;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Pipes;PipeStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Pipes;PipeStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO.Pipes;PipeStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;PipeStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Pipes;PipeStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO.Pipes;PipeStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;PipeStream;false;get_SafePipeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;BinaryReader;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.IO;BinaryReader;false;ReadBytes;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;DisposeAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryWriter;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BufferedStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;BufferedStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;BufferedStream;false;BufferedStream;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;BufferedStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO;BufferedStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;BufferedStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BufferedStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;BufferedStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;BufferedStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BufferedStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;BufferedStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;BufferedStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BufferedStream;false;get_UnderlyingStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Directory;false;CreateDirectory;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;Directory;false;GetParent;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;DirectoryInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;DirectoryInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;DriveInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;DriveInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;get_RootDirectory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;get_VolumeLabel;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;ErrorEventArgs;false;ErrorEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;ErrorEventArgs;false;GetException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;ReadLines;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint | -| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[1];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;FileInfo;false;CopyTo;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileInfo;false;CopyTo;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileInfo;false;MoveTo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileInfo;false;get_Directory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileInfo;false;get_DirectoryName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.IO;FileLoadException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;FileStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;FileStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;FileStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;FileStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileStream;false;get_SafeFileHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;FileSystemEventArgs;false;get_FullPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;false;get_Extension;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;true;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;get_Filters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;MemoryStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;MemoryStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;MemoryStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO;MemoryStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;GetBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[]);;Argument[0];ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;MemoryStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;MemoryStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;ToArray;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;MemoryStream;false;TryGetBuffer;(System.ArraySegment);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;MemoryStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;MemoryStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;WriteTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];generated:taint | -| System.IO;Path;false;ChangeExtension;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Combine;(System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetDirectoryName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetDirectoryName;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetExtension;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFileName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetFileName;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFileNameWithoutExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetFileNameWithoutExtension;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFullPath;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFullPath;(System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetPathRoot;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetPathRoot;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetRelativePath;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3];ReturnValue;generated:taint | -| System.IO;Path;false;TrimEndingDirectorySeparator;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;TrimEndingDirectorySeparator;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;RenamedEventArgs;false;get_OldFullPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;RenamedEventArgs;false;get_OldName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;false;CopyTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;false;Synchronized;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.IO;Stream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;true;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;true;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;true;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;true;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamReader;false;Read;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadLine;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;WriteLineAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringReader;false;Read;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadLine;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;StringReader;false;StringReader;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;StringWriter;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;GetStringBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;Write;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;Write;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLine;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextReader;false;Synchronized;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextReader;true;Read;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadLine;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextWriter;false;Synchronized;(System.IO.TextWriter);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;false;TextWriter;(System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;get_FormatProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;get_NewLine;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryAccessor;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;UnmanagedMemoryStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;UnmanagedMemoryStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;UnmanagedMemoryStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;UnmanagedMemoryStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;UnmanagedMemoryStream;false;get_PositionPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BinaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;BinaryExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;BinaryExpression;false;get_Conversion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BinaryExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;Update;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;BlockExpression;false;get_Expressions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;get_Variables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;CatchBlock;false;Update;(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ConditionalExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;ConditionalExpression;false;get_IfFalse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ConstantExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;ConstantExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;DebugInfoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;DebugInfoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;DefaultExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;DefaultExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Rewrite;(System.Linq.Expressions.Expression[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;DynamicExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpressionVisitor;false;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ElementInit;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ArrayAccess;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ArrayIndex;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Coalesce;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Reflection.FieldInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GetActionType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GetFuncType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;IfThenElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Invoke;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeIndex;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeMemberAccess;(System.Linq.Expressions.Expression,System.Reflection.MemberInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Reflection.MemberInfo[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ReduceAndCheck;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ReduceExtensions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;TryGetActionType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;TryGetFuncType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;true;Reduce;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression<>;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitCatchBlock;(System.Linq.Expressions.CatchBlock);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitConstant;(System.Linq.Expressions.ConstantExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitDebugInfo;(System.Linq.Expressions.DebugInfoExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitDefault;(System.Linq.Expressions.DefaultExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitElementInit;(System.Linq.Expressions.ElementInit);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitGoto;(System.Linq.Expressions.GotoExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitIndex;(System.Linq.Expressions.IndexExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitInvocation;(System.Linq.Expressions.InvocationExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLabel;(System.Linq.Expressions.LabelExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLabelTarget;(System.Linq.Expressions.LabelTarget);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitListInit;(System.Linq.Expressions.ListInitExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLoop;(System.Linq.Expressions.LoopExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMember;(System.Linq.Expressions.MemberExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberInit;(System.Linq.Expressions.MemberInitExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberListBinding;(System.Linq.Expressions.MemberListBinding);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberMemberBinding;(System.Linq.Expressions.MemberMemberBinding);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitNew;(System.Linq.Expressions.NewExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitNewArray;(System.Linq.Expressions.NewArrayExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitParameter;(System.Linq.Expressions.ParameterExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitRuntimeVariables;(System.Linq.Expressions.RuntimeVariablesExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitch;(System.Linq.Expressions.SwitchExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitchCase;(System.Linq.Expressions.SwitchCase);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitTry;(System.Linq.Expressions.TryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitTypeBinary;(System.Linq.Expressions.TypeBinaryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitUnary;(System.Linq.Expressions.UnaryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;GotoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;GotoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;GotoExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;IndexExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;IndexExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;IndexExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;IndexExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;IndexExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;InvocationExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;InvocationExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;InvocationExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;LabelExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;LabelExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;LabelExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;LambdaExpression;false;get_Body;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;LambdaExpression;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ListInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;ListInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ListInitExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;ListInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;LoopExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;LoopExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;LoopExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberAssignment;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberAssignment;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MemberExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberExpression;false;get_Member;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MemberInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;MemberInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MemberInitExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberListBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberMemberBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MethodCallExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MethodCallExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MethodCallExpression;false;get_Object;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;NewArrayExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;NewArrayExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;NewArrayExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;NewExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;NewExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;NewExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;NewExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;NewExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;RuntimeVariablesExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;RuntimeVariablesExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;RuntimeVariablesExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;SwitchCase;false;Update;(System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;SwitchExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;SwitchExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;SwitchExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;TryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;TryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;TryExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;TypeBinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;TypeBinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;TypeBinaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;UnaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;UnaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;UnaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;UnaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value | -| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value | -| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value | -| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue;value | -| System.Linq;Enumerable;false;All<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Any<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Append<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint | -| System.Linq;Enumerable;false;AsEnumerable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Cast<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Count<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;value | -| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;LongCount<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OfType<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Prepend<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint | -| System.Linq;Enumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Linq;Enumerable;false;Reverse<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Skip<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SkipLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;TakeLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;EnumerableExecutor<>;false;EnumerableExecutor;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq;EnumerableQuery<>;false;CreateQuery<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Linq;EnumerableQuery<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq;EnumerableQuery<>;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq;EnumerableQuery<>;false;get_Provider;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq;ImmutableArrayExtensions;false;ElementAt<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;ElementAtOrDefault<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;LastOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;Single<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Linq;Lookup<,>;false;get_Item;(TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq;OrderedParallelQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;All<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Any<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;AsEnumerable<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;AsOrdered;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsOrdered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsParallel;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Concurrent.Partitioner);;Argument[0];ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsSequential<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsUnordered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Cast<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Count<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[1];ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ElementAt<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;ElementAtOrDefault<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;LongCount<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OfType<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Reverse<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Skip<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Take<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToArray<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToList<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;WithCancellation<>;(System.Linq.ParallelQuery,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;WithDegreeOfParallelism<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;WithExecutionMode<>;(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;WithMergeOptions<>;(System.Linq.ParallelQuery,System.Linq.ParallelMergeOptions);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelQuery;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Linq;ParallelQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[3].ReturnValue;ReturnValue;value | -| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue;value | -| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[1];value | -| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue;value | -| System.Linq;Queryable;false;All<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Any<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;AsQueryable;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;AsQueryable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Cast<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Count<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[1];ReturnValue;value | -| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ElementAt<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;ElementAtOrDefault<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;LongCount<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Max<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Min<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OfType<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Reverse<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Skip<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Take<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan,System.DateTime);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_CacheSyncDate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxStale;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Parameter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxStaleLimit;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_SharedMaxAge;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxStaleLimit;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MinFresh;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_SharedMaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.Net.Http.Headers.ContentDispositionHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileNameStar;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Length;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;EntityTagHeaderValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.Http.Headers;HttpHeaders;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.Http.Headers;HttpHeaders;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_AcceptRanges;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_ProxyAuthenticate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_Vary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_WwwAuthenticate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_CharSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_MediaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;MediaTypeWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.Net.Http.Headers.NameValueHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueWithParametersHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.Net.Http.Headers.ProductHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.ProductInfoHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Product;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.Net.Http.Headers.EntityTagHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_EntityTag;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Delta;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Quality;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_ReceivedBy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;get_Agent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Json;JsonContent;false;Create;(System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[3];ReturnValue;generated:taint | -| System.Net.Http.Json;JsonContent;false;Create<>;(T,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http.Json;JsonContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Json;JsonContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http.Json;JsonContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Http;ByteArrayContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;CreateContentReadStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;DelegatingHandler;false;DelegatingHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;DelegatingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;DelegatingHandler;false;get_InnerHandler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;DelegatingHandler;false;set_InnerHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;get_DefaultRequestVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;set_BaseAddress;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpClient;false;set_DefaultRequestVersion;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpClient;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpClientHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;CopyTo;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;CreateContentReadStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpMessageInvoker;false;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpMessageInvoker;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;HttpMethod;false;HttpMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpMethod;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpMethod;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_Method;(System.Net.Http.HttpMethod);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_RequestUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Http;HttpRequestOptions;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Net.Http;HttpRequestOptions;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Net.Http;HttpRequestOptions;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.Http;HttpRequestOptions;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.Http;HttpRequestOptions;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.Http;HttpRequestOptions;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Net.Http;HttpRequestOptions;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Net.Http;HttpRequestOptions;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Net.Http;HttpRequestOptions;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Net.Http;HttpRequestOptions;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Net.Http;HttpResponseMessage;false;EnsureSuccessStatusCode;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net.Http;HttpResponseMessage;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;get_ReasonPhrase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;get_RequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_ReasonPhrase;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_RequestMessage;(System.Net.Http.HttpRequestMessage);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;MessageProcessingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;MultipartContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Http;MultipartContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;MultipartContent;false;CreateContentReadStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;MultipartContent;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.Http;MultipartContent;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.Http;MultipartContent;false;MultipartContent;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;MultipartFormDataContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;MultipartFormDataContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;MultipartFormDataContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;ReadOnlyMemoryContent;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpConnectionContext;false;get_DnsEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpConnectionContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ConnectCallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ConnectTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_DefaultProxyCredentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Expect100ContinueTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingDelay;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_PlaintextStreamFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionIdleTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionLifetime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_RequestHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ResponseDrainTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ResponseHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_SslOptions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_ConnectTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_DefaultProxyCredentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_Expect100ContinueTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingDelay;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionIdleTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_ResponseDrainTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_SslOptions;(System.Net.Security.SslClientAuthenticationOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_NegotiatedHttpVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_PlaintextStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AlternateViewCollection;false;InsertItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AlternateViewCollection;false;SetItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;get_ContentDisposition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;get_NameEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;set_NameEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;get_ContentId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AttachmentBase;false;get_ContentStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AttachmentBase;false;set_ContentType;(System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentCollection;false;InsertItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentCollection;false;SetItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;get_ContentLink;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResourceCollection;false;InsertItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;LinkedResourceCollection;false;SetItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddress;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[2];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddressCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Mail;MailAddressCollection;false;InsertItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddressCollection;false;SetItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddressCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;MailMessage;(System.Net.Mail.MailAddress,System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;get_Body;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_BodyEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_HeadersEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_ReplyTo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_Sender;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_SubjectEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;set_Body;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_BodyEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_From;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_HeadersEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_ReplyTo;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_Sender;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_Subject;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_SubjectEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;Send;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;Send;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendAsync;(System.Net.Mail.MailMessage,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendAsync;(System.String,System.String,System.String,System.String,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[4];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;get_PickupDirectoryLocation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;get_TargetName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;set_Credentials;(System.Net.ICredentialsByHost);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;set_PickupDirectoryLocation;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;set_TargetName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;get_FailedRecipient;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Net.Mail.SmtpFailedRecipientException[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;get_InnerExceptions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentDisposition;false;ContentDisposition;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mime;ContentDisposition;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentDisposition;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentDisposition;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mime;ContentType;false;ContentType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mime;ContentType;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_Boundary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_CharSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_MediaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.GatewayIPAddressInformation);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.GatewayIPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.NetworkInformation;IPAddressCollection;false;Add;(System.Net.IPAddress);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.NetworkInformation;IPAddressCollection;false;CopyTo;(System.Net.IPAddress[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.NetworkInformation;IPAddressCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.NetworkInformation;IPAddressCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.NetworkInformation;IPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.IPAddressInformation);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.NetworkInformation;IPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.IPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.NetworkInformation;IPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.NetworkInformation;IPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.NetworkInformation;IPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.MulticastIPAddressInformation);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.MulticastIPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.NetworkInformation;PhysicalAddress;false;PhysicalAddress;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.UnicastIPAddressInformation);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.UnicastIPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;AuthenticatedStream;false;AuthenticatedStream;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Security;AuthenticatedStream;false;DisposeAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;AuthenticatedStream;false;get_InnerStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Security;NegotiateStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Security;NegotiateStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;get_RemoteIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslApplicationProtocol;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslApplicationProtocol;false;get_Protocol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Security;SslStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Security;SslStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Security;SslStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Security;SslStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Security;SslStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Security;SslStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_LocalCertificate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_RemoteCertificate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_TransportContext;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;IPPacketInformation;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;MulticastOption;false;get_LocalAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;set_LocalAddress;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;NetworkStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Sockets;NetworkStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Sockets;NetworkStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;NetworkStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;get_Socket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SafeSocketHandle;false;SafeSocketHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Accept;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;Bind;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Connect;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress[],System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;DisconnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;EndAccept;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;SendAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;SendPacketsAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Memory);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_AcceptSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_BufferList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectByNameError;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_MemoryBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_ReceiveMessageFromPacketInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_SendPacketsElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_UserToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_AcceptSocket;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_BufferList;(System.Collections.Generic.IList>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_RemoteEndPoint;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_SendPacketsElements;(System.Net.Sockets.SendPacketsElement[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_UserToken;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;AcceptAsync;(System.Net.Sockets.Socket,System.Net.Sockets.Socket);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.String,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveFromAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveMessageFromAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;SendToAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[0];generated:taint | -| System.Net.Sockets;TcpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpClient;false;GetStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpClient;false;TcpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpListener;false;AcceptSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;AcceptTcpClient;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;EndAcceptSocket;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;EndAcceptTcpClient;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpListener;false;get_LocalEndpoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;EndReceive;(System.IAsyncResult,System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;Receive;(System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;Send;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;SendAsync;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;UdpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;SetBuffer;(System.Int32,System.Int32,System.ArraySegment);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_RemoteCertificateValidationCallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_Cookies;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_CookieCollection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Origin;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketProtocols;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_WebSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[0];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[1];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[2];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocketException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;Authorization;false;get_ProtectionRealm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Authorization;false;set_ProtectionRealm;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_CommentUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Domain;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Expires;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Port;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_TimeStamp;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Net;Cookie;false;set_Comment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_CommentUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Expires;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Port;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;CookieCollection;false;Add;(System.Net.Cookie);;Argument[0];Argument[Qualifier].Element;value | -| System.Net;CookieCollection;false;Add;(System.Net.CookieCollection);;Argument[0];Argument[Qualifier].Element;value | -| System.Net;CookieCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net;CookieCollection;false;CopyTo;(System.Net.Cookie[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net;CookieCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net;CookieCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net;CookieCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;CookieCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;CookieCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;CookieException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;CredentialCache;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;CredentialCache;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net;Dns;false;EndGetHostAddresses;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;Dns;false;EndGetHostByName;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;Dns;false;EndGetHostEntry;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;Dns;false;EndResolve;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;DnsEndPoint;false;DnsEndPoint;(System.String,System.Int32,System.Net.Sockets.AddressFamily);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;DnsEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;DnsEndPoint;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;DownloadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;DownloadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FileWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_ConnectionGroupName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_RenameTo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_ConnectionGroupName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_RenameTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FtpWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_BannerMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_ExitMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_LastModified;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_WelcomeMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_AuthenticationSchemeSelectorDelegate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_DefaultServiceNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_ExtendedProtectionPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_ExtendedProtectionSelectorDelegate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_Prefixes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_Realm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_TimeoutManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;set_ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListener;false;set_Realm;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerContext;false;get_Response;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerContext;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerPrefixCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net;HttpListenerPrefixCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Net;HttpListenerPrefixCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net;HttpListenerRequest;false;EndGetClientCertificate;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_HttpMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_InputStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_RawUrl;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_Url;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_UrlReferrer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_UserHostName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;AppendCookie;(System.Net.Cookie);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;Close;(System.Byte[],System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;CopyFrom;(System.Net.HttpListenerResponse);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_OutputStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_RedirectLocation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;set_StatusDescription;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerTimeoutManager;false;get_DrainEntityBody;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerTimeoutManager;false;get_IdleConnection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerTimeoutManager;false;set_DrainEntityBody;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerTimeoutManager;false;set_IdleConnection;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;EndGetRequestStream;(System.IAsyncResult,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;GetRequestStream;(System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Accept;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_ContinueDelegate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Expect;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Referer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_TransferEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebResponse;false;GetResponseHeader;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_CharacterSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;IPAddress;false;MapToIPv4;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;IPAddress;false;MapToIPv6;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;IPAddress;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;IPEndPoint;false;IPEndPoint;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;IPEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;IPEndPoint;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;IPEndPoint;false;set_Address;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;IPHostEntry;false;get_Aliases;();;Argument[Qualifier];ReturnValue;taint | -| System.Net;IPHostEntry;false;get_HostName;();;Argument[Qualifier];ReturnValue;taint | -| System.Net;NetworkCredential;false;GetCredential;(System.String,System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;NetworkCredential;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;get_Domain;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;NetworkCredential;false;get_Password;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;NetworkCredential;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;NetworkCredential;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;OpenReadCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;OpenWriteCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;ProtocolViolationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;UploadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;UploadFileCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;UploadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;UploadValuesCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;DownloadData;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadData;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadString;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadString;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[1];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenReadAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenReadAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenReadTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenReadTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_ResponseHeaders;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;set_BaseAddress;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_QueryString;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;WebException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;WebException;false;WebException;(System.String,System.Exception,System.Net.WebExceptionStatus,System.Net.WebResponse);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net;WebException;false;get_Response;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Net;WebHeaderCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Net;WebHeaderCollection;false;ToByteArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpRequestHeader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpResponseHeader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebProxy;false;GetProxy;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebProxy;false;get_BypassArrayList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebProxy;false;get_BypassList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebRequest;false;Create;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;Create;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;CreateDefault;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;CreateHttp;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;CreateHttp;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];generated:taint | -| System.Net;WebUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Net;WebUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint | -| System.Net;WebUtility;false;UrlDecode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Numerics;BigInteger;false;Abs;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;DivRem;(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Negate;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Pow;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Remainder;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Complex;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Complex;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Add;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Lerp;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[Qualifier];generated:taint | -| System.Numerics;Plane;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Numerics;Vector2;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Vector3;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Vector4;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Vector;false;Abs<>;(System.Numerics.Vector);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;GetDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;GetModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;get_ManifestModule;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[5].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;DynamicILInfo;false;get_DynamicMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;CreateDelegate;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;DynamicMethod;false;GetDynamicILInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_MethodHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEnumUnderlyingType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingField;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EventBuilder;false;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetAddOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetRaiseMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetRemoveOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;FieldBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;FieldBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_FieldType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetBaseTypeConstraint;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetInterfaceConstraints;(System.Type[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;LocalBuilder;false;get_LocalType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;MethodBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetGenericMethodDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetReturnType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_FullyQualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_ScopeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ParameterBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;GetGetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;GetSetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetGetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetSetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_PropertyType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetFieldSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetLocalVarSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.CallingConventions,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[2].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;AddInterfaceImplementation;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineDefaultConstructor;(System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[2].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[3].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[6].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineTypeInitializer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetGenericTypeDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;TypeBuilder;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;SetParent;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;CustomModifiersEncoder;false;AddModifier;(System.Reflection.Metadata.EntityHandle,System.Boolean);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;Add;(System.Reflection.Metadata.ExceptionRegionKind,System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddCatch;(System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFault;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFilter;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFinally;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[2];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[3];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[2];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[4];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;MetadataRootBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;get_Sizes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Collections.Immutable.ImmutableArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Pointer;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;SZArray;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata;AssemblyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyFile;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyFileHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;AssemblyFileHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;AssemblyReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;Blob;false;GetBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata;BlobBuilder;false;GetBlobs;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;ReserveBytes;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;TryWriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadConstant;(System.Reflection.Metadata.ConstantTypeCode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadSerializedString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadUTF8;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadUTF16;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;get_CurrentPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;get_StartPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobWriter;false;BlobWriter;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobWriter;false;WriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobWriter;false;get_Blob;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;EventAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;EventDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ExportedType;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ExportedTypeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;ExportedTypeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;FieldDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;GenericParameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;GenericParameterConstraint;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;GenericParameterConstraintHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;GenericParameterConstraintHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;GenericParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;GenericParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;ImportDefinitionCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;InterfaceImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScope;false;GetChildren;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScope;false;GetLocalConstants;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScope;false;GetLocalVariables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ManifestResource;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ManifestResourceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;ManifestResourceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;MemberReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MemberReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;MemberReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;MetadataReader;false;GetAssemblyDefinition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetAssemblyFile;(System.Reflection.Metadata.AssemblyFileHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetAssemblyReference;(System.Reflection.Metadata.AssemblyReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetConstant;(System.Reflection.Metadata.ConstantHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomAttribute;(System.Reflection.Metadata.CustomAttributeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomAttributes;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.CustomDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetDeclarativeSecurityAttribute;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetDocument;(System.Reflection.Metadata.DocumentHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetEventDefinition;(System.Reflection.Metadata.EventDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetExportedType;(System.Reflection.Metadata.ExportedTypeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetFieldDefinition;(System.Reflection.Metadata.FieldDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetGenericParameter;(System.Reflection.Metadata.GenericParameterHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetGenericParameterConstraint;(System.Reflection.Metadata.GenericParameterConstraintHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetImportScope;(System.Reflection.Metadata.ImportScopeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetInterfaceImplementation;(System.Reflection.Metadata.InterfaceImplementationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalConstant;(System.Reflection.Metadata.LocalConstantHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalScope;(System.Reflection.Metadata.LocalScopeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalVariable;(System.Reflection.Metadata.LocalVariableHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetManifestResource;(System.Reflection.Metadata.ManifestResourceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMemberReference;(System.Reflection.Metadata.MemberReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodDefinition;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodImplementation;(System.Reflection.Metadata.MethodImplementationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodSpecification;(System.Reflection.Metadata.MethodSpecificationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetModuleDefinition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetModuleReference;(System.Reflection.Metadata.ModuleReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetNamespaceDefinitionRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetParameter;(System.Reflection.Metadata.ParameterHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetPropertyDefinition;(System.Reflection.Metadata.PropertyDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetStandaloneSignature;(System.Reflection.Metadata.StandaloneSignatureHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetTypeDefinition;(System.Reflection.Metadata.TypeDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetTypeReference;(System.Reflection.Metadata.TypeReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetTypeSpecification;(System.Reflection.Metadata.TypeSpecificationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_AssemblyReferences;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_CustomDebugInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_DebugMetadataHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_DeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_Documents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_EventDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_FieldDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_ImportScopes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_LocalConstants;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_LocalScopes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_LocalVariables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MetadataPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MetadataVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MethodDebugInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MethodDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_PropertyDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_StringComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;GetMetadataReader;(System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataStringDecoder;false;GetString;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;Create;(System.Reflection.Metadata.BlobReader);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;GetILReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;get_ExceptionRegions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;get_LocalSignature;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinition;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;MethodImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;MethodImport;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodImport;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ModuleDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ModuleReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_ExportedTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_NamespaceDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_TypeDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;Parameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PropertyAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PropertyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;SequencePointCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;StandaloneSignature;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetInterfaceImplementations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;TypeDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;TypeReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Reflection.Metadata;TypeReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Reflection.Metadata;TypeSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;ManagedPEBuilder;false;GetDirectories;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;ManagedPEBuilder;false;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEBuilder+Section;false;Section;(System.String,System.Reflection.PortableExecutable.SectionCharacteristics);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEBuilder;false;GetSections;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_CoffHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_CorHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_PEHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_SectionHeaders;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEMemoryBlock;false;get_Pointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetEntireImage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetMetadata;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Byte*,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;get_PEHeaders;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;GetAssembly;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;true;GetName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;true;GetType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;GetPublicKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;SetPublicKey;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;SetPublicKeyToken;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_CultureInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_EscapedCodeBase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;set_CultureInfo;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeData;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;get_MemberInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;get_ArgumentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;false;GetAddMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;false;GetRaiseMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;false;GetRemoveMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;true;get_AddMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;true;get_RaiseMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;true;get_RemoveMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;ExceptionHandlingClause;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;IntrospectionExtensions;false;GetTypeInfo;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;LocalVariableInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;MethodInfo;false;CreateDelegate<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;MethodInfoExtensions;false;GetBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;GetRealObject;(System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;get_Member;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;get_ParameterType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Pointer;false;Box;(System.Void*,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Pointer;false;Unbox;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;false;GetGetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;false;GetSetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;true;get_GetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;true;get_SetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;ReflectionTypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Reflection;ReflectionTypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetMethodInfo;(System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvent;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvents;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeField;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeFields;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethods;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperties;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperty;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetElementType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetNestedTypes;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetPropertyImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;TypeDelegator;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;TypeDelegator;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_AssemblyQualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetConstructor;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetDefaultMembers;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvents;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvents;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetFields;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetFields;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetGenericArguments;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetInterfaces;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMembers;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMembers;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethods;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethods;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetNestedType;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetNestedTypes;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperties;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperties;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;false;GetTypeInfo;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection;TypeInfo;true;AsType;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection;TypeInfo;true;GetDeclaredEvent;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredConstructors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredMembers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_GenericTypeParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_ImplementedInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;MissingSatelliteAssemblyException;false;MissingSatelliteAssemblyException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Resources;MissingSatelliteAssemblyException;false;get_CultureName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;GetResourceFileName;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[1];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[2];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;get_BaseName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;get_ResourceSetType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceReader;false;GetResourceData;(System.String,System.String,System.Byte[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceReader;false;ResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceSet;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Resources;ResourceSet;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceSet;false;ResourceSet;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceSet;false;ResourceSet;(System.Resources.IResourceReader);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Resources;ResourceWriter;false;ResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;CallSite;false;get_Binder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetOrCreateValue;(TKey);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;GetAsyncEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>+ConfiguredTaskAwaiter;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value | -| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier].SyntheticField[m_configuredTaskAwaiter];ReturnValue;value | -| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>+ConfiguredValueTaskAwaiter;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;DateTimeConstantAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;DynamicAttribute;false;DynamicAttribute;(System.Boolean[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;DynamicAttribute;false;get_TransformFlags;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Runtime.CompilerServices;RuntimeWrappedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Runtime.CompilerServices;RuntimeWrappedException;false;RuntimeWrappedException;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;RuntimeWrappedException;false;get_WrappedException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;StrongBox<>;false;StrongBox;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;StrongBox<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;StrongBox<>;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;SwitchExpressionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Runtime.CompilerServices;SwitchExpressionException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;TaskAwaiter<>;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_task_awaiter].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value | -| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;TupleElementNamesAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;get_TransformNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ValueTaskAwaiter<>;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;Capture;(System.Exception);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetCurrentStackTrace;(System.Exception);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;get_SourceException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ArrayWithOffset;false;ArrayWithOffset;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;ArrayWithOffset;false;GetArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;COMException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;GetAddMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRaiseMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRemoveMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;CriticalHandle;false;CriticalHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;CriticalHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;ExternalException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;GCHandle;false;FromIntPtr;(System.IntPtr);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;GCHandle;false;ToIntPtr;(System.Runtime.InteropServices.GCHandle);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;HandleRef;false;ToIntPtr;(System.Runtime.InteropServices.HandleRef);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;HandleRef;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;HandleRef;false;get_Wrapper;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;Marshal;false;GenerateProgIdForType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;CreateFromPinnedArray<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;TryGetString;(System.ReadOnlyMemory,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SafeHandle;false;DangerousGetHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SafeHandle;false;SafeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;SafeHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;SequenceMarshal;false;TryGetArray<>;(System.Buffers.ReadOnlySequence,System.ArraySegment);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlyMemory<>;(System.Buffers.ReadOnlySequence,System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyLoadContext;false;EnterContextualReflection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyLoadContext;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyLoadContext;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Remoting;ObjectHandle;false;ObjectHandle;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Remoting;ObjectHandle;false;Unwrap;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Binder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_SurrogateSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Binder;(System.Runtime.Serialization.SerializationBinder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Context;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_SurrogateSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[4];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ItemName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_KeyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ValueName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ItemName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_KeyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ValueName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;get_DataContractResolver;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializerExtensions;false;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializerExtensions;false;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);;Argument[1];Argument[0];generated:taint | -| System.Runtime.Serialization;DataMemberAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataMemberAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;get_FormatProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;get_FormatString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;EnumMemberAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;EnumMemberAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;ExportOptions;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.TypeCode);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;ToString;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type,System.Runtime.Serialization.StreamingContext);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetSurrogateForCyclicalReference;(System.Runtime.Serialization.ISerializationSurrogate);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetTypeFromAssembly;(System.Reflection.Assembly,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;PopulateObjectMembers;(System.Object,System.Reflection.MemberInfo[],System.Object[]);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;ObjectIDGenerator;false;GetId;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;ObjectManager;false;GetObject;(System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationEntry;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Byte);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Char);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Decimal);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.SByte);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Single);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt64);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetDateTime;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;SetType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;get_FullTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;set_FullTypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationObjectManager;false;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;StreamingContext;false;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;StreamingContext;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];Argument[0];generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;GetNextSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;XPathQueryGenerator;false;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);;Argument[2];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlSerializableServices;false;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Runtime.Serialization;XsdDataContractExporter;false;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;XsdDataContractExporter;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;XsdDataContractExporter;false;set_Options;(System.Runtime.Serialization.ExportOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_Identifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_Profile;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;TargetFrameworkAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkDisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;set_FrameworkDisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[3];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ChannelBinding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ProtectionScenario,System.Security.Authentication.ExtendedProtection.ServiceNameCollection);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomChannelBinding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomServiceNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicyTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;ServiceNameCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[0];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Security.Claims;Claim;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Issuer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_OriginalIssuer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_ValueType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;AddClaim;(System.Security.Claims.Claim);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;AddClaims;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Actor;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_BootstrapContext;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Label;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_NameClaimType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_RoleClaimType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;set_Actor;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;set_BootstrapContext;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;AddIdentities;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;AddIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IPrincipal);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;CreateClaimsIdentity;(System.IO.BinaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_Identities;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;PublicKey;false;PublicKey;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedData,System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.Security.Cryptography.X509Certificates.X500DistinguishedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.String,System.Security.Cryptography.X509Certificates.X500DistinguishedNameFlags);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509BasicConstraintsExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Extensions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_IssuerName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotAfter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotBefore;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PrivateKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SerialNumber;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SubjectName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Thumbprint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Find;(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509Certificate2Enumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetCertHashString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetKeyAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetSerialNumberString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Issuer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;X509CertificateEnumerator;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Certificate[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509CertificateCollection+X509CertificateEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainStatus;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Chain;false;set_ChainPolicy;(System.Security.Cryptography.X509Certificates.X509ChainPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509ChainElement[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography.X509Certificates;X509ChainElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;get_StatusInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;set_StatusInformation;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;get_EnhancedKeyUsages;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Extension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Extension);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Extension[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ExtensionEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography.X509Certificates;X509ExtensionEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509KeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForECDsa;(System.Security.Cryptography.ECDsa);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[1];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;get_SubjectKeyIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;Format;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;get_RawData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedDataCollection;false;Add;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;AsnEncodedDataCollection;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Security.Cryptography.AsnEncodedData[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.AsnEncodedDataEnumerator.Current];value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedDataCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography;AsnEncodedDataEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;CryptoStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.Security.Cryptography;CryptoStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;CryptoStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.Security.Cryptography;CryptoStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.Security.Cryptography;CryptoStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.Security.Cryptography;CryptoStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.Security.Cryptography;CspParameters;false;get_ParentWindowHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;CspParameters;false;set_ParentWindowHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureDeformatter;false;DSASignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureFormatter;false;DSASignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;ECCurve;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;HMAC;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;HMAC;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;HashAlgorithmName;false;HashAlgorithmName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;HashAlgorithmName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;HashAlgorithmName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.Byte[]);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;CreateHash;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;get_AlgorithmName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;FromFriendlyName;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;FromOidValue;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;get_FriendlyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;set_FriendlyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;OidCollection;false;Add;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography;OidCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography;OidCollection;false;CopyTo;(System.Security.Cryptography.Oid[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.OidEnumerator.Current];value | -| System.Security.Cryptography;OidCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;OidCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;OidCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography;OidEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[2];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[4];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAEncryptionPadding;false;CreateOaep;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAEncryptionPadding;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAEncryptionPadding;false;get_OaepHashAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;RSAOAEPKeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;RSAOAEPKeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;RSAPKCS1KeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;get_RNG;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;set_RNG;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;RSAPKCS1KeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;RSAPKCS1SignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;RSAPKCS1SignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.Security.Principal.GenericIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericPrincipal;false;GenericPrincipal;(System.Security.Principal.IIdentity,System.String[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;PermissionSet;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security;PermissionSet;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Security;PermissionSet;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;AddChild;(System.Security.SecurityElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;Attribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;Escape;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;SearchForChildByTag;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;SearchForTextOfTag;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;SecurityElement;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;get_Children;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;set_Children;(System.Collections.ArrayList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;set_Tag;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;false;Encode;(System.IO.TextWriter,System.String);;Argument[1];Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.Char[],System.Int32,System.Int32);;Argument[1].Element;Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.String,System.Int32,System.Int32);;Argument[1];Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json.Serialization;JsonStringEnumConverter;false;JsonStringEnumConverter;(System.Text.Json.JsonNamingPolicy,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonDocument;false;Parse;(System.Buffers.ReadOnlySequence,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;Parse;(System.IO.Stream,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;Parse;(System.ReadOnlyMemory,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonDocument);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;get_RootElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement+ArrayEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;Clone;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text.Json;JsonElement;false;EnumerateArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;EnumerateObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;TryGetProperty;(System.String,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonEncodedText;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable,System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonReaderState;false;JsonReaderState;(System.Text.Json.JsonReaderOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonReaderState;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_DictionaryKeyPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_Encoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_PropertyNamingPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_ReferenceHandler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_DictionaryKeyPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_Encoder;(System.Text.Encodings.Web.JavaScriptEncoder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_PropertyNamingPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_ReferenceHandler;(System.Text.Json.Serialization.ReferenceHandler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;get_CurrentState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;Utf8JsonReader;false;get_Position;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Reset;(System.Buffers.IBufferWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Reset;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;CaptureCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;Add;(System.Text.RegularExpressions.Capture);;Argument[0];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;CopyTo;(System.Text.RegularExpressions.Capture[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Text.RegularExpressions;CaptureCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Text.RegularExpressions;CaptureCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;Insert;(System.Int32,System.Text.RegularExpressions.Capture);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;CaptureCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;CaptureCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;CaptureCollection;false;set_Item;(System.Int32,System.Text.RegularExpressions.Capture);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;Group;false;Synchronized;(System.Text.RegularExpressions.Group);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;Add;(System.Text.RegularExpressions.Group);;Argument[0];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;CopyTo;(System.Text.RegularExpressions.Group[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Text.RegularExpressions;GroupCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Text.RegularExpressions;GroupCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;Insert;(System.Int32,System.Text.RegularExpressions.Group);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;TryGetValue;(System.String,System.Text.RegularExpressions.Group);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;GroupCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;GroupCollection;false;set_Item;(System.Int32,System.Text.RegularExpressions.Group);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;Match;false;NextMatch;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Match;false;Synchronized;(System.Text.RegularExpressions.Match);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;MatchCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;Add;(System.Text.RegularExpressions.Match);;Argument[0];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;CopyTo;(System.Text.RegularExpressions.Match[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Text.RegularExpressions;MatchCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Text.RegularExpressions;MatchCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;Insert;(System.Int32,System.Text.RegularExpressions.Match);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;MatchCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text.RegularExpressions;MatchCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;MatchCollection;false;set_Item;(System.Int32,System.Text.RegularExpressions.Match);;Argument[1];Argument[Qualifier].Element;value | -| System.Text.RegularExpressions;Regex;false;Escape;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;GroupNameFromNumber;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Match;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[1];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[3];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Unescape;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;get_CapNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;get_Caps;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;set_CapNames;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;set_Caps;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[3];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[5];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Pattern;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_MatchTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Pattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexMatchTimeoutException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.RegularExpressions;RegexParseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;ASCIIEncoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint | -| System.Text;ASCIIEncoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;ASCIIEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;ASCIIEncoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Decoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Decoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Decoder;false;set_Fallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;DecoderFallbackException;false;DecoderFallbackException;(System.String,System.Byte[],System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Text;DecoderFallbackException;false;get_BytesUnknown;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;DecoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;DecoderReplacementFallback;false;DecoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;DecoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;DecoderReplacementFallbackBuffer;false;DecoderReplacementFallbackBuffer;(System.Text.DecoderReplacementFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoder;false;set_Fallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;EncoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;EncoderReplacementFallback;false;EncoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;EncoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;EncoderReplacementFallbackBuffer;false;EncoderReplacementFallbackBuffer;(System.Text.EncoderReplacementFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[]);;Argument[2].Element;ReturnValue;generated:taint | -| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[],System.Int32,System.Int32);;Argument[2].Element;ReturnValue;generated:taint | -| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[2];ReturnValue;generated:taint | -| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;GetBytes;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetString;(System.Byte*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;false;GetString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;false;get_DecoderFallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;false;get_EncoderFallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;false;set_DecoderFallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;set_EncoderFallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoding;true;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.Char[]);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.String);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;true;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;true;GetString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;EncodingProvider;true;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;EncodingProvider;true;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;SpanRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;SpanRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder+ChunkEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder+ChunkEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Byte);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Double);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Int16);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Int64);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.SByte);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Single);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.String);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendLine;();;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;GetChunks;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Byte);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[]);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Decimal);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Double);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int16);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.SByte);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Single);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.String,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt16);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Replace;(System.Char,System.Char,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];ReturnValue.Element;value | -| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];ReturnValue.Element;value | -| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];ReturnValue.Element;value | -| System.Text;StringBuilder;false;ToString;();;Argument[Qualifier].Element;ReturnValue;taint | -| System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue;taint | -| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF7Encoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UTF7Encoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF7Encoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UTF7Encoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF7Encoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF7Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF7Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF7Encoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF8Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF8Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF8Encoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF32Encoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UTF32Encoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF32Encoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UTF32Encoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF32Encoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UTF32Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF32Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UTF32Encoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UnicodeEncoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UnicodeEncoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UnicodeEncoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;UnicodeEncoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UnicodeEncoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;UnicodeEncoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UnicodeEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;UnicodeEncoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObservable<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObserver<>;(System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];Argument[1];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Post<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);;Argument[1];Argument[0];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;SendAsync<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;TryReceive<>;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_NameFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_NameFormat;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];Argument[0];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[Qualifier];Argument[1];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;get_Completion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;GetResult;(System.Int16);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetException;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ConcurrentScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ExclusiveScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelLoopResult;false;get_LowestBreakIteration;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ParallelOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;Task;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Delay;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;Delay;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;FromCanceled;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;FromResult<>;(TResult);;Argument[0];ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;Run<>;(System.Func>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Run<>;(System.Func>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Run<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Run<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;WhenAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAll;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAll<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAll<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;Task<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue.SyntheticField[m_task_task_awaiter];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait;(System.IAsyncDisposable,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait<>;(System.Collections.Generic.IAsyncEnumerable,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskCanceledException;false;TaskCanceledException;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCanceledException;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskCompletionSource;false;TaskCompletionSource;(System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCompletionSource;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskCompletionSource<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCompletionSource<>;false;TrySetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCompletionSource<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskExtensions;false;Unwrap;(System.Threading.Tasks.Task);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskExtensions;false;Unwrap<>;(System.Threading.Tasks.Task>);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;UnobservedTaskExceptionEventArgs;(System.AggregateException);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;AsTask;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;FromResult<>;(TResult);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;Preserve;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;AsTask;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;Preserve;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ValueTask;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.Int32,System.Threading.WaitHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Exception,System.Int32,System.Threading.WaitHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Int32,System.Threading.WaitHandle);;Argument[2];Argument[Qualifier];generated:taint | -| System.Threading;AbandonedMutexException;false;get_Mutex;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;CancellationToken;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;CancellationTokenSource;false;get_Token;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;CompressedStack;false;CreateCopy;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Threading;CountdownEvent;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;ExecutionContext;false;CreateCopy;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Threading;HostExecutionContextManager;false;SetHostExecutionContext;(System.Threading.HostExecutionContext);;Argument[0];ReturnValue;generated:taint | -| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.Threading;ManualResetEventSlim;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;get_AvailableWaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;Thread;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;Thread;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;ThreadExceptionEventArgs;false;ThreadExceptionEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;ThreadExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;WaitHandle;false;set_SafeWaitHandle;(Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;WaitHandle;true;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;WaitHandle;true;set_Handle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;WaitHandleExtensions;false;SetSafeWaitHandle;(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[1];Argument[0];generated:taint | -| System.Timers;Timer;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Timers;Timer;false;get_SynchronizingObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Timers;Timer;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.Timers;Timer;false;set_SynchronizingObject;(System.ComponentModel.ISynchronizeInvoke);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;CommittableTransaction;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;CommittableTransaction;false;get_AsyncWaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;PromoteAndEnlistDurable;(System.Guid,System.Transactions.IPromotableSinglePhaseNotification,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;Rollback;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;SetDistributedTransactionIdentifier;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;get_PromoterType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;get_TransactionInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionEventArgs;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionInformation;false;get_DistributedIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionOptions;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionOptions;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];generated:taint | -| System.Web.UI.WebControls;TextBox;false;get_Text;();;Argument[Qualifier];ReturnValue;taint | -| System.Web;HttpCookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Web;HttpCookie;false;get_Values;();;Argument[Qualifier];ReturnValue;taint | -| System.Web;HttpServerUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpServerUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Web;HttpUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];generated:taint | -| System.Web;HttpUtility;false;HtmlEncode;(System.Object);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.Byte[]);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlPathEncode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantNodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantNodesAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;InDocumentOrder<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Nodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;get_NextAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;get_PreviousAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XCData;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XCData;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XComment;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XComment;false;XComment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XComment;false;XComment;(System.Xml.Linq.XComment);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XComment;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XComment;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XContainer;false;AddFirst;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XContainer;false;AddFirst;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XContainer;false;CreateWriter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;DescendantNodes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Descendants;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Descendants;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Element;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Elements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Elements;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Nodes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XContainer;false;get_FirstNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;get_LastNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XDocument;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XDocument;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;XDocument;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDeclaration,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;get_Declaration;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;get_Root;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;set_Declaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.Xml.Linq.XDocumentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;AncestorsAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;AncestorsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Attribute;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Attributes;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;DescendantNodesAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;DescendantsAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;DescendantsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XElement;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;SetElementValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XElement;false;get_FirstAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;get_LastAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XName;false;Get;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;Get;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XNode;false;Ancestors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;Ancestors;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;CreateReader;(System.Xml.Linq.ReaderOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ElementsAfterSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ElementsAfterSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;NodesAfterSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ReadFrom;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XNode;false;get_NextNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;AddAnnotation;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XObject;false;Annotation;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;Annotation<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;Annotations;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;Annotations<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.Xml.Linq.XProcessingInstruction);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;set_Target;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XStreamingElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XText;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XText;false;XText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XText;false;XText;(System.Xml.Linq.XText);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XText;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XAttribute);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XElement);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;ValidationEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;ValidationEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml.Schema;XmlAtomicValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml.Schema;XmlAtomicValue;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Elements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Groups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Includes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Notations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_TargetNamespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchema;false;set_TargetNamespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchema;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchema;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAll;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAny;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAny;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnyAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnyAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;get_Markup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_RedefinedAttributeGroup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaChoice;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema,System.Xml.XmlResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchemaCollection);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaCollectionEnumerator.Current];value | -| System.Xml.Schema;XmlSchemaCollection;false;XmlSchemaCollection;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml.Schema;XmlSchemaComplexContent;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeUses;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeWildcard;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentModel;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentTypeParticle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;set_ContentModel;(System.Xml.Schema.XmlSchemaContentModel);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;get_Language;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;get_Markup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;set_Language;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_ElementSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_ElementType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_SubstitutionGroup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_SubstitutionGroup;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaException;false;XmlSchemaException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaException;false;get_SourceSchemaObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_Schema;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_SchemaLocation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_Schema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_SchemaLocation;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaFacet;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaFacet;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;set_Particle;(System.Xml.Schema.XmlSchemaGroupBase);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaGroupRef;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Fields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Selector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Selector;(System.Xml.Schema.XmlSchemaXPath);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInclude;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInclude;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInferenceException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_MemberType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaAttribute;(System.Xml.Schema.XmlSchemaAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaElement;(System.Xml.Schema.XmlSchemaElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaKeyref;false;get_Refer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaKeyref;false;set_Refer;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;get_Public;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;get_System;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;set_Public;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;set_System;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;get_Namespaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;set_Namespaces;(System.Xml.Serialization.XmlSerializerNamespaces);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;set_Parent;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;set_SourceUri;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObjectCollection;false;Add;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;CopyTo;(System.Xml.Schema.XmlSchemaObject[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaObjectEnumerator.Current];value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;Insert;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;Remove;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObjectCollection;false;XmlSchemaObjectCollection;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObjectTable;false;get_Names;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObjectTable;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_Groups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSequence;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Schemas;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;XmlSchemaSet;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_CompilationSettings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_GlobalAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_GlobalElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_GlobalTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;set_CompilationSettings;(System.Xml.Schema.XmlSchemaCompilationSettings);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContent;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleType;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleType;false;set_Content;(System.Xml.Schema.XmlSchemaSimpleTypeContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_BaseItemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_BaseItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseMemberTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_MemberTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;set_MemberTypes;(System.Xml.XmlQualifiedName[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_BaseSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_BaseXmlSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_Datatype;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidationException;false;SetSourceObject;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidationException;false;get_SourceObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;AddSchema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedParticles;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;Initialize;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;SkipToEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[3];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateWhitespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;get_LineInfoProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;get_ValidationEventSender;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_LineInfoProvider;(System.Xml.IXmlLineInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_SourceUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_ValidationEventSender;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaXPath;false;get_XPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaXPath;false;set_XPath;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;MakeUnique;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;ToArray;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;ImportContext;false;ImportContext;(System.Xml.Serialization.CodeIdentifiers,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;ImportContext;false;get_TypeIdentifiers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;ImportContext;false;get_Warnings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;SoapAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapDefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapEnum;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapAttribute;(System.Xml.Serialization.SoapAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapElement;(System.Xml.Serialization.SoapElementAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapEnum;(System.Xml.Serialization.SoapEnumAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapType;(System.Xml.Serialization.SoapTypeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;SoapElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapEnumAttribute;false;SoapEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapIncludeAttribute;false;SoapIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[]);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;set_MemberType;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttributes;false;Add;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlAnyElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;Remove;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlArrayAttribute;false;XmlArrayAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttributes;false;Add;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;CopyTo;(System.Xml.Serialization.XmlArrayItemAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;Remove;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeEventArgs;false;get_Attr;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ExpectedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlArrayItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlChoiceIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlDefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlEnum;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlText;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlAnyAttribute;(System.Xml.Serialization.XmlAnyAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlArray;(System.Xml.Serialization.XmlArrayAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlAttribute;(System.Xml.Serialization.XmlAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlEnum;(System.Xml.Serialization.XmlEnumAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlRoot;(System.Xml.Serialization.XmlRootAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlText;(System.Xml.Serialization.XmlTextAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlType;(System.Xml.Serialization.XmlTypeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;XmlChoiceIdentifierAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnreferencedObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttributes;false;Add;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlElementAttributes;false;Remove;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlElementEventArgs;false;get_Element;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementEventArgs;false;get_ExpectedElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlEnumAttribute;false;XmlEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlIncludeAttribute;false;XmlIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlMapping;false;SetKey;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlMapping;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMapping;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMapping;false;get_XsdElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMemberMapping;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMembersMapping;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_SoapAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_XmlAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_MemberType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_SoapAttributes;(System.Xml.Serialization.SoapAttributes);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_XmlAttributes;(System.Xml.Serialization.XmlAttributes);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;XmlRootAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaEnumerator;false;XmlSchemaEnumerator;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;XmlSchemaExporter;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaProviderAttribute;false;XmlSchemaProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaProviderAttribute;false;get_MethodName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Serialization.XmlSchemas);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSchemas;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlSchemas;false;Find;(System.Xml.XmlQualifiedName,System.Type);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlSchemas;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Xml.Serialization;XmlSchemas;false;Insert;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSchemas;false;OnInsert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;OnSet;(System.Int32,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlSchemas;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Collection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_CollectionItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Ids;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;set_Source;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;AddTarget;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;CollapseWhitespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;EnsureArrayIndex;(System.Array,System.Int32,System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;GetTarget;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadNullableString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReference;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.Boolean,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadTypedPrimitive;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ShrinkArray;(System.Array,System.Int32,System.Type,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToByteArrayBase64;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNCName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmToken;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmTokens;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayBase64;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayHex;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[],System.String);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNCName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmToken;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmTokens;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementEncoded;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementLiteral;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteId;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncoded;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteral;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteReferencingElement;(System.String,System.String,System.Object);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteReferencingElement;(System.String,System.String,System.Object,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteTypedPrimitive;(System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode,System.Object);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;set_Writer;(System.Xml.XmlWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[4];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;XmlSerializerVersionAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_ParentAssemblyId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_ParentAssemblyId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;XmlTextAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;XmlTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[1];ReturnValue;generated:taint | -| System.Xml.XPath;XDocumentExtensions;false;ToXPathNavigable;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathDocument;false;XPathDocument;(System.Xml.XmlReader,System.Xml.XmlSpace);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.XPath;XPathException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.XPath;XPathException;false;XPathException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.XPath;XPathException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathExpression;false;Compile;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.XPath;XPathItem;true;ValueAs;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Compile;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;GetNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Select;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;SelectSingleNode;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;WriteSubtree;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.XPath;XPathNavigator;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNodeIterator;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNodeIterator;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNodeIterator;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml.Xsl;XslCompiledTransform;false;Load;(System.Reflection.MethodInfo,System.Byte[],System.Type[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;GetExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;GetParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;RemoveExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;RemoveParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltCompileException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Xsl;XsltException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Xsl;XsltException;false;XsltException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Xsl;XsltException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Get;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;UniqueId;false;UniqueId;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;UniqueId;false;UniqueId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;generated:taint | -| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttribute;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlAttribute;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlAttribute;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_OwnerElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlAttribute;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml;XmlAttributeCollection;false;CopyTo;(System.Xml.XmlAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Remove;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.String,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlCDataSection;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlCDataSection;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlCDataSection;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCDataSection;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCDataSection;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCDataSection;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCDataSection;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCharacterData;false;XmlCharacterData;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCharacterData;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlCharacterData;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;true;AppendData;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;true;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlCharacterData;true;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlCharacterData;true;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlComment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlComment;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlComment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlComment;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlConvert;false;DecodeName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;EncodeLocalName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;EncodeName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;EncodeNmToken;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyNCName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyNMTOKEN;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyPublicId;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyTOKEN;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyWhitespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyXmlChars;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;GetElementFromRow;(System.Data.DataRow);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;GetRowFromElement;(System.Xml.XmlElement);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;XmlDataDocument;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDeclaration;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDeclaration;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDeclaration;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionary;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionary;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[5];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateDictionaryReader;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadContentAsString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;GetNonAtomizedNames;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadArray;(System.String,System.String,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsQualifiedName;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsUniqueId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadElementContentAsUniqueId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryString;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryString;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateDictionaryWriter;(System.Xml.XmlWriter);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteBase64Async;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteStartAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteQualifiedName;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteStartAttribute;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteString;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteTextNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteValue;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentFragment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateEntityReference;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocument;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocument;false;XmlDocument;(System.Xml.XmlImplementation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocument;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_DocumentElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_Implementation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocument;false;get_Schemas;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocument;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentFragment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentFragment;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocumentFragment;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocumentFragment;false;XmlDocumentFragment;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentFragment;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentFragment;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentFragment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentFragment;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentFragment;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentFragment;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentType;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;get_Entities;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentType;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentType;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlDocumentType;false;get_Notations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttributeNode;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;RemoveAttributeAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;RemoveAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;RemoveAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlElement;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlElement;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlElement;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlEntity;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_NotationName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntity;false;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntity;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntity;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntityReference;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntityReference;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlEntityReference;false;XmlEntityReference;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlEntityReference;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntityReference;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntityReference;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntityReference;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntityReference;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlEntityReference;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlException;false;XmlException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlImplementation;false;CreateDocument;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlImplementation;false;XmlImplementation;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlLinkedNode;false;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlLinkedNode;false;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNamedNodeMap;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String);;Argument[Qualifier];ReturnValue;value | -| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;value | -| System.Xml;XmlNamedNodeMap;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml;XmlNamespaceManager;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;XmlNamespaceManager;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlNamespaceManager;false;get_DefaultNamespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml;XmlNode;false;SelectNodes;(System.String);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;false;SelectNodes;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;false;SelectSingleNode;(System.String);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;false;SelectSingleNode;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;GetNamespaceOfPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;GetPrefixOfNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_ChildNodes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_FirstChild;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_HasChildNodes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;get_LastChild;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Prefix;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[4];Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_NewParent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_Node;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_OldParent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_OldValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeList;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml;XmlNodeList;true;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;XmlNodeReader;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNotation;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNotation;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNotation;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNotation;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNotation;false;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNotation;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNotation;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[4];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[5];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[6];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[7];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[9];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_DocTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_NamespaceManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;set_BaseURI;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_DocTypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_NamespaceManager;(System.Xml.XmlNamespaceManager);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_XmlLang;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlProcessingInstruction;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlProcessingInstruction;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlProcessingInstruction;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlProcessingInstruction;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlProcessingInstruction;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadContentAsObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsDateTime;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsObject;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsString;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementString;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReaderSettings;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReaderSettings;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlReaderSettings;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlReaderSettings;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlSecureResolver;false;XmlSecureResolver;(System.Xml.XmlResolver,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlSecureResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlSignificantWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlSignificantWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlSignificantWhitespace;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlSignificantWhitespace;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlSignificantWhitespace;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlSignificantWhitespace;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlSignificantWhitespace;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlSignificantWhitespace;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlSignificantWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlText;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlText;false;SplitText;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlText;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlText;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlText;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlText;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlText;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlText;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;GetRemainder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.IO.TextReader,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextWriter;false;WriteName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextWriter;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlUrlResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlUrlResolver;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlValidatingReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlValidatingReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlValidatingReader;false;get_Schemas;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlWhitespace;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlWhitespace;false;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlWhitespace;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlWhitespace;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlWhitespace;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlWhitespace;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.String,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Text.StringBuilder,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeStringAsync;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteAttributes;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteAttributesAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriterSettings;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWriterSettings;false;get_IndentChars;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWriterSettings;false;get_NewLineChars;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWriterSettings;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriterSettings;false;set_IndentChars;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriterSettings;false;set_NewLineChars;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;AggregateException;false;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;AggregateException;false;AggregateException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;AggregateException;false;GetBaseException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;AggregateException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;AggregateException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;AggregateException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;AppDomain;false;ApplyPolicy;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;ArgumentException;false;ArgumentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;ArgumentException;false;ArgumentException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;ArgumentException;false;ArgumentException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;ArgumentException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;ArgumentException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArgumentException;false;get_ParamName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.String,System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;ArgumentOutOfRangeException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;ArgumentOutOfRangeException;false;get_ActualValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArgumentOutOfRangeException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Array;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System;Array;false;AsReadOnly<>;(T[]);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System;Array;false;CopyTo;(System.Array,System.Int64);;Argument[Qualifier].Element;Argument[0].Element;value | -| System;Array;false;Fill<>;(T[],T);;Argument[1];Argument[0].Element;generated:taint | -| System;Array;false;Fill<>;(T[],T,System.Int32,System.Int32);;Argument[1];Argument[0].Element;generated:taint | -| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value | -| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value | -| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value | -| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value | -| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value | -| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value | -| System;Array;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System;Array;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System;Array;false;Reverse;(System.Array);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Reverse;(System.Array,System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Reverse<>;(T[]);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Reverse<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System;Array;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System;Array;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System;ArraySegment<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System;ArraySegment<>;false;ArraySegment;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ArraySegment<>;false;ArraySegment;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ArraySegment<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System;ArraySegment<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;get_Array;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System;BadImageFormatException;false;BadImageFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;BadImageFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;BadImageFormatException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;get_FusionLog;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Boolean;false;Parse;(System.String);;Argument[0];ReturnValue;taint | -| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;Argument[1];taint | -| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];Argument[1];taint | -| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;taint | -| System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue.Element;taint | -| System;Convert;false;FromHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue.Element;taint | -| System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue.Element;taint | -| System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;Argument[3].Element;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[3].Element;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToHexString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[1].Element;taint | -| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[2];taint | -| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[1].Element;taint | -| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[2];taint | -| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[1].Element;taint | -| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[2];taint | -| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;DBNull;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;DateTime;false;GetDateTimeFormats;(System.Char,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;DateTime;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:value | -| System;DateTime;false;ToLocalTime;();;Argument[Qualifier];ReturnValue;generated:value | -| System;DateTime;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;DateTime;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;DateTime;false;ToUniversalTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;DateTimeOffset;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;DateTimeOffset;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;DateTimeOffset;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Decimal;false;ToDecimal;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:value | -| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[1];ReturnValue;generated:taint | -| System;Delegate;false;Combine;(System.Delegate[]);;Argument[0].Element;ReturnValue;generated:taint | -| System;Delegate;false;CreateDelegate;(System.Type,System.Reflection.MethodInfo,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;Delegate;false;DynamicInvoke;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System;Delegate;false;Remove;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System;Delegate;false;RemoveAll;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System;Delegate;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;true;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System;Delegate;true;GetInvocationList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;true;GetMethodImpl;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;true;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Double;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;Double;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Double;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Enum;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System;Enum;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Environment;false;ExpandEnvironmentVariables;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Exception;false;Exception;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;Exception;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;Exception;(System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;Exception;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;Exception;false;GetBaseException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;Exception;false;get_HelpLink;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_InnerException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_StackTrace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_TargetSite;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;set_HelpLink;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;FormattableString;false;CurrentCulture;(System.FormattableString);;Argument[0];ReturnValue;generated:taint | -| System;FormattableString;false;Invariant;(System.FormattableString);;Argument[0];ReturnValue;generated:taint | -| System;FormattableString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;FormattableString;false;ToString;(System.String,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Half;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;Half;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Int32;false;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0].Element;ReturnValue;taint | -| System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint | -| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint | -| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Int32;false;Parse;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;Argument[3];taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;Argument[1];taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint | -| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];ReturnValue;taint | -| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint | -| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;IntPtr;false;IntPtr;(System.Void*);;Argument[0];Argument[Qualifier];generated:taint | -| System;IntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Lazy<,>;false;Lazy;(TMetadata);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<,>;false;Lazy;(TMetadata,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<,>;false;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Lazy<>;false;Lazy;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value | -| System;Lazy<>;false;Lazy;(System.Func,System.Boolean);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value | -| System;Lazy<>;false;Lazy;(System.Func,System.Threading.LazyThreadSafetyMode);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value | -| System;Lazy<>;false;Lazy;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Lazy<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System;Memory<>;false;Memory;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;Memory<>;false;Memory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;Memory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Memory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Memory<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Index);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Range);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Index);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Range);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;EnumerateRunes;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim;(System.Memory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd;(System.Memory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart;(System.Memory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;MissingFieldException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MissingMemberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;MissingMemberException;false;MissingMemberException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;MissingMemberException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;MissingMethodException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MulticastDelegate;false;CombineImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:value | -| System;MulticastDelegate;false;GetInvocationList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MulticastDelegate;false;GetMethodImpl;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:taint | -| System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:value | -| System;NotFiniteNumberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;Nullable;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System;Nullable<>;false;GetValueOrDefault;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value | -| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value | -| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value | -| System;Nullable<>;false;Nullable;(T);;Argument[0];ReturnValue.Property[System.Nullable<>.Value];value | -| System;Nullable<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Nullable<>;false;get_HasValue;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;taint | -| System;Nullable<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System;ObjectDisposedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;ObjectDisposedException;false;ObjectDisposedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;ObjectDisposedException;false;ObjectDisposedException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;ObjectDisposedException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ObjectDisposedException;false;get_ObjectName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;get_ServicePack;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;get_VersionString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Exception,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];generated:taint | -| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];generated:taint | -| System;OperationCanceledException;false;OperationCanceledException;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System;OperationCanceledException;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ReadOnlyMemory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlyMemory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlyMemory<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlySpan<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;RuntimeFieldHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;RuntimeMethodHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;RuntimeTypeHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;SequencePosition;false;GetObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;SequencePosition;false;SequencePosition;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System;Single;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;Single;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Single;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Span<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Clone;();;Argument[Qualifier];ReturnValue;value | -| System;String;false;Concat;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Concat;(System.Object[]);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3].Element;ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint | -| System;String;false;Concat;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value | -| System;String;false;EnumerateRunes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.CharEnumerator.Current];value | -| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.Object[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint | -| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint | -| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Normalize;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadLeft;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadLeft;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadRight;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadRight;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Remove;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint | -| System;String;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Replace;(System.String,System.String,System.Boolean,System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[1];ReturnValue;generated:taint | -| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[],System.Int32);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;String;(System.Char[]);;Argument[0].Element;ReturnValue;taint | -| System;String;false;String;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Substring;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;ToLower;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToLowerInvariant;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToString;();;Argument[Qualifier];ReturnValue;value | -| System;String;false;ToString;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value | -| System;String;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;ToUpper;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToUpperInvariant;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Trim;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Trim;(System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Trim;(System.Char[]);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimEnd;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimEnd;(System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimEnd;(System.Char[]);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimStart;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimStart;(System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimStart;(System.Char[]);;Argument[Qualifier];ReturnValue;taint | -| System;StringNormalizationExtensions;false;Normalize;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;generated:taint | -| System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[4];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DateEnd;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DateStart;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightDelta;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionEnd;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionStart;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+TransitionTime;false;CreateFixedDateRule;(System.DateTime,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+TransitionTime;false;CreateFloatingDateRule;(System.DateTime,System.Int32,System.Int32,System.DayOfWeek);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+TransitionTime;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TimeZoneInfo+TransitionTime;false;get_TimeOfDay;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeFromUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[4];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[5].Element;ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[4];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[5].Element;ReturnValue;generated:taint | -| System;TimeZoneInfo;false;FindSystemTimeZoneById;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTimeOffset);;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_BaseUtcOffset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_DaylightName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_StandardName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value | -| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value | -| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value | -| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value | -| System;Tuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value | -| System;Tuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value | -| System;Tuple;false;Create<>;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value | -| System;Tuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value | -| System;Tuple<,,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item6];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item7];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Rest;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value | -| System;Tuple<,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item6];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item7];ReturnValue;value | -| System;Tuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value | -| System;Tuple<,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item6];ReturnValue;value | -| System;Tuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value | -| System;Tuple<,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value | -| System;Tuple<,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item4];ReturnValue;value | -| System;Tuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value | -| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value | -| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value | -| System;Tuple<,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item1];ReturnValue;value | -| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item2];ReturnValue;value | -| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item3];ReturnValue;value | -| System;Tuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value | -| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value | -| System;Tuple<,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item1];ReturnValue;value | -| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item2];ReturnValue;value | -| System;Tuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<>;false;Tuple;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value | -| System;Tuple<>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<>.Item1];ReturnValue;value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<>;(System.Tuple,T1);;Argument[0].Property[System.Tuple<>.Item1];Argument[1];value | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetConstructor;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetConstructors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetEvent;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetInterface;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMember;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMembers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetNestedTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;MakeGenericSignatureType;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System;Type;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;get_TypeInitializer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;true;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;true;GetMember;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;true;get_GenericTypeArguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TypeInitializationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TypeInitializationException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TypeLoadException;false;TypeLoadException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;TypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TypeLoadException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UIntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UIntPtr;false;UIntPtr;(System.Void*);;Argument[0];Argument[Qualifier];generated:taint | -| System;UnhandledExceptionEventArgs;false;UnhandledExceptionEventArgs;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System;UnhandledExceptionEventArgs;false;get_ExceptionObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;EscapeDataString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;EscapeString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;EscapeUriString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;GetComponents;(System.UriComponents,System.UriFormat);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;GetLeftPart;(System.UriPartial);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;Uri;false;MakeRelative;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;MakeRelativeUri;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;ToString;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;TryCreate;(System.String,System.UriKind,System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[1];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[1];ReturnValue;generated:taint | -| System;Uri;false;UnescapeDataString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;Uri;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.String);;Argument[0];ReturnValue;taint | -| System;Uri;false;Uri;(System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| System;Uri;false;Uri;(System.String,System.UriKind);;Argument[0];ReturnValue;taint | -| System;Uri;false;Uri;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[1];Argument[Qualifier];generated:taint | -| System;Uri;false;get_Authority;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_DnsSafeHost;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_IdnHost;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_LocalPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;get_PathAndQuery;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;get_Query;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_UserInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;get_Fragment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Password;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Query;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;set_Fragment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Query;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Scheme;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;UriParser;false;Register;(System.UriParser,System.String,System.Int32);;Argument[1];Argument[0];generated:taint | -| System;UriParser;true;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);;Argument[0];ReturnValue;generated:taint | -| System;UriParser;true;OnNewUri;();;Argument[Qualifier];ReturnValue;generated:value | -| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[0];ReturnValue;generated:taint | -| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[1];ReturnValue;generated:taint | -| System;UriTypeConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System;UriTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value | -| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value | -| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value | -| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value | -| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value | -| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value | -| System;ValueTuple;false;Create<>;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value | -| System;ValueTuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item6];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item7];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item6];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item7];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item6];ReturnValue;value | -| System;ValueTuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value | -| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value | -| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value | -| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item3];ReturnValue;value | -| System;ValueTuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value | -| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value | -| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item1];ReturnValue;value | -| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item2];ReturnValue;value | -| System;ValueTuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<>;false;ValueTuple;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value | -| System;ValueTuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<>.Item1];ReturnValue;value | +| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;Convert;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable,System.Type,System.Collections.Generic.IEnumerable);;Argument[4].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;IsEvent;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;Extensions;false;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);;Argument[0];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[0].Element;ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer+Enumerator;false;Enumerator;(Microsoft.Extensions.Primitives.StringTokenizer);;Argument[0].Element;Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(System.String,System.Char[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[1].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;GetHashCode;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;IsNullOrEmpty;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Count;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.VisualBasic;Collection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| Microsoft.VisualBasic;Collection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| Microsoft.VisualBasic;Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Microsoft.VisualBasic;Collection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| Microsoft.VisualBasic;Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.VisualBasic;Collection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.VisualBasic;Collection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.VisualBasic;Collection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| Microsoft.Win32.SafeHandles;SafeFileHandle;false;SafeFileHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Win32.SafeHandles;SafePipeHandle;false;SafePipeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Win32.SafeHandles;SafeProcessHandle;false;SafeProcessHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Win32.SafeHandles;SafeWaitHandle;false;SafeWaitHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Newtonsoft.Json.Linq;JArray;false;Add;(Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JArray;false;CopyTo;(Newtonsoft.Json.Linq.JToken[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| Newtonsoft.Json.Linq;JArray;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| Newtonsoft.Json.Linq;JArray;false;Insert;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JConstructor;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JConstructor;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;Add;(Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;CopyTo;(Newtonsoft.Json.Linq.JToken[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;Insert;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;set_Item;(System.Int32,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| Newtonsoft.Json.Linq;JEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String,Newtonsoft.Json.Linq.JsonLoadSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JToken;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| Newtonsoft.Json.Linq;JToken;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,Newtonsoft.Json.Linq.JsonSelectSettings);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;ToString;(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object);;Argument[0];Argument[1];taint;manual | +| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];Argument[1];taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Enum);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Guid);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.TimeSpan);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Uri);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint;manual | +| System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[2];Argument[Qualifier];taint;generated | +| System.Buffers;MemoryHandle;false;get_Pointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;MemoryManager<>;true;get_Memory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>+Enumerator;false;Enumerator;(System.Buffers.ReadOnlySequence<>);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[2];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64);;Argument[Qualifier];ReturnValue;value;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;TryGet;(System.SequencePosition,System.ReadOnlyMemory,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;get_End;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;get_First;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;get_Start;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;SequenceReader;(System.Buffers.ReadOnlySequence);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,T,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadToAny;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;get_Position;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;get_UnreadSequence;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Tool;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;get_InnerWriter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;get_NewLine;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Concurrent;ConcurrentBag<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentBag<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentBag<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Concurrent;ConcurrentBag<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Concurrent;ConcurrentBag<>;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetOrAdd;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentQueue<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentQueue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Concurrent;ConcurrentQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Concurrent;ConcurrentStack<>;false;ConcurrentStack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentStack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;ConcurrentStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Concurrent;ConcurrentStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;IProducerConsumerCollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;OrderablePartitioner<>;false;GetDynamicPartitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable,System.Collections.Concurrent.EnumerablePartitionerOptions);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IList,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(TSource[],System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;Remove<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Entry;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+KeyCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;Add;(TKey);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;CopyTo;(TKey[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+KeyCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+ValueCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;Add;(TValue);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;CopyTo;(TValue[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+ValueCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Dictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Int32,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;Dictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;Dictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;Dictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;Dictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;Dictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;Dictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;HashSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;HashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;HashSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.HashSet<>+Enumerator.Current];value;manual | +| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;HashSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;HashSet<>;false;HashSet;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;HashSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;HashSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;ICollection<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;ICollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;IDictionary<,>;true;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;IDictionary<,>;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;IDictionary<,>;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;IEnumerable<>;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;IList<>;true;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;IList<>;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;IList<>;true;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;ISet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;KeyValuePair<,>;false;Deconstruct;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[0];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[1];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;KeyValuePair<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;KeyValuePair<,>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;LinkedList<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;LinkedList<>;false;Find;(T);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;LinkedList<>;false;FindLast;(T);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.LinkedList<>+Enumerator.Current];value;manual | +| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;Remove;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;get_First;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;get_Last;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;LinkedListNode<>;false;LinkedListNode;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_Next;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_Previous;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;set_Value;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;List<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;List<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;List<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Generic;List<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.List<>+Enumerator.Current];value;manual | +| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;List<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;List;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;List<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;List<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;Queue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Queue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Queue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;Enqueue;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Queue<>+Enumerator.Current];value;manual | +| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;Queue<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;Queue<>;false;Queue;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Queue<>;false;TryDequeue;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;Add;(TKey);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;CopyTo;(TKey[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+KeyCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;Add;(TValue);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;CopyTo;(TValue[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+ValueCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;TryGetValue;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedList<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedList<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;SortedList<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;SortedList<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;SortedList<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;SortedSet<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedSet<>+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;SortedSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;Stack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Stack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Stack<>+Enumerator.Current];value;manual | +| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Generic;Stack<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;Stack<>;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;Stack<>;false;Push;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;Stack<>;false;Stack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Stack<>;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;IImmutableDictionary<,>;true;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;IImmutableList<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;IImmutableList<>;true;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;IImmutableSet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[3];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;ToImmutableArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>+Builder);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(T[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(TDerived[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;MoveToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;As<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AsMemory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;CastArray<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;CastUp<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;OfType<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;GetValueOrDefault<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Immutable.ImmutableDictionary+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Immutable.ImmutableHashSet+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;WithComparer;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableInterlocked;false;GetOrAdd<,>;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Remove<>;(System.Collections.Immutable.IImmutableList,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;RemoveRange<>;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];Argument[0].Element;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Immutable.ImmutableList+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableList<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue;false;Dequeue<>;(System.Collections.Immutable.IImmutableQueue,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableQueue<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableQueue<>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T[]);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateBuilder<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Immutable.ImmutableSortedSet+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Max;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Min;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;WithComparer;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Max;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Min;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableStack;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack;false;Pop<>;(System.Collections.Immutable.IImmutableStack,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableStack<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableStack<>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Pop;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Pop;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;Collection<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;Collection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;Collection<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.ObjectModel;Collection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.ObjectModel;Collection<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;Collection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.ObjectModel;Collection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;Collection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;Collection<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;Collection<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;KeyedCollection;(System.Collections.Generic.IEqualityComparer,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;TryGetValue;(TKey,TItem);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Item;(TKey);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;ReadOnlyCollection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;Add;(TKey);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;CopyTo;(TKey[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;Add;(TValue);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;CopyTo;(TValue[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;HybridDictionary;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;HybridDictionary;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;HybridDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;HybridDictionary;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Specialized;HybridDictionary;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Specialized;HybridDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;HybridDictionary;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Specialized;HybridDictionary;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;HybridDictionary;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;IOrderedDictionary;true;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;ListDictionary;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;ListDictionary;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;ListDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;ListDictionary;false;ListDictionary;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;ListDictionary;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Specialized;ListDictionary;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Specialized;ListDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;ListDictionary;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Specialized;ListDictionary;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;ListDictionary;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllKeys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;NameObjectCollectionBase;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;NameObjectCollectionBase;true;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;Add;(System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;NameValueCollection;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;NameValueCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Int32,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;Set;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;set_Item;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_NewItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_OldItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;OrderedDictionary;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;OrderedDictionary;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;OrderedDictionary;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Int32,System.Collections.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;OrderedDictionary;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;OrderedDictionary;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;StringCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Specialized.StringEnumerator.Current];value;manual | +| System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Specialized;StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Specialized;StringDictionary;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections.Specialized;StringDictionary;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;StringDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;StringEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Adapter;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections;ArrayList;false;AddRange;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections;ArrayList;false;ArrayList;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections;ArrayList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;CopyTo;(System.Array);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections;ArrayList;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;ArrayList;false;FixedSize;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;FixedSize;(System.Collections.IList);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;ArrayList;false;GetEnumerator;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;ArrayList;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;ArrayList;false;InsertRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections;ArrayList;false;ReadOnly;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;ReadOnly;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Repeat;(System.Object,System.Int32);;Argument[0];ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;SetRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections;ArrayList;false;Synchronized;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Synchronized;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;ArrayList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;ArrayList;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;BitArray;false;And;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;BitArray;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;BitArray;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;BitArray;false;LeftShift;(System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Not;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Or;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;RightShift;(System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Xor;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;CollectionBase;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections;CollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;CollectionBase;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;CollectionBase;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;CollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;CollectionBase;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;CollectionBase;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;CollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;CollectionBase;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;Comparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections;DictionaryBase;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;DictionaryBase;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;DictionaryBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_InnerHashtable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;DictionaryBase;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections;DictionaryBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;DictionaryBase;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;DictionaryBase;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;DictionaryBase;true;OnGet;(System.Object,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;Deconstruct;(System.Object,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections;DictionaryEntry;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;set_Key;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;DictionaryEntry;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;Hashtable;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IEqualityComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[3];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Synchronized;(System.Collections.Hashtable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;Hashtable;false;get_EqualityComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;Hashtable;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections;Hashtable;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;Hashtable;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;Hashtable;false;get_comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;get_hcp;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;set_comparer;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;set_hcp;(System.Collections.IHashCodeProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;ICollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;IDictionary;true;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;IDictionary;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections;IDictionary;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;IEnumerable;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;IList;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections;IList;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;IList;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;IList;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;Queue;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;Queue;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;Queue;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Queue;false;Enqueue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Queue;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;Queue;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;Queue;false;Queue;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections;Queue;false;Synchronized;(System.Collections.Queue);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;Queue;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;ReadOnlyCollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;ReadOnlyCollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;ReadOnlyCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;ReadOnlyCollectionBase;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;SortedList;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;SortedList;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;SortedList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;SortedList;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;SortedList;false;GetByIndex;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;GetKeyList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;GetValueList;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;SortedList;false;SetByIndex;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections;SortedList;false;SortedList;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;SortedList;false;Synchronized;(System.Collections.SortedList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;SortedList;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;SortedList;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections;SortedList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;SortedList;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;SortedList;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;SortedList;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Stack;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;Stack;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;Stack;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;Stack;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;Stack;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;Stack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Stack;false;Stack;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections;Stack;false;Synchronized;(System.Collections.Stack);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;Stack;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Stack;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;get_Schema;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;set_Schema;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;AssociatedMetadataTypeTypeDescriptionProvider;(System.Type,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;CompareAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateField;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetOrder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Prompt;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ResourceType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ShortName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_GroupName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Prompt;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ShortName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayText;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayTextResourceType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayTextResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;get_Extensions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;set_Extensions;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;FilterUIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;MaxLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;MetadataTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;get_MetadataClassType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;MinLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;RangeAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;RegularExpressionAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;StringLengthAttribute;false;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;UIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessage;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;true;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationContext;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationContext;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationContext;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationException;false;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationException;false;get_ValidationResult;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;Append;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;Pop;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;DesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;RootDesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel.Design;DesignerCollection;false;DesignerCollection;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel.Design;DesignerCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerVerbCollection;false;Add;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerbCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;CopyTo;(System.ComponentModel.Design.DesignerVerb[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;DesignerVerbCollection;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerVerbCollection;false;Insert;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;Remove;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerVerbCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;set_Item;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;MenuCommand;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;ServiceContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;ServiceContainer;false;ServiceContainer;(System.IServiceProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ArrayConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;AsyncOperation;false;get_SynchronizationContext;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;AttributeCollection;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;AttributeCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;AttributeCollection;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;BindingList<>;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;CategoryAttribute;false;CategoryAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;CategoryAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CharConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;CollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ComponentCollection;false;ComponentCollection;(System.ComponentModel.IComponent[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;ComponentCollection;false;CopyTo;(System.ComponentModel.IComponent[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;ComponentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ComponentCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String,System.Globalization.CultureInfo);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;Container;false;Add;(System.ComponentModel.IComponent,System.String);;Argument[1];Argument[0];taint;generated | +| System.ComponentModel;Container;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;Container;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Container;false;get_Components;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ContainerFilterService;true;FilterComponents;(System.ComponentModel.ComponentCollection);;Argument[0].Element;ReturnValue;taint;generated | +| System.ComponentModel;CultureInfoConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CultureInfoConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;CultureInfoConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;false;CustomTypeDescriptor;(System.ComponentModel.ICustomTypeDescriptor);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;DecimalConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;DesignerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EditorAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Add;(System.ComponentModel.EventDescriptor);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;EventDescriptorCollection;(System.ComponentModel.EventDescriptor[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.EventDescriptor);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;AddHandlers;(System.ComponentModel.EventHandlerList);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;get_Item;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;GuidConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;IBindingList;true;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicFileLicenseProvider;false;GetKey;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;LicFileLicenseProvider;false;GetLicense;(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;LicenseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;get_LicenseProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ListSortDescriptionCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;ListSortDescriptionCollection;(System.ComponentModel.ListSortDescription[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;ListSortDescriptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.ComponentModel.ListSortDescription);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;MarshalByValueComponent;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MarshalByValueComponent;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MarshalByValueComponent;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MarshalByValueComponent;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToDisplayString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;GetInvokee;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;GetSite;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;true;CreateAttributeCollection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.ComponentModel;MemberDescriptor;true;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_AttributeArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;set_AttributeArray;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;MultilineStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;NestedContainer;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;NestedContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel;NullableConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;NullableConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;ProgressChangedEventArgs;false;ProgressChangedEventArgs;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;ProgressChangedEventArgs;false;get_UserState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;false;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.ComponentModel;PropertyDescriptor;false;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;false;GetValueChangedHandler;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;true;get_Converter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.PropertyDescriptor);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.String,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.Type,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;PropertyTabAttribute;false;get_TabClasses;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ReferenceConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;ReferenceConverter;false;ReferenceConverter;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;RunWorkerCompletedEventArgs;false;RunWorkerCompletedEventArgs;(System.Object,System.Exception,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;RunWorkerCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;StringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ToolboxItemFilterAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter+StandardValuesCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;TypeConverter+StandardValuesCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;TypeConverter+StandardValuesCollection;false;StandardValuesCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;TypeConverter+StandardValuesCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertTo;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;GetProperties;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;GetStandardValues;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;SortProperties;(System.ComponentModel.PropertyDescriptorCollection,System.String[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;TypeDescriptionProvider;(System.ComponentModel.TypeDescriptionProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetReflectionType;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetRuntimeType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Object,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Type,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetAssociation;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetProvider;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;TypeListConverter;(System.Type[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;VersionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;WarningException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;Win32Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;Win32Exception;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataAdapter;false;get_TableMappings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.String,System.String,System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;get_DataSetColumn;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;set_DataSetColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMapping;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Data.Common.DataColumnMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Data.Common.DataColumnMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;GetByDataSetColumn;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetDataColumn;(System.Data.Common.DataColumnMappingCollection,System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[3];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMapping;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetDataColumn;(System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;get_ColumnMappings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;get_DataSetTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;get_SourceTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;set_DataSetTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;set_SourceTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Data.Common.DataTableMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Data.Common.DataTableMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;GetByDataSetTable;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[2];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataTableMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;set_Connection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;false;set_Connection;(System.Data.IDbConnection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.IDbTransaction);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;true;PrepareAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;RowUpdatingHandler;(System.Data.Common.RowUpdatingEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.Common;DbCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;set_DataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_CatalogSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_QuotePrefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_QuoteSuffix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_SchemaSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_CatalogSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_QuotePrefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_QuoteSuffix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_SchemaSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnection;true;ChangeDatabaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbConnection;true;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[1];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[2];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[1];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[2];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DbConnectionStringBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Data.Common;DbDataAdapter;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;DbDataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;taint;generated | +| System.Data.Common;DbDataReader;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.Common;DbDataReader;true;GetFieldValue<>;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataReader;true;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataReader;true;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data.Common;DbDataReader;true;GetTextReader;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataRecord;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbParameterCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DbParameterCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data.Common;DbParameterCollection;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;CommitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;ReleaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;RollbackAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;RollbackAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;SaveAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;set_Command;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;SqlBinary;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[1].Element;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;Write;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;get_Stream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;set_Stream;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlChars;false;SqlChars;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlChars;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlChars;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Abs;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;AdjustScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Ceiling;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;ConvertToPrecScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;GetNonUnicodeBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;GetUnicodeBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlString;false;SqlString;(System.Int32,System.Data.SqlTypes.SqlCompareOptions,System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlString;false;SqlString;(System.String,System.Int32,System.Data.SqlTypes.SqlCompareOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;Constraint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;true;get_ConstraintName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;true;get__DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;true;set_ConstraintName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.Data.Constraint);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;AddRange;(System.Data.Constraint[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;ConstraintCollection;false;CopyTo;(System.Data.Constraint[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;ConstraintCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data;DBConcurrencyException;false;DBConcurrencyException;(System.String,System.Exception,System.Data.DataRow[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data;DBConcurrencyException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data;DBConcurrencyException;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DBConcurrencyException;false;set_Row;(System.Data.DataRow);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Caption;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_ColumnName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;set_Caption;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_ColumnName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_DataType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_DefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_Expression;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumnChangeEventArgs;false;DataColumnChangeEventArgs;(System.Data.DataRow,System.Data.DataColumn,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataColumnChangeEventArgs;false;get_Column;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumnCollection;false;Add;(System.Data.DataColumn);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataColumnCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataColumnCollection;false;AddRange;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;DataColumnCollection;false;CopyTo;(System.Data.DataColumn[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataColumnCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumnCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumnCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetDateTime;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetFieldValue<>;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetGuid;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetProviderSpecificValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetString;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetTextReader;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[5].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[6].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ChildColumns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ChildKeyConstraint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ParentColumns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ParentKeyConstraint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_RelationName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;set_RelationName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;false;Add;(System.Data.DataRelation);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataRelationCollection;false;CopyTo;(System.Data.DataRelation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataRelationCollection;false;Remove;(System.Data.DataRelation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRelationCollection;true;AddRange;(System.Data.DataRelation[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;DataRow;false;DataRow;(System.Data.DataRowBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;SetNull;(System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;SetParentRow;(System.Data.DataRow,System.Data.DataRelation);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;get_Item;(System.Data.DataColumn);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.Data.DataColumn,System.Data.DataRowVersion);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.Int32,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_ItemArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_RowError;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;set_Item;(System.Data.DataColumn,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;set_RowError;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRowCollection;false;Add;(System.Data.DataRow);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataRowCollection;false;Add;(System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataRowCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataRowCollection;false;CopyTo;(System.Data.DataRow[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataRowCollection;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataRowCollection;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataRowCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;DataRowCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowExtensions;false;SetField<>;(System.Data.DataRow,System.Data.DataColumn,T);;Argument[1];Argument[0];taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataRowView;false;get_DataView;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;CreateDataReader;(System.Data.DataTable[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataSet;false;DataSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;DataSet;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;GetChanges;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;GetList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data;DataSet;false;get_DataSetName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_DefaultViewManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Locale;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Relations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Tables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;set_DataSetName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;DataTable;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;DataTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;DataTable;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;GetChanges;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetErrors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Data.LoadOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;NewRow;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;NewRowArray;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;NewRowFromBuilder;(System.Data.DataRowBuilder);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataTable;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_ChildRelations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_DefaultView;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_DisplayExpression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Locale;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_ParentRelations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Rows;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_TableName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_PrimaryKey;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_TableName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTableCollection;false;Add;(System.Data.DataTable);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataTableCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;AddRange;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;DataTableCollection;false;CopyTo;(System.Data.DataTable[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataTableCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableExtensions;false;AsEnumerable;(System.Data.DataTable);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data;DataTableReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;DataTableReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data;DataTableReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataView;false;AddNew;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;FindRows;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;FindRows;(System.Object[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;DataView;false;GetItemProperties;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;DataView;false;ToTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;(System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;(System.String,System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataView;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;DataView;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;set_Table;(System.Data.DataTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewManager;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataViewManager;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataViewManager;false;CreateDataView;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataViewManager;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;DataViewManager;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;DataViewManager;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;get_DataViewSettings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataViewManager;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataViewManager;false;set_DataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewManager;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;DataViewSetting;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;get_Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewSetting;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewSettingCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataViewSettingCollection;false;CopyTo;(System.Data.DataViewSetting[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataViewSettingCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;DataViewSettingCollection;false;get_Item;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSettingCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSettingCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSettingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[0];Argument[1];taint;generated | +| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];taint;generated | +| System.Data;DataViewSettingCollection;false;set_Item;(System.Int32,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];taint;generated | +| System.Data;EnumerableRowCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;EnumerableRowCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Data;EnumerableRowCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Cast<>;(System.Data.EnumerableRowCollection);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data;FillErrorEventArgs;false;get_DataTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;FillErrorEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;FillErrorEventArgs;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;FillErrorEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;ForeignKeyConstraint;false;get_RelatedColumns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;IColumnMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;IColumnMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;IDataParameterCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;IDataParameterCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;ITableMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;ITableMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;InternalDataCollectionBase;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;InternalDataCollectionBase;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;InternalDataCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;PropertyCollection;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBase<>;false;Cast<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;TypedTableBase<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Data;TypedTableBase<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Data;TypedTableBaseExtensions;false;AsEnumerable<>;(System.Data.TypedTableBase);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;ElementAtOrDefault<>;(System.Data.TypedTableBase,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractClassAttribute;false;ContractClassAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractClassAttribute;false;get_TypeContainingContracts;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractClassForAttribute;false;ContractClassForAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractClassForAttribute;false;get_TypeContractsAreFor;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Condition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_OriginalException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Setting;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;ContractPublicPropertyNameAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayUnits;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayUnits;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;DisableEvents;(System.Diagnostics.Tracing.EventSource);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventSource;false;EventSource;(System.Diagnostics.Tracing.EventSourceSettings,System.String[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GetName;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GetTrait;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;get_ConstructionException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;get_Guid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_ActivityId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_EventName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_PayloadNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_RelatedActivityId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;AddBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;AddEvent;(System.Diagnostics.ActivityEvent);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;AddTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;AddTag;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;SetEndTime;(System.DateTime);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetIdFormat;(System.Diagnostics.ActivityIdFormat);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetStartTime;(System.DateTime);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;Start;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_Links;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_ParentId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_ParentSpanId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_RootId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_SpanId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_TagObjects;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_TraceId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_TraceStateString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;set_TraceStateString;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ActivityCreationOptions<>;false;get_SamplingTags;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivitySource;false;StartActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.DateTimeOffset);;Argument[2];ReturnValue;taint;generated | +| System.Diagnostics;ActivitySpanId;false;ToHexString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivitySpanId;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTagsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Diagnostics.ActivityTagsCollection+Enumerator.Current];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTagsCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Diagnostics;ActivityTagsCollection;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Diagnostics;ActivityTagsCollection;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Diagnostics;ActivityTagsCollection;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Diagnostics;ActivityTraceId;false;ToHexString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTraceId;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;CorrelationManager;false;get_LogicalOperationStack;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DataReceivedEventArgs;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerDisplayAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerDisplayAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DebuggerTypeProxyAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerTypeProxyAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DebuggerVisualizerAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerVisualizerAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DefaultTraceListener;false;get_LogFileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DefaultTraceListener;false;set_LogFileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DelimitedListTraceListener;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DelimitedListTraceListener;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DiagnosticSource;false;StartActivity;(System.Diagnostics.Activity,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;GetVersionInfo;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_Comments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_CompanyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_FileDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_FileVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_InternalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_Language;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_LegalCopyright;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_LegalTrademarks;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_OriginalFilename;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_PrivateBuild;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_ProductName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_ProductVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_SpecialBuild;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;GetProcessById;(System.Int32,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;GetProcesses;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;Start;(System.Diagnostics.ProcessStartInfo);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_ExitTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MachineName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MainModule;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MaxWorkingSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MinWorkingSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_Modules;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_ProcessorAffinity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StandardError;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StandardInput;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StandardOutput;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StartInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StartTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_Threads;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;set_ProcessorAffinity;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Process;false;set_StartInfo;(System.Diagnostics.ProcessStartInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessModule;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessModule;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessModule;false;get_ModuleName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessModuleCollection;false;CopyTo;(System.Diagnostics.ProcessModule[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;ProcessModuleCollection;false;ProcessModuleCollection;(System.Diagnostics.ProcessModule[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessModuleCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_Environment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_EnvironmentVariables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_Verb;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_WorkingDirectory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_Arguments;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_Verb;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_WorkingDirectory;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessThread;false;get_StartAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessThreadCollection;false;Add;(System.Diagnostics.ProcessThread);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;ProcessThreadCollection;false;CopyTo;(System.Diagnostics.ProcessThread[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;ProcessThreadCollection;false;Insert;(System.Int32,System.Diagnostics.ProcessThread);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessThreadCollection;false;ProcessThreadCollection;(System.Diagnostics.ProcessThread[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessThreadCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SourceFilter;false;SourceFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SourceFilter;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SourceFilter;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackFrame;false;GetFileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackFrame;false;GetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackFrame;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackTrace;false;GetFrame;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackTrace;false;StackTrace;(System.Diagnostics.StackFrame);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackTrace;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Diagnostics;Switch;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;get_SwitchName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SwitchAttribute;false;get_SwitchType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SwitchAttribute;false;set_SwitchName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;set_SwitchType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchLevelAttribute;false;SwitchLevelAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchLevelAttribute;false;get_SwitchLevelType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SwitchLevelAttribute;false;set_SwitchLevelType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;set_Writer;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceEventCache;false;get_Callstack;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceEventCache;false;get_DateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;false;TraceListener;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceListener;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;false;set_Filter;(System.Diagnostics.TraceFilter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceListener;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;true;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceListenerCollection;false;Add;(System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListenerCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListener[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Diagnostics.TraceListener[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Diagnostics;TraceListenerCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceSource;false;TraceSource;(System.String,System.Diagnostics.SourceLevels);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceSource;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;get_Listeners;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;get_Switch;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[Qualifier];taint;generated | +| System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;Color;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Drawing;Color;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Drawing;ColorConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;RectangleF;false;Inflate;(System.Drawing.RectangleF,System.Single,System.Single);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;Merge;(System.Dynamic.BindingRestrictions);;Argument[Qualifier];ReturnValue;value;generated | +| System.Dynamic;BindingRestrictions;false;ToExpression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Dynamic;DynamicMetaObject;false;Create;(System.Object,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;DynamicMetaObject;false;DynamicMetaObject;(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.Dynamic;DynamicMetaObject;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Dynamic;ExpandoObject;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Dynamic;ExpandoObject;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Dynamic;ExpandoObject;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Dynamic;ExpandoObject;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Dynamic;ExpandoObject;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Dynamic;ExpandoObject;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Dynamic;ExpandoObject;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Dynamic;ExpandoObject;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Dynamic;ExpandoObject;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Dynamic;ExpandoObject;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Dynamic;ExpandoObject;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[2];Argument[Qualifier];taint;generated | +| System.Formats.Asn1;AsnReader;false;PeekContentBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;PeekEncodedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadEncodedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadEnumeratedBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadIntegerBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Boolean,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveBitString;(System.Int32,System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveCharacterStringBytes;(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveOctetString;(System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnWriter;false;PushOctetString;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnWriter;false;PushSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnWriter;false;PushSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;Calendar;false;ReadOnly;(System.Globalization.Calendar);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;CultureInfo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureInfo;false;GetConsoleFallbackUICulture;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfoByIetfLanguageTag;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;ReadOnly;(System.Globalization.CultureInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_EnglishName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_NativeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_NumberFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_TextInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;set_DateTimeFormat;(System.Globalization.DateTimeFormatInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureInfo;false;set_NumberFormat;(System.Globalization.NumberFormatInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Globalization;CultureNotFoundException;false;get_InvalidCultureId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureNotFoundException;false;get_InvalidCultureName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedEraName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAllDateTimePatterns;(System.Char);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetEraName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetShortestDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;ReadOnly;(System.Globalization.DateTimeFormatInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;SetAllDateTimePatterns;(System.String[],System.Char);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_AMDesignator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_DateSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_MonthDayPattern;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_PMDesignator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_TimeSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AMDesignator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_Calendar;(System.Globalization.Calendar);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_DateSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_DayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_FullDateTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_LongDatePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_LongTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_MonthDayPattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_MonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_MonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_PMDesignator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_ShortDatePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_ShortTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_ShortestDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_TimeSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_YearMonthPattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;get_Delta;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DaylightTime;false;get_End;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DaylightTime;false;get_Start;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;GlobalizationExtensions;false;GetStringComparer;(System.Globalization.CompareInfo,System.Globalization.CompareOptions);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetAscii;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetUnicode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;ReadOnly;(System.Globalization.NumberFormatInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_CurrencyDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_CurrencyGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_CurrencySymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NaNSymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NegativeInfinitySymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NegativeSign;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NumberDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NumberGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PerMilleSymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PercentDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PercentGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PercentSymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PositiveInfinitySymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PositiveSign;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;set_CurrencyDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_CurrencyGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_CurrencySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NaNSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NativeDigits;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NegativeInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NegativeSign;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NumberDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NumberGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PerMilleSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PercentDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PercentGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PercentSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PositiveInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PositiveSign;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;RegionInfo;false;RegionInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;RegionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;RegionInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;RegionInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;SortKey;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;SortKey;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;SortVersion;false;SortVersion;(System.Int32,System.Guid);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;SortVersion;false;get_SortId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetNextTextElement;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetNextTextElement;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;StringInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;get_String;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;set_String;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;TextElementEnumerator;false;GetTextElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ReadOnly;(System.Globalization.TextInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToLower;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToTitleCase;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToUpper;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;get_CultureName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;set_ListSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;BrotliStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;BrotliStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;BrotliStream;false;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;BrotliStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;BrotliStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;BrotliStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;BrotliStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;BrotliStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;DeflateStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;DeflateStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;DeflateStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;DeflateStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;DeflateStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;DeflateStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;DeflateStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;DeflateStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;GZipStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;GZipStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;GZipStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;GZipStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;GZipStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Compression;GZipStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;GZipStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Compression;GZipStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO.Compression;ZipArchive;false;get_Entries;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;Open;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_Archive;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_LastWriteTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;set_LastWriteTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;ZipFile;false;Open;(System.String,System.IO.Compression.ZipArchiveMode,System.Text.Encoding);;Argument[2];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[2];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEntry;false;ToFileSystemInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEntry;false;ToSpecifiedFullPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEntry;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.IO.Enumeration;FileSystemEnumerable<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.IO.Enumeration;FileSystemEnumerator<>;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemName;false;TranslateWin32Expression;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorage;false;get_ApplicationIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorage;false;get_AssemblyIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorage;false;get_DomainIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedFile;false;CreateFromFile;(System.IO.FileStream,System.String,System.Int64,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,System.IO.HandleInheritability,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedFile;false;get_SafeMemoryMappedFileHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedViewAccessor;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedViewStream;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Pipes;AnonymousPipeClientStream;false;AnonymousPipeClientStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO.Pipes;AnonymousPipeServerStream;false;get_ClientSafePipeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO.Pipes;NamedPipeServerStream;false;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO.Pipes;NamedPipeServerStream;false;WaitForConnectionAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Pipes;PipeStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Pipes;PipeStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Pipes;PipeStream;false;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Pipes;PipeStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Pipes;PipeStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO.Pipes;PipeStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Pipes;PipeStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO.Pipes;PipeStream;false;get_SafePipeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;BinaryReader;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.IO;BinaryReader;false;ReadBytes;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BufferedStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;BufferedStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;BufferedStream;false;BufferedStream;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;BufferedStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;BufferedStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;BufferedStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;BufferedStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;BufferedStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;BufferedStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;BufferedStream;false;get_UnderlyingStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;Directory;false;CreateDirectory;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;Directory;false;GetParent;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;DirectoryInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;DirectoryInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;DriveInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;DriveInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;get_RootDirectory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;get_VolumeLabel;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;ErrorEventArgs;false;ErrorEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;ErrorEventArgs;false;GetException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;ReadLines;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated | +| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[1];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;FileInfo;false;CopyTo;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileInfo;false;CopyTo;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileInfo;false;MoveTo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileInfo;false;get_Directory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileInfo;false;get_DirectoryName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.IO;FileLoadException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;FileStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;FileStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;FileStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;FileStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileStream;false;get_SafeFileHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;FileSystemEventArgs;false;get_FullPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;false;get_Extension;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;true;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;get_Filters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;MemoryStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;MemoryStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;MemoryStream;false;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;MemoryStream;false;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;MemoryStream;false;GetBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[]);;Argument[0];ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;MemoryStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;MemoryStream;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;MemoryStream;false;TryGetBuffer;(System.ArraySegment);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;MemoryStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;MemoryStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;MemoryStream;false;WriteTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;generated | +| System.IO;Path;false;ChangeExtension;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Combine;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetDirectoryName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetDirectoryName;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetExtension;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFileName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetFileName;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFileNameWithoutExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetFileNameWithoutExtension;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFullPath;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFullPath;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetPathRoot;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetPathRoot;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetRelativePath;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3];ReturnValue;taint;generated | +| System.IO;Path;false;TrimEndingDirectorySeparator;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;TrimEndingDirectorySeparator;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;RenamedEventArgs;false;get_OldFullPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;RenamedEventArgs;false;get_OldName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;Stream;false;CopyTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;false;Synchronized;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.IO;Stream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;Stream;true;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;true;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;Stream;true;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;true;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;true;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;StreamReader;false;Read;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadLine;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;StreamWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StreamWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StringReader;false;Read;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadLine;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;StringReader;false;StringReader;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;StringWriter;false;GetStringBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StringWriter;false;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StringWriter;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;Write;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextReader;false;Synchronized;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated | +| System.IO;TextReader;true;Read;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadLine;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextWriter;false;Synchronized;(System.IO.TextWriter);;Argument[0];ReturnValue;taint;generated | +| System.IO;TextWriter;false;TextWriter;(System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;get_FormatProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;TextWriter;true;get_NewLine;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;TextWriter;true;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryAccessor;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;UnmanagedMemoryStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;UnmanagedMemoryStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;UnmanagedMemoryStream;false;get_PositionPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;BinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BinaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;BinaryExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;BinaryExpression;false;get_Conversion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BinaryExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;BlockExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;Update;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;BlockExpression;false;get_Expressions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;get_Variables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;CatchBlock;false;Update;(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;ConditionalExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ConditionalExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;ConditionalExpression;false;get_IfFalse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ConstantExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;ConstantExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;DebugInfoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;DebugInfoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;DefaultExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;DefaultExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Rewrite;(System.Linq.Expressions.Expression[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;DynamicExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpressionVisitor;false;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ElementInit;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ArrayAccess;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ArrayIndex;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Coalesce;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Reflection.FieldInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GetActionType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GetFuncType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;IfThenElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Invoke;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeIndex;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeMemberAccess;(System.Linq.Expressions.Expression,System.Reflection.MemberInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Reflection.MemberInfo[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ReduceAndCheck;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ReduceExtensions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;TryGetActionType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;TryGetFuncType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;true;Reduce;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;Expression<>;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression<>;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitCatchBlock;(System.Linq.Expressions.CatchBlock);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitConstant;(System.Linq.Expressions.ConstantExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitDebugInfo;(System.Linq.Expressions.DebugInfoExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitDefault;(System.Linq.Expressions.DefaultExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitElementInit;(System.Linq.Expressions.ElementInit);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitGoto;(System.Linq.Expressions.GotoExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitIndex;(System.Linq.Expressions.IndexExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitInvocation;(System.Linq.Expressions.InvocationExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLabel;(System.Linq.Expressions.LabelExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLabelTarget;(System.Linq.Expressions.LabelTarget);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitListInit;(System.Linq.Expressions.ListInitExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLoop;(System.Linq.Expressions.LoopExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMember;(System.Linq.Expressions.MemberExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberInit;(System.Linq.Expressions.MemberInitExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberListBinding;(System.Linq.Expressions.MemberListBinding);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberMemberBinding;(System.Linq.Expressions.MemberMemberBinding);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitNew;(System.Linq.Expressions.NewExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitNewArray;(System.Linq.Expressions.NewArrayExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitParameter;(System.Linq.Expressions.ParameterExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitRuntimeVariables;(System.Linq.Expressions.RuntimeVariablesExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitch;(System.Linq.Expressions.SwitchExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitchCase;(System.Linq.Expressions.SwitchCase);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitTry;(System.Linq.Expressions.TryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitTypeBinary;(System.Linq.Expressions.TypeBinaryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitUnary;(System.Linq.Expressions.UnaryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;GotoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;GotoExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;GotoExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;IndexExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;IndexExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;IndexExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;IndexExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;IndexExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;InvocationExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;InvocationExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;InvocationExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;LabelExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;LabelExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;LabelExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;LambdaExpression;false;get_Body;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;LambdaExpression;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ListInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;ListInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ListInitExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;ListInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;LoopExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;LoopExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;LoopExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberAssignment;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberAssignment;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;MemberExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MemberExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberExpression;false;get_Member;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MemberInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;MemberInitExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MemberInitExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberListBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberMemberBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;MethodCallExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MethodCallExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MethodCallExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MethodCallExpression;false;get_Object;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;NewArrayExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;NewArrayExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;NewArrayExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;NewExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;NewExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;NewExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;NewExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;NewExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;ParameterExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;RuntimeVariablesExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;RuntimeVariablesExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;RuntimeVariablesExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;SwitchCase;false;Update;(System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;SwitchExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;SwitchExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;SwitchExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;TryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;TryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;TryExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;TypeBinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;TypeBinaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;TypeBinaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;UnaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;UnaryExpression;false;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;UnaryExpression;false;Reduce;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;UnaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue;value;manual | +| System.Linq;Enumerable;false;All<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Any<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Append<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated | +| System.Linq;Enumerable;false;AsEnumerable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Cast<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Count<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;value;manual | +| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;LongCount<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OfType<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Prepend<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated | +| System.Linq;Enumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Linq;Enumerable;false;Reverse<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Skip<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SkipLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;TakeLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;EnumerableExecutor<>;false;EnumerableExecutor;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq;EnumerableQuery<>;false;CreateQuery<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Linq;EnumerableQuery<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq;EnumerableQuery<>;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq;EnumerableQuery<>;false;get_Provider;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq;ImmutableArrayExtensions;false;ElementAt<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;ElementAtOrDefault<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;LastOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;Single<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Linq;Lookup<,>;false;get_Item;(TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq;OrderedParallelQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;All<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Any<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;AsEnumerable<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;AsOrdered;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsOrdered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsParallel;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Concurrent.Partitioner);;Argument[0];ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsSequential<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsUnordered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Cast<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Count<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[1];ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ElementAt<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;ElementAtOrDefault<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;LongCount<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OfType<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Reverse<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Skip<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Take<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToArray<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToList<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;WithCancellation<>;(System.Linq.ParallelQuery,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;WithDegreeOfParallelism<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;WithExecutionMode<>;(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;WithMergeOptions<>;(System.Linq.ParallelQuery,System.Linq.ParallelMergeOptions);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelQuery;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Linq;ParallelQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[3].ReturnValue;ReturnValue;value;manual | +| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue;value;manual | +| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[1];value;manual | +| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue;value;manual | +| System.Linq;Queryable;false;All<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Any<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;AsQueryable;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;AsQueryable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Cast<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Count<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[1];ReturnValue;value;manual | +| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ElementAt<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;ElementAtOrDefault<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;LongCount<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Max<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Min<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OfType<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Reverse<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Skip<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Take<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan,System.DateTime);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_CacheSyncDate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxStale;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Parameter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxStaleLimit;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_SharedMaxAge;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxStaleLimit;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MinFresh;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_SharedMaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.Net.Http.Headers.ContentDispositionHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileNameStar;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Length;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;EntityTagHeaderValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.Http.Headers;HttpHeaderValueCollection<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.Http.Headers;HttpHeaders;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.Http.Headers;HttpHeaders;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_AcceptRanges;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_ProxyAuthenticate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_Vary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_WwwAuthenticate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_CharSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_MediaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;MediaTypeWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.Net.Http.Headers.NameValueHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueWithParametersHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.Net.Http.Headers.ProductHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.ProductInfoHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Product;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.Net.Http.Headers.EntityTagHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_EntityTag;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Delta;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Quality;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_ReceivedBy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;get_Agent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Json;JsonContent;false;Create;(System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[3];ReturnValue;taint;generated | +| System.Net.Http.Json;JsonContent;false;Create<>;(T,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[2];ReturnValue;taint;generated | +| System.Net.Http.Json;JsonContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Http;ByteArrayContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;ByteArrayContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;DelegatingHandler;false;DelegatingHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;DelegatingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;DelegatingHandler;false;get_InnerHandler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;DelegatingHandler;false;set_InnerHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpClient;false;get_DefaultRequestVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpClient;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpClient;false;set_BaseAddress;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClient;false;set_DefaultRequestVersion;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClient;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClientHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;CopyTo;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStreamAsync;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;true;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpMessageInvoker;false;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpMessageInvoker;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;HttpMethod;false;HttpMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpMethod;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpMethod;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_Method;(System.Net.Http.HttpMethod);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_RequestUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Http;HttpRequestOptions;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Net.Http;HttpRequestOptions;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Net.Http;HttpRequestOptions;false;CopyTo;(System.Collections.Generic.KeyValuePair[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.Http;HttpRequestOptions;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.Http;HttpRequestOptions;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.Http;HttpRequestOptions;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Net.Http;HttpRequestOptions;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Net.Http;HttpRequestOptions;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Net.Http;HttpRequestOptions;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Net.Http;HttpRequestOptions;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Net.Http;HttpResponseMessage;false;EnsureSuccessStatusCode;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net.Http;HttpResponseMessage;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;get_ReasonPhrase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;get_RequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_ReasonPhrase;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_RequestMessage;(System.Net.Http.HttpRequestMessage);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;MessageProcessingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;MultipartContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Http;MultipartContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;MultipartContent;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.Http;MultipartContent;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.Http;MultipartContent;false;MultipartContent;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http;MultipartContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;MultipartFormDataContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;ReadOnlyMemoryContent;false;ReadOnlyMemoryContent;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;ReadOnlyMemoryContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;SocketsHttpConnectionContext;false;get_DnsEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpConnectionContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ConnectCallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ConnectTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_DefaultProxyCredentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Expect100ContinueTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingDelay;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_PlaintextStreamFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionIdleTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionLifetime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_RequestHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ResponseDrainTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ResponseHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_SslOptions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_ConnectTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_DefaultProxyCredentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_Expect100ContinueTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingDelay;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionIdleTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_ResponseDrainTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_SslOptions;(System.Net.Security.SslClientAuthenticationOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_NegotiatedHttpVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_PlaintextStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;StreamContent;false;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;StreamContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;AlternateViewCollection;false;InsertItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AlternateViewCollection;false;SetItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;get_ContentDisposition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;get_NameEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;set_NameEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;get_ContentId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;AttachmentBase;false;get_ContentStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;AttachmentBase;false;set_ContentType;(System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentCollection;false;InsertItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentCollection;false;SetItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;get_ContentLink;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResourceCollection;false;InsertItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;LinkedResourceCollection;false;SetItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddress;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[2];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddressCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Mail;MailAddressCollection;false;InsertItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddressCollection;false;SetItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddressCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;MailMessage;(System.Net.Mail.MailAddress,System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;get_Body;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_BodyEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_HeadersEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_ReplyTo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_Sender;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_SubjectEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;set_Body;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_BodyEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_From;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_HeadersEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_ReplyTo;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_Sender;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_Subject;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_SubjectEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;Send;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;Send;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendAsync;(System.Net.Mail.MailMessage,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendAsync;(System.String,System.String,System.String,System.String,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[4];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;get_PickupDirectoryLocation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;get_TargetName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;set_Credentials;(System.Net.ICredentialsByHost);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;set_PickupDirectoryLocation;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;set_TargetName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;get_FailedRecipient;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Net.Mail.SmtpFailedRecipientException[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;get_InnerExceptions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentDisposition;false;ContentDisposition;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mime;ContentDisposition;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentDisposition;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentDisposition;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mime;ContentType;false;ContentType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mime;ContentType;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_Boundary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_CharSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_MediaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.GatewayIPAddressInformation);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.GatewayIPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.NetworkInformation;IPAddressCollection;false;Add;(System.Net.IPAddress);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.NetworkInformation;IPAddressCollection;false;CopyTo;(System.Net.IPAddress[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.NetworkInformation;IPAddressCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.NetworkInformation;IPAddressCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.NetworkInformation;IPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.IPAddressInformation);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.NetworkInformation;IPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.IPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.NetworkInformation;IPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.NetworkInformation;IPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.NetworkInformation;IPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.MulticastIPAddressInformation);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.MulticastIPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.NetworkInformation;PhysicalAddress;false;PhysicalAddress;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;Add;(System.Net.NetworkInformation.UnicastIPAddressInformation);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;CopyTo;(System.Net.NetworkInformation.UnicastIPAddressInformation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;AuthenticatedStream;false;AuthenticatedStream;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Security;AuthenticatedStream;false;get_InnerStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Security;NegotiateStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;get_RemoteIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslApplicationProtocol;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslApplicationProtocol;false;get_Protocol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Security;SslStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Security;SslStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Security;SslStream;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Security;SslStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Security;SslStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Security;SslStream;false;get_LocalCertificate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;get_RemoteCertificate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;get_TransportContext;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;IPPacketInformation;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;MulticastOption;false;get_LocalAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;set_LocalAddress;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;NetworkStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Sockets;NetworkStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Sockets;NetworkStream;false;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;NetworkStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;get_Socket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SafeSocketHandle;false;SafeSocketHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Accept;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;Bind;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Connect;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress[],System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;DisconnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;SendAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;SendPacketsAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Memory);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_AcceptSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_BufferList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectByNameError;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_MemoryBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_ReceiveMessageFromPacketInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_SendPacketsElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_UserToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_AcceptSocket;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_BufferList;(System.Collections.Generic.IList>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_RemoteEndPoint;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_SendPacketsElements;(System.Net.Sockets.SendPacketsElement[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_UserToken;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.String,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;SendToAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[0];taint;generated | +| System.Net.Sockets;TcpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpClient;false;GetStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpClient;false;TcpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpListener;false;AcceptSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpListener;false;AcceptTcpClient;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpListener;false;get_LocalEndpoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpListener;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;EndReceive;(System.IAsyncResult,System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;Receive;(System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;Send;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;SendAsync;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;UdpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;SetBuffer;(System.Int32,System.Int32,System.ArraySegment);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_RemoteCertificateValidationCallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_Cookies;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_CookieCollection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Origin;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketProtocols;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_WebSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[0];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[1];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[2];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocketException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;Authorization;false;get_ProtectionRealm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Authorization;false;set_ProtectionRealm;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_CommentUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Domain;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Expires;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Port;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_TimeStamp;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Net;Cookie;false;set_Comment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_CommentUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Expires;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Port;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;CookieCollection;false;Add;(System.Net.Cookie);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net;CookieCollection;false;Add;(System.Net.CookieCollection);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net;CookieCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net;CookieCollection;false;CopyTo;(System.Net.Cookie[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net;CookieCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net;CookieCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net;CookieCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;CookieCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;CookieCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;CookieException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;CredentialCache;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;CredentialCache;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net;DnsEndPoint;false;DnsEndPoint;(System.String,System.Int32,System.Net.Sockets.AddressFamily);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;DnsEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DnsEndPoint;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DownloadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DownloadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FileWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_ConnectionGroupName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_RenameTo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_ConnectionGroupName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_RenameTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FtpWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_BannerMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_ExitMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_LastModified;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_WelcomeMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_AuthenticationSchemeSelectorDelegate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_DefaultServiceNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_ExtendedProtectionPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_ExtendedProtectionSelectorDelegate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_Prefixes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_Realm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_TimeoutManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;set_ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListener;false;set_Realm;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerContext;false;get_Response;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerContext;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerPrefixCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net;HttpListenerPrefixCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Net;HttpListenerPrefixCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net;HttpListenerRequest;false;EndGetClientCertificate;(System.IAsyncResult);;Argument[0];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_HttpMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_InputStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_RawUrl;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_Url;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_UrlReferrer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_UserHostName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;AppendCookie;(System.Net.Cookie);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;Close;(System.Byte[],System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;CopyFrom;(System.Net.HttpListenerResponse);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_OutputStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_RedirectLocation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;set_StatusDescription;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerTimeoutManager;false;get_DrainEntityBody;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerTimeoutManager;false;get_IdleConnection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerTimeoutManager;false;set_DrainEntityBody;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerTimeoutManager;false;set_IdleConnection;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;GetRequestStream;(System.Net.TransportContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Accept;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_ContinueDelegate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Expect;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Referer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_TransferEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebResponse;false;GetResponseHeader;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_CharacterSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;IPAddress;false;MapToIPv4;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;IPAddress;false;MapToIPv6;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;IPAddress;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;IPEndPoint;false;IPEndPoint;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;IPEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;IPEndPoint;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;IPEndPoint;false;set_Address;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;IPHostEntry;false;get_Aliases;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Net;IPHostEntry;false;get_HostName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Net;NetworkCredential;false;GetCredential;(System.String,System.Int32,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;NetworkCredential;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;get_Domain;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;NetworkCredential;false;get_Password;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;NetworkCredential;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;NetworkCredential;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;OpenReadCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;OpenWriteCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;ProtocolViolationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;UploadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;UploadFileCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;UploadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;UploadValuesCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;DownloadData;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadData;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadString;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadString;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenReadAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenReadAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenReadTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenReadTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_ResponseHeaders;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;set_BaseAddress;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_QueryString;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;WebException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;WebException;false;WebException;(System.String,System.Exception,System.Net.WebExceptionStatus,System.Net.WebResponse);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net;WebException;false;get_Response;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net;WebHeaderCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Net;WebHeaderCollection;false;ToByteArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpRequestHeader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpResponseHeader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebProxy;false;GetProxy;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebProxy;false;get_BypassArrayList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebProxy;false;get_BypassList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebRequest;false;Create;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;Create;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;CreateDefault;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;CreateHttp;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;CreateHttp;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];taint;generated | +| System.Net;WebUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Net;WebUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual | +| System.Net;WebUtility;false;UrlDecode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Numerics;BigInteger;false;Abs;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;DivRem;(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Negate;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Pow;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Remainder;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Complex;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Complex;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Add;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Lerp;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[Qualifier];taint;generated | +| System.Numerics;Plane;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Numerics;Vector2;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Vector3;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Vector4;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Vector;false;Abs<>;(System.Numerics.Vector);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;GetDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;GetModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;get_ManifestModule;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[5].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;DynamicILInfo;false;get_DynamicMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;CreateDelegate;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;DynamicMethod;false;GetDynamicILInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_MethodHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEnumUnderlyingType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingField;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EventBuilder;false;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetAddOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetRaiseMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetRemoveOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;FieldBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;FieldBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_FieldType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetBaseTypeConstraint;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetInterfaceConstraints;(System.Type[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;LocalBuilder;false;get_LocalType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;MethodBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetGenericMethodDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetReturnType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_FullyQualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_ScopeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ParameterBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;GetGetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;GetSetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetGetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetSetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_PropertyType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetFieldSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetLocalVarSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.CallingConventions,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[2].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;AddInterfaceImplementation;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineDefaultConstructor;(System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[2].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[3].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[6].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineTypeInitializer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetGenericTypeDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;SetParent;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;CustomModifiersEncoder;false;AddModifier;(System.Reflection.Metadata.EntityHandle,System.Boolean);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;Add;(System.Reflection.Metadata.ExceptionRegionKind,System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddCatch;(System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFault;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFilter;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFinally;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[2];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[3];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[2];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[4];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;MetadataRootBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;get_Sizes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Collections.Immutable.ImmutableArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Pointer;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;SZArray;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata;AssemblyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyFile;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyFileHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;AssemblyFileHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;AssemblyReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;Blob;false;GetBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata;BlobBuilder;false;GetBlobs;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;ReserveBytes;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;TryWriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadConstant;(System.Reflection.Metadata.ConstantTypeCode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadSerializedString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadUTF8;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadUTF16;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;get_CurrentPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;get_StartPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobWriter;false;BlobWriter;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobWriter;false;WriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobWriter;false;get_Blob;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;EventAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;EventDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ExportedType;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ExportedTypeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;ExportedTypeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;FieldDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;GenericParameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;GenericParameterConstraint;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;GenericParameterConstraintHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;GenericParameterConstraintHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;GenericParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;GenericParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;ImportDefinitionCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;InterfaceImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScope;false;GetChildren;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScope;false;GetLocalConstants;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScope;false;GetLocalVariables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ManifestResource;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ManifestResourceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;ManifestResourceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;MemberReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MemberReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;MemberReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;MetadataReader;false;GetAssemblyDefinition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetAssemblyFile;(System.Reflection.Metadata.AssemblyFileHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetAssemblyReference;(System.Reflection.Metadata.AssemblyReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetConstant;(System.Reflection.Metadata.ConstantHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomAttribute;(System.Reflection.Metadata.CustomAttributeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomAttributes;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.CustomDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetDeclarativeSecurityAttribute;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetDocument;(System.Reflection.Metadata.DocumentHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetEventDefinition;(System.Reflection.Metadata.EventDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetExportedType;(System.Reflection.Metadata.ExportedTypeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetFieldDefinition;(System.Reflection.Metadata.FieldDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetGenericParameter;(System.Reflection.Metadata.GenericParameterHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetGenericParameterConstraint;(System.Reflection.Metadata.GenericParameterConstraintHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetImportScope;(System.Reflection.Metadata.ImportScopeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetInterfaceImplementation;(System.Reflection.Metadata.InterfaceImplementationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalConstant;(System.Reflection.Metadata.LocalConstantHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalScope;(System.Reflection.Metadata.LocalScopeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalVariable;(System.Reflection.Metadata.LocalVariableHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetManifestResource;(System.Reflection.Metadata.ManifestResourceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMemberReference;(System.Reflection.Metadata.MemberReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodDefinition;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodImplementation;(System.Reflection.Metadata.MethodImplementationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodSpecification;(System.Reflection.Metadata.MethodSpecificationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetModuleDefinition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetModuleReference;(System.Reflection.Metadata.ModuleReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetNamespaceDefinitionRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetParameter;(System.Reflection.Metadata.ParameterHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetPropertyDefinition;(System.Reflection.Metadata.PropertyDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetStandaloneSignature;(System.Reflection.Metadata.StandaloneSignatureHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetTypeDefinition;(System.Reflection.Metadata.TypeDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetTypeReference;(System.Reflection.Metadata.TypeReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetTypeSpecification;(System.Reflection.Metadata.TypeSpecificationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_AssemblyReferences;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_CustomDebugInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_DebugMetadataHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_DeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_Documents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_EventDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_FieldDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_ImportScopes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_LocalConstants;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_LocalScopes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_LocalVariables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MetadataPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MetadataVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MethodDebugInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MethodDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_PropertyDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_StringComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;GetMetadataReader;(System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataStringDecoder;false;GetString;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;Create;(System.Reflection.Metadata.BlobReader);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;GetILReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;get_ExceptionRegions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;get_LocalSignature;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinition;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;MethodImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;MethodImport;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodImport;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ModuleDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ModuleReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_ExportedTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_NamespaceDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_TypeDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;Parameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PropertyAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PropertyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;SequencePointCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;StandaloneSignature;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetInterfaceImplementations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;TypeDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;TypeReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Reflection.Metadata;TypeReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Reflection.Metadata;TypeSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;ManagedPEBuilder;false;GetDirectories;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;ManagedPEBuilder;false;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEBuilder+Section;false;Section;(System.String,System.Reflection.PortableExecutable.SectionCharacteristics);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEBuilder;false;GetSections;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_CoffHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_CorHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_PEHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_SectionHeaders;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEMemoryBlock;false;get_Pointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetEntireImage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetMetadata;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Byte*,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;get_PEHeaders;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;GetAssembly;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;true;GetName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;true;GetType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;GetPublicKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;SetPublicKey;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;SetPublicKeyToken;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_CultureInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_EscapedCodeBase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;set_CultureInfo;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeData;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;get_MemberInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;get_ArgumentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;false;GetAddMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;false;GetRaiseMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;false;GetRemoveMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;true;get_AddMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;true;get_RaiseMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;true;get_RemoveMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;ExceptionHandlingClause;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;IntrospectionExtensions;false;GetTypeInfo;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;LocalVariableInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;MethodInfo;false;CreateDelegate<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;MethodInfoExtensions;false;GetBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;GetRealObject;(System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;get_Member;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;get_ParameterType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Pointer;false;Box;(System.Void*,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Pointer;false;Unbox;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;false;GetGetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;false;GetSetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;true;get_GetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;true;get_SetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;ReflectionTypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Reflection;ReflectionTypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetMethodInfo;(System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvent;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvents;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeField;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeFields;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethods;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperties;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperty;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetElementType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetNestedTypes;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetPropertyImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;TypeDelegator;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;TypeDelegator;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_AssemblyQualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetConstructor;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetDefaultMembers;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvents;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvents;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetFields;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetFields;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetGenericArguments;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetInterfaces;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMembers;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMembers;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethods;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethods;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetNestedType;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetNestedTypes;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperties;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperties;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;false;GetTypeInfo;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection;TypeInfo;true;AsType;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection;TypeInfo;true;GetDeclaredEvent;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredConstructors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredMembers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_GenericTypeParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_ImplementedInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;MissingSatelliteAssemblyException;false;MissingSatelliteAssemblyException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Resources;MissingSatelliteAssemblyException;false;get_CultureName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;GetResourceFileName;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[1];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[2];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;get_BaseName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;get_ResourceSetType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceReader;false;GetResourceData;(System.String,System.String,System.Byte[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceReader;false;ResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceSet;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Resources;ResourceSet;false;ResourceSet;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceSet;false;ResourceSet;(System.Resources.IResourceReader);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Resources;ResourceWriter;false;ResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;CallSite;false;get_Binder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetOrCreateValue;(TKey);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;GetAsyncEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>+ConfiguredTaskAwaiter;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value;manual | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier].SyntheticField[m_configuredTaskAwaiter];ReturnValue;value;manual | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>+ConfiguredValueTaskAwaiter;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;DateTimeConstantAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;DynamicAttribute;false;DynamicAttribute;(System.Boolean[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;DynamicAttribute;false;get_TransformFlags;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Runtime.CompilerServices;RuntimeWrappedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Runtime.CompilerServices;RuntimeWrappedException;false;RuntimeWrappedException;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;RuntimeWrappedException;false;get_WrappedException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;StrongBox<>;false;StrongBox;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;StrongBox<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;StrongBox<>;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;SwitchExpressionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Runtime.CompilerServices;SwitchExpressionException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;TaskAwaiter<>;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_task_awaiter].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value;manual | +| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;TupleElementNamesAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;get_TransformNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ValueTaskAwaiter<>;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;Capture;(System.Exception);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetCurrentStackTrace;(System.Exception);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;get_SourceException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ArrayWithOffset;false;ArrayWithOffset;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;ArrayWithOffset;false;GetArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;COMException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;GetAddMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRaiseMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRemoveMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;CriticalHandle;false;CriticalHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;CriticalHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;ExternalException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;GCHandle;false;FromIntPtr;(System.IntPtr);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;GCHandle;false;ToIntPtr;(System.Runtime.InteropServices.GCHandle);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;HandleRef;false;ToIntPtr;(System.Runtime.InteropServices.HandleRef);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;HandleRef;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;HandleRef;false;get_Wrapper;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;Marshal;false;GenerateProgIdForType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;CreateFromPinnedArray<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;TryGetString;(System.ReadOnlyMemory,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SafeHandle;false;DangerousGetHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SafeHandle;false;SafeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;SafeHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;SequenceMarshal;false;TryGetArray<>;(System.Buffers.ReadOnlySequence,System.ArraySegment);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlyMemory<>;(System.Buffers.ReadOnlySequence,System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyLoadContext;false;EnterContextualReflection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyLoadContext;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyLoadContext;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Remoting;ObjectHandle;false;ObjectHandle;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Remoting;ObjectHandle;false;Unwrap;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Binder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_SurrogateSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Binder;(System.Runtime.Serialization.SerializationBinder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Context;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_SurrogateSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[4];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ItemName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_KeyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ValueName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ItemName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_KeyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ValueName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;get_DataContractResolver;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializerExtensions;false;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializerExtensions;false;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);;Argument[1];Argument[0];taint;generated | +| System.Runtime.Serialization;DataMemberAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataMemberAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;get_FormatProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;get_FormatString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;EnumMemberAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;EnumMemberAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;ExportOptions;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type,System.Runtime.Serialization.StreamingContext);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetSurrogateForCyclicalReference;(System.Runtime.Serialization.ISerializationSurrogate);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetTypeFromAssembly;(System.Reflection.Assembly,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;PopulateObjectMembers;(System.Object,System.Reflection.MemberInfo[],System.Object[]);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;ObjectIDGenerator;false;GetId;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;ObjectManager;false;GetObject;(System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationEntry;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Byte);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Char);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Decimal);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.SByte);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Single);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt64);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetDateTime;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;SetType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;get_FullTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;set_FullTypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationObjectManager;false;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;StreamingContext;false;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;StreamingContext;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];Argument[0];taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;GetNextSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;XPathQueryGenerator;false;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);;Argument[2];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlSerializableServices;false;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Runtime.Serialization;XsdDataContractExporter;false;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;XsdDataContractExporter;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;XsdDataContractExporter;false;set_Options;(System.Runtime.Serialization.ExportOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_Identifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_Profile;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;TargetFrameworkAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkDisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;set_FrameworkDisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[3];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ChannelBinding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ProtectionScenario,System.Security.Authentication.ExtendedProtection.ServiceNameCollection);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomChannelBinding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomServiceNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicyTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;ServiceNameCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[0];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Security.Claims;Claim;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Issuer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_OriginalIssuer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_ValueType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;AddClaim;(System.Security.Claims.Claim);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;AddClaims;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Actor;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_BootstrapContext;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Label;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_NameClaimType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_RoleClaimType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;set_Actor;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;set_BootstrapContext;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;AddIdentities;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;AddIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IPrincipal);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;CreateClaimsIdentity;(System.IO.BinaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_Identities;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;PublicKey;false;PublicKey;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedData,System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.Security.Cryptography.X509Certificates.X500DistinguishedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.String,System.Security.Cryptography.X509Certificates.X500DistinguishedNameFlags);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509BasicConstraintsExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Extensions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_IssuerName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotAfter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotBefore;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PrivateKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SerialNumber;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SubjectName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Thumbprint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Find;(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509Certificate2Enumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetCertHashString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetKeyAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetSerialNumberString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Issuer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Certificate[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509CertificateCollection+X509CertificateEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainStatus;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Chain;false;set_ChainPolicy;(System.Security.Cryptography.X509Certificates.X509ChainPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509ChainElement[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography.X509Certificates;X509ChainElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;get_StatusInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;set_StatusInformation;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;get_EnhancedKeyUsages;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Extension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Extension);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Extension[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ExtensionEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509KeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForECDsa;(System.Security.Cryptography.ECDsa);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[1];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;get_SubjectKeyIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;Format;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;get_RawData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedDataCollection;false;Add;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;AsnEncodedDataCollection;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Security.Cryptography.AsnEncodedData[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.AsnEncodedDataEnumerator.Current];value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedDataCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography;AsnEncodedDataEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;CryptoStream;false;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Security.Cryptography;CryptoStream;false;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;CryptoStream;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Security.Cryptography;CryptoStream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.Security.Cryptography;CryptoStream;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Security.Cryptography;CryptoStream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.Security.Cryptography;CspParameters;false;get_ParentWindowHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;CspParameters;false;set_ParentWindowHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureDeformatter;false;DSASignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureFormatter;false;DSASignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;ECCurve;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;HMAC;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;HMAC;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;HashAlgorithmName;false;HashAlgorithmName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;HashAlgorithmName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;HashAlgorithmName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.Byte[]);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;CreateHash;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;get_AlgorithmName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;FromFriendlyName;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;FromOidValue;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;get_FriendlyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;set_FriendlyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;OidCollection;false;Add;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography;OidCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography;OidCollection;false;CopyTo;(System.Security.Cryptography.Oid[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.OidEnumerator.Current];value;manual | +| System.Security.Cryptography;OidCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;OidCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;OidCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography;OidEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[2];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[4];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAEncryptionPadding;false;CreateOaep;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAEncryptionPadding;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAEncryptionPadding;false;get_OaepHashAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;RSAOAEPKeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;RSAOAEPKeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;RSAPKCS1KeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;get_RNG;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;set_RNG;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;RSAPKCS1KeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;RSAPKCS1SignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;RSAPKCS1SignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.Security.Principal.GenericIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericPrincipal;false;GenericPrincipal;(System.Security.Principal.IIdentity,System.String[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;PermissionSet;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security;PermissionSet;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Security;PermissionSet;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;AddChild;(System.Security.SecurityElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;Attribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;Escape;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;SearchForChildByTag;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;SearchForTextOfTag;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;SecurityElement;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;get_Children;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;set_Children;(System.Collections.ArrayList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;set_Tag;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;false;Encode;(System.IO.TextWriter,System.String);;Argument[1];Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.Char[],System.Int32,System.Int32);;Argument[1].Element;Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.String,System.Int32,System.Int32);;Argument[1];Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json.Serialization;JsonStringEnumConverter;false;JsonStringEnumConverter;(System.Text.Json.JsonNamingPolicy,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonDocument;false;Parse;(System.Buffers.ReadOnlySequence,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;Parse;(System.IO.Stream,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;Parse;(System.ReadOnlyMemory,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonDocument);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;get_RootElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement+ArrayEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;Clone;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text.Json;JsonElement;false;EnumerateArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;EnumerateObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;TryGetProperty;(System.String,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonEncodedText;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable,System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonReaderState;false;JsonReaderState;(System.Text.Json.JsonReaderOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonReaderState;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_DictionaryKeyPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_Encoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_PropertyNamingPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_ReferenceHandler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_DictionaryKeyPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_Encoder;(System.Text.Encodings.Web.JavaScriptEncoder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_PropertyNamingPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_ReferenceHandler;(System.Text.Json.Serialization.ReferenceHandler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;get_CurrentState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;Utf8JsonReader;false;get_Position;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Reset;(System.Buffers.IBufferWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Reset;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;CaptureCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;Add;(System.Text.RegularExpressions.Capture);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;CopyTo;(System.Text.RegularExpressions.Capture[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;Insert;(System.Int32,System.Text.RegularExpressions.Capture);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;CaptureCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;set_Item;(System.Int32,System.Text.RegularExpressions.Capture);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;Group;false;Synchronized;(System.Text.RegularExpressions.Group);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;Add;(System.Text.RegularExpressions.Group);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;CopyTo;(System.Text.RegularExpressions.Group[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Text.RegularExpressions;GroupCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Text.RegularExpressions;GroupCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;Insert;(System.Int32,System.Text.RegularExpressions.Group);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;TryGetValue;(System.String,System.Text.RegularExpressions.Group);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;set_Item;(System.Int32,System.Text.RegularExpressions.Group);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;Match;false;NextMatch;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Match;false;Synchronized;(System.Text.RegularExpressions.Match);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;MatchCollection;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;Add;(System.Text.RegularExpressions.Match);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;CopyTo;(System.Text.RegularExpressions.Match[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Text.RegularExpressions;MatchCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Text.RegularExpressions;MatchCollection;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;Insert;(System.Int32,System.Text.RegularExpressions.Match);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text.RegularExpressions;MatchCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;set_Item;(System.Int32,System.Text.RegularExpressions.Match);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text.RegularExpressions;Regex;false;Escape;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;GroupNameFromNumber;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Match;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[1];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[3];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Unescape;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;get_CapNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;get_Caps;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;set_CapNames;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;set_Caps;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[3];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[5];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Pattern;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_MatchTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Pattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexMatchTimeoutException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.RegularExpressions;RegexParseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;ASCIIEncoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;ASCIIEncoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;ASCIIEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;ASCIIEncoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Decoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Decoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Decoder;false;set_Fallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;DecoderFallbackException;false;DecoderFallbackException;(System.String,System.Byte[],System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Text;DecoderFallbackException;false;get_BytesUnknown;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;DecoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;DecoderReplacementFallback;false;DecoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;DecoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;DecoderReplacementFallbackBuffer;false;DecoderReplacementFallbackBuffer;(System.Text.DecoderReplacementFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoder;false;set_Fallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;EncoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;EncoderReplacementFallback;false;EncoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;EncoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;EncoderReplacementFallbackBuffer;false;EncoderReplacementFallbackBuffer;(System.Text.EncoderReplacementFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[]);;Argument[2].Element;ReturnValue;taint;generated | +| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[],System.Int32,System.Int32);;Argument[2].Element;ReturnValue;taint;generated | +| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[2];ReturnValue;taint;generated | +| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;GetBytes;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetString;(System.Byte*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;false;GetString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;false;get_DecoderFallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;false;get_EncoderFallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;false;set_DecoderFallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;set_EncoderFallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoding;true;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.Char[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;true;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;true;GetString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;EncodingProvider;true;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;EncodingProvider;true;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;SpanRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;SpanRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder+ChunkEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder+ChunkEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Byte);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Double);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Int16);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Int64);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.SByte);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Single);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendLine;();;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;GetChunks;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Byte);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[]);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Decimal);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Double);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int16);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.SByte);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Single);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.String,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt16);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Replace;(System.Char,System.Char,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];ReturnValue.Element;value;manual | +| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];ReturnValue.Element;value;manual | +| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];ReturnValue.Element;value;manual | +| System.Text;StringBuilder;false;ToString;();;Argument[Qualifier].Element;ReturnValue;taint;manual | +| System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue;taint;manual | +| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF7Encoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF7Encoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF7Encoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF7Encoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF7Encoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF7Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF7Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF7Encoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF8Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF8Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF8Encoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF32Encoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF32Encoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF32Encoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UTF32Encoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF32Encoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UTF32Encoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF32Encoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UTF32Encoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;false;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;false;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;false;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;false;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;false;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;UnicodeEncoding;false;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UnicodeEncoding;false;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;UnicodeEncoding;false;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObservable<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObserver<>;(System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];Argument[1];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Post<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);;Argument[1];Argument[0];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;SendAsync<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;TryReceive<>;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_NameFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_NameFormat;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];Argument[0];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[Qualifier];Argument[1];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;get_Completion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;GetResult;(System.Int16);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetException;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ConcurrentScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ExclusiveScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelLoopResult;false;get_LowestBreakIteration;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ParallelOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;Task;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Delay;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;Delay;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;FromCanceled;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;FromResult<>;(TResult);;Argument[0];ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;Run<>;(System.Func>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Run<>;(System.Func>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Run<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Run<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;WhenAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAll;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAll<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAll<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;Task<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue.SyntheticField[m_task_task_awaiter];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait;(System.IAsyncDisposable,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait<>;(System.Collections.Generic.IAsyncEnumerable,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskCanceledException;false;TaskCanceledException;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCanceledException;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskCompletionSource;false;TaskCompletionSource;(System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCompletionSource;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskCompletionSource<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCompletionSource<>;false;TrySetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCompletionSource<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskExtensions;false;Unwrap;(System.Threading.Tasks.Task);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskExtensions;false;Unwrap<>;(System.Threading.Tasks.Task>);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;UnobservedTaskExceptionEventArgs;(System.AggregateException);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;AsTask;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;FromResult<>;(TResult);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;Preserve;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;AsTask;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;Preserve;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ValueTask;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.Int32,System.Threading.WaitHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Exception,System.Int32,System.Threading.WaitHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Int32,System.Threading.WaitHandle);;Argument[2];Argument[Qualifier];taint;generated | +| System.Threading;AbandonedMutexException;false;get_Mutex;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;CancellationToken;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;CancellationTokenSource;false;get_Token;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;CompressedStack;false;CreateCopy;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Threading;CountdownEvent;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;ExecutionContext;false;CreateCopy;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Threading;HostExecutionContextManager;false;SetHostExecutionContext;(System.Threading.HostExecutionContext);;Argument[0];ReturnValue;taint;generated | +| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.Threading;ManualResetEventSlim;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;get_AvailableWaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;Thread;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;Thread;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;ThreadExceptionEventArgs;false;ThreadExceptionEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;ThreadExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;WaitHandle;false;set_SafeWaitHandle;(Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;WaitHandle;true;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;WaitHandle;true;set_Handle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;WaitHandleExtensions;false;SetSafeWaitHandle;(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[1];Argument[0];taint;generated | +| System.Timers;Timer;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Timers;Timer;false;get_SynchronizingObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Timers;Timer;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.Timers;Timer;false;set_SynchronizingObject;(System.ComponentModel.ISynchronizeInvoke);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;CommittableTransaction;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;CommittableTransaction;false;get_AsyncWaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;PromoteAndEnlistDurable;(System.Guid,System.Transactions.IPromotableSinglePhaseNotification,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;Rollback;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;SetDistributedTransactionIdentifier;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;get_PromoterType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;get_TransactionInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionEventArgs;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionInformation;false;get_DistributedIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionOptions;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionOptions;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];taint;generated | +| System.Web.UI.WebControls;TextBox;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Web;HttpCookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Web;HttpCookie;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Web;HttpServerUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpServerUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Web;HttpUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];taint;generated | +| System.Web;HttpUtility;false;HtmlEncode;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.Byte[]);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlPathEncode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantNodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantNodesAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;InDocumentOrder<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Nodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;get_NextAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;get_PreviousAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XCData;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XCData;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XComment;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XComment;false;XComment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XComment;false;XComment;(System.Xml.Linq.XComment);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XComment;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XComment;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XContainer;false;AddFirst;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XContainer;false;AddFirst;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XContainer;false;CreateWriter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;DescendantNodes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Descendants;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Descendants;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Element;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Elements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Elements;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Nodes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XContainer;false;get_FirstNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;get_LastNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XDocument;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XDocument;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;XDocument;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDeclaration,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;get_Declaration;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;get_Root;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;set_Declaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.Xml.Linq.XDocumentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;AncestorsAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;AncestorsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Attribute;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Attributes;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;DescendantNodesAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;DescendantsAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;DescendantsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XElement;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;SetElementValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[Qualifier];Argument[1];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XElement;false;get_FirstAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;get_LastAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XName;false;Get;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;Get;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XNode;false;Ancestors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;Ancestors;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;CreateReader;(System.Xml.Linq.ReaderOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ElementsAfterSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ElementsAfterSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;NodesAfterSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ReadFrom;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XNode;false;get_NextNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;AddAnnotation;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XObject;false;Annotation;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;Annotation<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;Annotations;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;Annotations<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.Xml.Linq.XProcessingInstruction);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;set_Target;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XStreamingElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XText;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XText;false;XText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XText;false;XText;(System.Xml.Linq.XText);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XText;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XAttribute);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XElement);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;ValidationEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;ValidationEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;Clone;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml.Schema;XmlAtomicValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Elements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Groups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Includes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Notations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_TargetNamespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchema;false;set_TargetNamespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchema;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchema;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAll;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAny;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAny;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnyAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnyAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;get_Markup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_RedefinedAttributeGroup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaChoice;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema,System.Xml.XmlResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchemaCollection);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaCollectionEnumerator.Current];value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;XmlSchemaCollection;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml.Schema;XmlSchemaComplexContent;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeUses;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeWildcard;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentModel;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentTypeParticle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;set_ContentModel;(System.Xml.Schema.XmlSchemaContentModel);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;get_Language;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;get_Markup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;set_Language;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_ElementSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_ElementType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_SubstitutionGroup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_SubstitutionGroup;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaException;false;XmlSchemaException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaException;false;get_SourceSchemaObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_Schema;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_SchemaLocation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_Schema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_SchemaLocation;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaFacet;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaFacet;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;set_Particle;(System.Xml.Schema.XmlSchemaGroupBase);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaGroupRef;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Fields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Selector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Selector;(System.Xml.Schema.XmlSchemaXPath);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInclude;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInclude;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];Argument[1];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInferenceException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_MemberType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaAttribute;(System.Xml.Schema.XmlSchemaAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaElement;(System.Xml.Schema.XmlSchemaElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaKeyref;false;get_Refer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaKeyref;false;set_Refer;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;get_Public;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;get_System;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;set_Public;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;set_System;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;get_Namespaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;set_Namespaces;(System.Xml.Serialization.XmlSerializerNamespaces);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;set_Parent;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;set_SourceUri;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObjectCollection;false;Add;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;CopyTo;(System.Xml.Schema.XmlSchemaObject[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaObjectEnumerator.Current];value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;Insert;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;Remove;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObjectCollection;false;XmlSchemaObjectCollection;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObjectTable;false;get_Names;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObjectTable;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_Groups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSequence;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;XmlSchemaSet;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_CompilationSettings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_GlobalAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_GlobalElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_GlobalTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;set_CompilationSettings;(System.Xml.Schema.XmlSchemaCompilationSettings);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContent;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleType;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleType;false;set_Content;(System.Xml.Schema.XmlSchemaSimpleTypeContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_BaseItemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_BaseItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseMemberTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_MemberTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;set_MemberTypes;(System.Xml.XmlQualifiedName[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_BaseSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_BaseXmlSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_Datatype;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidationException;false;SetSourceObject;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidationException;false;get_SourceObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;AddSchema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedParticles;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;Initialize;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;SkipToEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[3];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[2];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[Qualifier];Argument[2];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateWhitespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;get_LineInfoProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;get_ValidationEventSender;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_LineInfoProvider;(System.Xml.IXmlLineInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_SourceUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_ValidationEventSender;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaXPath;false;get_XPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaXPath;false;set_XPath;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;MakeUnique;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;ToArray;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;ImportContext;false;ImportContext;(System.Xml.Serialization.CodeIdentifiers,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;ImportContext;false;get_TypeIdentifiers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;ImportContext;false;get_Warnings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;SoapAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapDefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapEnum;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapAttribute;(System.Xml.Serialization.SoapAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapElement;(System.Xml.Serialization.SoapElementAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapEnum;(System.Xml.Serialization.SoapEnumAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapType;(System.Xml.Serialization.SoapTypeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;SoapElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapEnumAttribute;false;SoapEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapIncludeAttribute;false;SoapIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[]);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;set_MemberType;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttributes;false;Add;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlAnyElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;Remove;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlArrayAttribute;false;XmlArrayAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttributes;false;Add;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;CopyTo;(System.Xml.Serialization.XmlArrayItemAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;Remove;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeEventArgs;false;get_Attr;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ExpectedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlArrayItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlChoiceIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlDefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlEnum;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlText;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlAnyAttribute;(System.Xml.Serialization.XmlAnyAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlArray;(System.Xml.Serialization.XmlArrayAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlAttribute;(System.Xml.Serialization.XmlAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlEnum;(System.Xml.Serialization.XmlEnumAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlRoot;(System.Xml.Serialization.XmlRootAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlText;(System.Xml.Serialization.XmlTextAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlType;(System.Xml.Serialization.XmlTypeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;XmlChoiceIdentifierAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnreferencedObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttributes;false;Add;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;Remove;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlElementEventArgs;false;get_Element;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementEventArgs;false;get_ExpectedElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlEnumAttribute;false;XmlEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlIncludeAttribute;false;XmlIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlMapping;false;SetKey;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlMapping;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMapping;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMapping;false;get_XsdElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMemberMapping;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMembersMapping;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_SoapAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_XmlAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_MemberType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_SoapAttributes;(System.Xml.Serialization.SoapAttributes);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_XmlAttributes;(System.Xml.Serialization.XmlAttributes);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;XmlRootAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaEnumerator;false;XmlSchemaEnumerator;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;XmlSchemaExporter;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaProviderAttribute;false;XmlSchemaProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaProviderAttribute;false;get_MethodName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[0];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Serialization.XmlSchemas);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;Find;(System.Xml.XmlQualifiedName,System.Type);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlSchemas;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Xml.Serialization;XmlSchemas;false;Insert;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;OnInsert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;OnSet;(System.Int32,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlSchemas;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Collection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_CollectionItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Ids;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;set_Source;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;AddTarget;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;CollapseWhitespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;EnsureArrayIndex;(System.Array,System.Int32,System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;GetTarget;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadNullableString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReference;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.Boolean,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadTypedPrimitive;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ShrinkArray;(System.Array,System.Int32,System.Type,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToByteArrayBase64;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNCName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmToken;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmTokens;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayBase64;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayHex;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[],System.String);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNCName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmToken;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmTokens;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementEncoded;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementLiteral;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncoded;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteral;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteTypedPrimitive;(System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode,System.Object);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;set_Writer;(System.Xml.XmlWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[Qualifier];Argument[2];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[4];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;XmlSerializerVersionAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_ParentAssemblyId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_ParentAssemblyId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;XmlTextAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;XmlTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[1];ReturnValue;taint;generated | +| System.Xml.XPath;XDocumentExtensions;false;ToXPathNavigable;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathDocument;false;XPathDocument;(System.Xml.XmlReader,System.Xml.XmlSpace);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.XPath;XPathException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.XPath;XPathException;false;XPathException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.XPath;XPathException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathExpression;false;Compile;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.XPath;XPathItem;true;ValueAs;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Compile;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;GetNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Select;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;SelectSingleNode;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;WriteSubtree;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.XPath;XPathNavigator;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNodeIterator;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNodeIterator;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNodeIterator;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml.Xsl;XslCompiledTransform;false;Load;(System.Reflection.MethodInfo,System.Byte[],System.Type[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;GetExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;GetParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;RemoveExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;RemoveParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltCompileException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Xsl;XsltException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Xsl;XsltException;false;XsltException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Xsl;XsltException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Get;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;UniqueId;false;UniqueId;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;UniqueId;false;UniqueId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;taint;generated | +| System.Xml;XmlAttribute;false;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttribute;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlAttribute;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlAttribute;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_OwnerElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlAttribute;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml;XmlAttributeCollection;false;CopyTo;(System.Xml.XmlAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Remove;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.String,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlCDataSection;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlCDataSection;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlCDataSection;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCDataSection;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCDataSection;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCDataSection;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCDataSection;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCharacterData;false;XmlCharacterData;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCharacterData;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlCharacterData;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;true;AppendData;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;true;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlCharacterData;true;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlCharacterData;true;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlComment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlComment;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlComment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlComment;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlConvert;false;DecodeName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;EncodeLocalName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;EncodeName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;EncodeNmToken;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyNCName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyNMTOKEN;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyPublicId;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyTOKEN;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyWhitespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyXmlChars;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;GetElementFromRow;(System.Data.DataRow);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;GetRowFromElement;(System.Xml.XmlElement);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;XmlDataDocument;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDeclaration;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDeclaration;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDeclaration;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionary;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionary;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[5];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateDictionaryReader;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadContentAsString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;GetNonAtomizedNames;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadArray;(System.String,System.String,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsQualifiedName;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsUniqueId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadElementContentAsUniqueId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryString;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryString;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateDictionaryWriter;(System.Xml.XmlWriter);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteBase64Async;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteStartAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteQualifiedName;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteStartAttribute;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteString;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteTextNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteValue;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentFragment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateEntityReference;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocument;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocument;false;XmlDocument;(System.Xml.XmlImplementation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocument;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_DocumentElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_Implementation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocument;false;get_Schemas;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocument;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentFragment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentFragment;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocumentFragment;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocumentFragment;false;XmlDocumentFragment;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentFragment;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentFragment;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentFragment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentFragment;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentFragment;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentFragment;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentType;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;get_Entities;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentType;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentType;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlDocumentType;false;get_Notations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttributeNode;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;RemoveAttributeAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;RemoveAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;RemoveAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlElement;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlElement;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlElement;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlEntity;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_NotationName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntity;false;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntity;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntity;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntityReference;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntityReference;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlEntityReference;false;XmlEntityReference;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlEntityReference;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntityReference;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntityReference;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntityReference;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntityReference;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlEntityReference;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlException;false;XmlException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlImplementation;false;CreateDocument;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlImplementation;false;XmlImplementation;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlLinkedNode;false;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlLinkedNode;false;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNamedNodeMap;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Xml;XmlNamedNodeMap;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml;XmlNamespaceManager;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;XmlNamespaceManager;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlNamespaceManager;false;get_DefaultNamespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml;XmlNode;false;SelectNodes;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;false;SelectNodes;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;false;SelectSingleNode;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;false;SelectSingleNode;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;GetNamespaceOfPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;GetPrefixOfNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_ChildNodes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_FirstChild;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_HasChildNodes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;get_LastChild;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[4];Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_NewParent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_Node;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_OldParent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_OldValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeList;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml;XmlNodeList;true;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;XmlNodeReader;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNotation;false;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNotation;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNotation;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNotation;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNotation;false;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNotation;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNotation;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[4];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[5];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[6];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[7];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[9];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_DocTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_NamespaceManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;set_BaseURI;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_DocTypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_NamespaceManager;(System.Xml.XmlNamespaceManager);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_XmlLang;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlProcessingInstruction;false;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlProcessingInstruction;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlProcessingInstruction;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlProcessingInstruction;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlProcessingInstruction;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadContentAsObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsDateTime;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsObject;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsString;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementString;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReaderSettings;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReaderSettings;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlReaderSettings;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlReaderSettings;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlSecureResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlSecureResolver;false;XmlSecureResolver;(System.Xml.XmlResolver,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlSecureResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlSignificantWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlSignificantWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlSignificantWhitespace;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlSignificantWhitespace;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlSignificantWhitespace;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlSignificantWhitespace;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlSignificantWhitespace;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlSignificantWhitespace;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlSignificantWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlText;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlText;false;SplitText;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlText;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlText;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlText;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlText;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlText;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlText;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;GetRemainder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.IO.TextReader,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextWriter;false;WriteName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextWriter;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlUrlResolver;false;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlUrlResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlUrlResolver;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlValidatingReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlValidatingReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlValidatingReader;false;get_Schemas;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlWhitespace;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlWhitespace;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlWhitespace;false;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlWhitespace;false;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlWhitespace;false;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlWhitespace;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.String,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Text.StringBuilder,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeStringAsync;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteAttributes;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteAttributesAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriterSettings;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWriterSettings;false;get_IndentChars;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWriterSettings;false;get_NewLineChars;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWriterSettings;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriterSettings;false;set_IndentChars;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriterSettings;false;set_NewLineChars;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;AggregateException;false;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;AggregateException;false;AggregateException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;AggregateException;false;GetBaseException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;AggregateException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;AggregateException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;AggregateException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;AppDomain;false;ApplyPolicy;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;ArgumentException;false;ArgumentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;ArgumentException;false;ArgumentException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;ArgumentException;false;ArgumentException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;ArgumentException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;ArgumentException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArgumentException;false;get_ParamName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.String,System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;ArgumentOutOfRangeException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;ArgumentOutOfRangeException;false;get_ActualValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArgumentOutOfRangeException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Array;false;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System;Array;false;AsReadOnly<>;(T[]);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System;Array;false;CopyTo;(System.Array,System.Int64);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System;Array;false;Fill<>;(T[],T);;Argument[1];Argument[0].Element;taint;generated | +| System;Array;false;Fill<>;(T[],T,System.Int32,System.Int32);;Argument[1];Argument[0].Element;taint;generated | +| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual | +| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual | +| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual | +| System;Array;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System;Array;false;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System;Array;false;Reverse;(System.Array);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Reverse;(System.Array,System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Reverse<>;(T[]);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Reverse<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System;Array;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System;Array;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System;ArraySegment<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System;ArraySegment<>;false;ArraySegment;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ArraySegment<>;false;ArraySegment;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ArraySegment<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System;ArraySegment<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;get_Array;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System;BadImageFormatException;false;BadImageFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;BadImageFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;BadImageFormatException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;get_FusionLog;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Boolean;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;Argument[1];taint;manual | +| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];Argument[1];taint;manual | +| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;taint;manual | +| System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue.Element;taint;manual | +| System;Convert;false;FromHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue.Element;taint;manual | +| System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue.Element;taint;manual | +| System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;Argument[3].Element;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[3].Element;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToHexString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[1].Element;taint;manual | +| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[2];taint;manual | +| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[1].Element;taint;manual | +| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[2];taint;manual | +| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[1].Element;taint;manual | +| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[2];taint;manual | +| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;DBNull;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;DateTime;false;GetDateTimeFormats;(System.Char,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;DateTime;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;generated | +| System;DateTime;false;ToLocalTime;();;Argument[Qualifier];ReturnValue;value;generated | +| System;DateTime;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;DateTime;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;DateTime;false;ToUniversalTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;DateTimeOffset;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;DateTimeOffset;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;DateTimeOffset;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Decimal;false;ToDecimal;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;generated | +| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[1];ReturnValue;taint;generated | +| System;Delegate;false;Combine;(System.Delegate[]);;Argument[0].Element;ReturnValue;taint;generated | +| System;Delegate;false;CreateDelegate;(System.Type,System.Reflection.MethodInfo,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;Delegate;false;DynamicInvoke;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System;Delegate;false;Remove;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System;Delegate;false;RemoveAll;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System;Delegate;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;true;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System;Delegate;true;GetInvocationList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;true;GetMethodImpl;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;true;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Double;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;Double;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Double;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Enum;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System;Enum;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Environment;false;ExpandEnvironmentVariables;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Exception;false;Exception;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;Exception;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;Exception;(System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;Exception;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;Exception;false;GetBaseException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;Exception;false;get_HelpLink;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_InnerException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_StackTrace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_TargetSite;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;set_HelpLink;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;FormattableString;false;CurrentCulture;(System.FormattableString);;Argument[0];ReturnValue;taint;generated | +| System;FormattableString;false;Invariant;(System.FormattableString);;Argument[0];ReturnValue;taint;generated | +| System;FormattableString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;FormattableString;false;ToString;(System.String,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Half;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;Half;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Int32;false;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;Argument[3];taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;Argument[1];taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint;manual | +| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint;manual | +| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;IntPtr;false;IntPtr;(System.Void*);;Argument[0];Argument[Qualifier];taint;generated | +| System;IntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Lazy<,>;false;Lazy;(TMetadata);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<,>;false;Lazy;(TMetadata,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<,>;false;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Lazy<>;false;Lazy;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual | +| System;Lazy<>;false;Lazy;(System.Func,System.Boolean);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual | +| System;Lazy<>;false;Lazy;(System.Func,System.Threading.LazyThreadSafetyMode);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual | +| System;Lazy<>;false;Lazy;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Lazy<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Memory<>;false;Memory;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;Memory<>;false;Memory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;Memory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Memory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Memory<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Index);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Range);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Index);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Range);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;EnumerateRunes;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim;(System.Memory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd;(System.Memory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart;(System.Memory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;MissingFieldException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MissingMemberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;MissingMemberException;false;MissingMemberException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;MissingMemberException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;MissingMethodException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MulticastDelegate;false;CombineImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;value;generated | +| System;MulticastDelegate;false;GetInvocationList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MulticastDelegate;false;GetMethodImpl;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;taint;generated | +| System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;value;generated | +| System;NotFiniteNumberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;Nullable;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System;Nullable<>;false;GetValueOrDefault;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value;manual | +| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value;manual | +| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value;manual | +| System;Nullable<>;false;Nullable;(T);;Argument[0];ReturnValue.Property[System.Nullable<>.Value];value;manual | +| System;Nullable<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Nullable<>;false;get_HasValue;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;taint;manual | +| System;Nullable<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;ObjectDisposedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;ObjectDisposedException;false;ObjectDisposedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;ObjectDisposedException;false;ObjectDisposedException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;ObjectDisposedException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ObjectDisposedException;false;get_ObjectName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;get_ServicePack;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;get_VersionString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Exception,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];taint;generated | +| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];taint;generated | +| System;OperationCanceledException;false;OperationCanceledException;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System;OperationCanceledException;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ReadOnlyMemory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlyMemory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlyMemory<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlySpan<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;RuntimeFieldHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;RuntimeMethodHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;RuntimeTypeHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;SequencePosition;false;GetObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;SequencePosition;false;SequencePosition;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System;Single;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;Single;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Single;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Span<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Clone;();;Argument[Qualifier];ReturnValue;value;manual | +| System;String;false;Concat;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value;manual | +| System;String;false;EnumerateRunes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.CharEnumerator.Current];value;manual | +| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Normalize;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadLeft;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadLeft;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadRight;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadRight;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Remove;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Replace;(System.String,System.String,System.Boolean,System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[1];ReturnValue;taint;generated | +| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[],System.Int32);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;String;(System.Char[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;String;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Substring;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;ToLower;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToLowerInvariant;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToString;();;Argument[Qualifier];ReturnValue;value;manual | +| System;String;false;ToString;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;manual | +| System;String;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;ToUpper;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToUpperInvariant;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Trim;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Trim;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Trim;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimEnd;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimEnd;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimEnd;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimStart;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimStart;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimStart;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual | +| System;StringNormalizationExtensions;false;Normalize;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;taint;generated | +| System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[4];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DateEnd;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DateStart;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightDelta;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionEnd;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionStart;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+TransitionTime;false;CreateFixedDateRule;(System.DateTime,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+TransitionTime;false;CreateFloatingDateRule;(System.DateTime,System.Int32,System.Int32,System.DayOfWeek);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+TransitionTime;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TimeZoneInfo+TransitionTime;false;get_TimeOfDay;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeFromUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[4];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[5].Element;ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[4];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[5].Element;ReturnValue;taint;generated | +| System;TimeZoneInfo;false;FindSystemTimeZoneById;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTime);;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTimeOffset);;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_BaseUtcOffset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_DaylightName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_StandardName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value;manual | +| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value;manual | +| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value;manual | +| System;Tuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value;manual | +| System;Tuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value;manual | +| System;Tuple;false;Create<>;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value;manual | +| System;Tuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value;manual | +| System;Tuple<,,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item6];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item7];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Rest;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value;manual | +| System;Tuple<,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item6];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item7];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value;manual | +| System;Tuple<,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item6];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value;manual | +| System;Tuple<,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value;manual | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value;manual | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value;manual | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value;manual | +| System;Tuple<,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value;manual | +| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value;manual | +| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value;manual | +| System;Tuple<,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value;manual | +| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value;manual | +| System;Tuple<,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item1];ReturnValue;value;manual | +| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item2];ReturnValue;value;manual | +| System;Tuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<>;false;Tuple;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value;manual | +| System;Tuple<>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<>.Item1];ReturnValue;value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<>;(System.Tuple,T1);;Argument[0].Property[System.Tuple<>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetConstructor;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetConstructors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetEvent;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetInterface;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMember;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMembers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetNestedTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;MakeGenericSignatureType;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System;Type;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;get_TypeInitializer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;true;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;true;GetMember;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;true;get_GenericTypeArguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TypeInitializationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TypeInitializationException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TypeLoadException;false;TypeLoadException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;TypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TypeLoadException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UIntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UIntPtr;false;UIntPtr;(System.Void*);;Argument[0];Argument[Qualifier];taint;generated | +| System;UnhandledExceptionEventArgs;false;UnhandledExceptionEventArgs;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System;UnhandledExceptionEventArgs;false;get_ExceptionObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;EscapeDataString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;EscapeString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;EscapeUriString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;GetComponents;(System.UriComponents,System.UriFormat);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;GetLeftPart;(System.UriPartial);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;Uri;false;MakeRelative;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;MakeRelativeUri;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;TryCreate;(System.String,System.UriKind,System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[1];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[1];ReturnValue;taint;generated | +| System;Uri;false;UnescapeDataString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;Uri;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Uri;false;Uri;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Uri;false;Uri;(System.String,System.UriKind);;Argument[0];ReturnValue;taint;manual | +| System;Uri;false;Uri;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[1];Argument[Qualifier];taint;generated | +| System;Uri;false;get_Authority;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_DnsSafeHost;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_IdnHost;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_LocalPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;get_PathAndQuery;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;get_Query;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_UserInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;get_Fragment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Password;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Query;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;set_Fragment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Query;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Scheme;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;UriParser;false;Register;(System.UriParser,System.String,System.Int32);;Argument[1];Argument[0];taint;generated | +| System;UriParser;true;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);;Argument[0];ReturnValue;taint;generated | +| System;UriParser;true;OnNewUri;();;Argument[Qualifier];ReturnValue;value;generated | +| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[0];ReturnValue;taint;generated | +| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[1];ReturnValue;taint;generated | +| System;UriTypeConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System;UriTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value;manual | +| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value;manual | +| System;ValueTuple;false;Create<>;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value;manual | +| System;ValueTuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item6];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item7];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item6];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item7];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item6];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value;manual | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value;manual | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value;manual | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value;manual | +| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value;manual | +| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value;manual | +| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value;manual | +| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value;manual | +| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<>;false;ValueTuple;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value;manual | +| System;ValueTuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<>.Item1];ReturnValue;value;manual | diff --git a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected index 68fda845a4a..a77b56ab64b 100644 --- a/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected +++ b/csharp/ql/test/library-tests/dataflow/library/FlowSummariesFiltered.expected @@ -1,9355 +1,9201 @@ -| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;Convert;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable,System.Type,System.Collections.Generic.IEnumerable);;Argument[4].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;IsEvent;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;generated:taint | -| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;Extensions;false;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);;Argument[0];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer+Enumerator;false;Enumerator;(Microsoft.Extensions.Primitives.StringTokenizer);;Argument[0].Element;Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(System.String,System.Char[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| Microsoft.Extensions.Primitives;StringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[1].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;GetHashCode;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;IsNullOrEmpty;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;ToArray;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_Count;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[0];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];ReturnValue;taint | -| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint | -| Microsoft.VisualBasic;Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| Microsoft.VisualBasic;Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.VisualBasic;Collection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.VisualBasic;Collection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| Microsoft.Win32.SafeHandles;SafeFileHandle;false;SafeFileHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Win32.SafeHandles;SafePipeHandle;false;SafePipeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Win32.SafeHandles;SafeProcessHandle;false;SafeProcessHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Microsoft.Win32.SafeHandles;SafeWaitHandle;false;SafeWaitHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JConstructor;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JConstructor;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JContainer;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String,Newtonsoft.Json.Linq.JsonLoadSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value | -| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,Newtonsoft.Json.Linq.JsonSelectSettings);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;ToString;();;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json.Linq;JToken;false;ToString;(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[Qualifier];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object);;Argument[0];Argument[1];taint | -| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];Argument[1];taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Enum);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Guid);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.String);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.TimeSpan);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonConvert;false;ToString;(System.Uri);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint | -| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint | -| System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[2];Argument[Qualifier];generated:taint | -| System.Buffers;MemoryHandle;false;get_Pointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;MemoryManager<>;true;get_Memory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>+Enumerator;false;Enumerator;(System.Buffers.ReadOnlySequence<>);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[2];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64);;Argument[Qualifier];ReturnValue;generated:value | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[1];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;TryGet;(System.SequencePosition,System.ReadOnlyMemory,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;get_End;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;get_First;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;ReadOnlySequence<>;false;get_Start;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;SequenceReader;(System.Buffers.ReadOnlySequence);;Argument[0];Argument[Qualifier];generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,T,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;TryReadToAny;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;get_Position;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Buffers;SequenceReader<>;false;get_UnreadSequence;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Tool;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.CodeDom.Compiler;IndentedTextWriter;false;get_InnerWriter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Concurrent;ConcurrentBag<>;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentBag<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetOrAdd;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Concurrent;ConcurrentStack<>;false;ConcurrentStack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Concurrent;ConcurrentStack<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;IProducerConsumerCollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Concurrent;OrderablePartitioner<>;false;GetDynamicPartitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable,System.Collections.Concurrent.EnumerablePartitionerOptions);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IList,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Concurrent;Partitioner;false;Create<>;(TSource[],System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;Remove<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;Argument[2];generated:taint | -| System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[1];Argument[0].Element;generated:taint | -| System.Collections.Generic;CollectionExtensions;false;TryAdd<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[2];Argument[0].Element;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Entry;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+KeyCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+KeyCollection+Enumerator.Current];value | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Dictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+ValueCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+ValueCollection+Enumerator.Current];value | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Dictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Int32,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+Enumerator.Current];value | -| System.Collections.Generic;Dictionary<,>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;Dictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Dictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;Dictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;Dictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;HashSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.HashSet<>+Enumerator.Current];value | -| System.Collections.Generic;HashSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;HashSet<>;false;HashSet;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;HashSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;HashSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;ICollection<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;ICollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;IDictionary<,>;true;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Generic;IDictionary<,>;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;IDictionary<,>;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;IEnumerable<>;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;IList<>;true;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;IList<>;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;IList<>;true;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Generic;ISet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Generic;KeyValuePair;false;Create<,>;(TKey,TValue);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair;false;Create<,>;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair<,>;false;Deconstruct;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[0];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[1];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;KeyValuePair<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;KeyValuePair<,>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;Find;(T);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;LinkedList<>;false;FindLast;(T);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.LinkedList<>+Enumerator.Current];value | -| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;Remove;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedList<>;false;get_First;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;get_Last;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;LinkedListNode<>;false;LinkedListNode;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_Next;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_Previous;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;LinkedListNode<>;false;set_Value;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;List<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;List<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.List<>+Enumerator.Current];value | -| System.Collections.Generic;List<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections.Generic;List<>;false;List;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;List<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;List<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;Queue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Queue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;Enqueue;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Queue<>+Enumerator.Current];value | -| System.Collections.Generic;Queue<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;Queue<>;false;Queue;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Queue<>;false;TryDequeue;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Queue<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+KeyCollection+Enumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+ValueCollection+Enumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+Enumerator.Current];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;SortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Generic;SortedList<,>;false;TryGetValue;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedList<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedList<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Generic;SortedList<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;SortedList<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedSet<>+Enumerator.Current];value | -| System.Collections.Generic;SortedSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;SortedSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;SortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Generic;Stack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Stack<>+Enumerator.Current];value | -| System.Collections.Generic;Stack<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;Stack<>;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Generic;Stack<>;false;Push;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Generic;Stack<>;false;Stack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Generic;Stack<>;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Generic;Stack<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;IImmutableDictionary<,>;true;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;IImmutableList<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;IImmutableList<>;true;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;IImmutableSet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[3];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;Create<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray;false;ToImmutableArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>+Builder);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(T[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(TDerived[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;MoveToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableArray<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;As<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;AsMemory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;CastArray<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;CastUp<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;OfType<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;CreateRange<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[2].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;GetValueOrDefault<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Immutable.ImmutableDictionary+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableHashSet;false;Create<>;(System.Collections.Generic.IEqualityComparer,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Immutable.ImmutableHashSet+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableHashSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableHashSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;WithComparer;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableHashSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableHashSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableInterlocked;false;GetOrAdd<,>;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Remove<>;(System.Collections.Immutable.IImmutableList,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;RemoveRange<>;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];Argument[0].Element;generated:taint | -| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Immutable.ImmutableList+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value | -| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableList<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableList<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue;false;Dequeue<>;(System.Collections.Immutable.IImmutableQueue,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableQueue<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableQueue<>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable>);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable>);;Argument[2].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateRange<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T[]);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateBuilder<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Immutable.ImmutableSortedSet+Builder);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Max;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Min;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;WithComparer;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Max;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Min;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableSortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Immutable;ImmutableStack;false;Create<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack;false;Pop<>;(System.Collections.Immutable.IImmutableStack,T);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableStack<>+Enumerator.Current];value | -| System.Collections.Immutable;ImmutableStack<>;false;Peek;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Pop;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Pop;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[0];ReturnValue;generated:taint | -| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;Collection<>;false;Collection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;Collection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;Collection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;KeyedCollection;(System.Collections.Generic.IEqualityComparer,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;TryGetValue;(TKey,TItem);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Item;(TKey);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;ReadOnlyCollection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;HybridDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;IOrderedDictionary;true;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;ListDictionary;false;ListDictionary;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;ListDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllKeys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameObjectCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;NameObjectCollectionBase;true;get_Keys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;Add;(System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Specialized;NameValueCollection;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;NameValueCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Int32,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;Set;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NameValueCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NameValueCollection;false;set_Item;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_NewItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_OldItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections.Specialized;OrderedDictionary;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Int32,System.Collections.IEqualityComparer);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections.Specialized;OrderedDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections.Specialized;StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Specialized.StringEnumerator.Current];value | -| System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections.Specialized;StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections.Specialized;StringDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections.Specialized;StringDictionary;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;StringDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections.Specialized;StringEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Adapter;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;AddRange;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Collections;ArrayList;false;ArrayList;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections;ArrayList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;CopyTo;(System.Array);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Collections;ArrayList;false;FixedSize;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;FixedSize;(System.Collections.IList);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;GetEnumerator;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;ArrayList;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;InsertRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Collections;ArrayList;false;ReadOnly;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;ReadOnly;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Repeat;(System.Object,System.Int32);;Argument[0];ReturnValue.Element;value | -| System.Collections;ArrayList;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;ArrayList;false;SetRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Collections;ArrayList;false;Synchronized;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;Synchronized;(System.Collections.IList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;ArrayList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;And;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;BitArray;false;LeftShift;(System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Not;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Or;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;RightShift;(System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;Xor;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;BitArray;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections;CollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;CollectionBase;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;CollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Comparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_InnerHashtable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryBase;true;OnGet;(System.Object,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;Deconstruct;(System.Object,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections;DictionaryEntry;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;DictionaryEntry;false;set_Key;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;DictionaryEntry;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IEqualityComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[3];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;Synchronized;(System.Collections.Hashtable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;Hashtable;false;get_EqualityComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;Hashtable;false;get_comparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;get_hcp;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Hashtable;false;set_comparer;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Hashtable;false;set_hcp;(System.Collections.IHashCodeProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;ICollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;IDictionary;true;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;IDictionary;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value | -| System.Collections;IDictionary;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;IEnumerable;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Collections;IList;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Collections;IList;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;IList;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;IList;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Collections;Queue;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;Queue;false;Dequeue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Queue;false;Enqueue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Queue;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;Queue;false;Queue;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections;Queue;false;Synchronized;(System.Collections.Queue);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;Queue;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;ReadOnlyCollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;ReadOnlyCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;SortedList;false;GetByIndex;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;GetKeyList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;SortedList;false;GetValueList;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value | -| System.Collections;SortedList;false;SetByIndex;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Collections;SortedList;false;SortedList;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Collections;SortedList;false;Synchronized;(System.Collections.SortedList);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;SortedList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Collections;Stack;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Collections;Stack;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;Stack;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value | -| System.Collections;Stack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Collections;Stack;false;Stack;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Collections;Stack;false;Synchronized;(System.Collections.Stack);;Argument[0].Element;ReturnValue;generated:taint | -| System.Collections;Stack;false;ToArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Collections;Stack;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;get_Schema;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;set_Schema;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;AssociatedMetadataTypeTypeDescriptionProvider;(System.Type,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateField;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetOrder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Prompt;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ResourceType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ShortName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_GroupName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Prompt;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ShortName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayText;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayTextResourceType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayTextResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;get_Extensions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;set_Extensions;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;FilterUIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;MetadataTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;get_MetadataClassType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;UIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessage;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationAttribute;true;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationContext;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationContext;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.DataAnnotations;ValidationContext;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationException;false;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.DataAnnotations;ValidationException;false;get_ValidationResult;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;Append;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;Pop;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;DesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design.Serialization;RootDesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerCollection;false;DesignerCollection;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel.Design;DesignerCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerOptionService;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;DesignerVerb;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerVerbCollection;false;Add;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerbCollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;CopyTo;(System.ComponentModel.Design.DesignerVerb[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;DesignerVerbCollection;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerVerbCollection;false;Insert;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;Remove;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel.Design;DesignerVerbCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel.Design;DesignerVerbCollection;false;set_Item;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel.Design;MenuCommand;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;ServiceContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel.Design;ServiceContainer;false;ServiceContainer;(System.IServiceProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ArrayConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;AsyncOperation;false;get_SynchronizationContext;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;AttributeCollection;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;AttributeCollection;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;AttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];Argument[1];generated:taint | -| System.ComponentModel;CategoryAttribute;false;CategoryAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;CategoryAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CharConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;CollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Component;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ComponentCollection;false;ComponentCollection;(System.ComponentModel.IComponent[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;ComponentCollection;false;CopyTo;(System.ComponentModel.IComponent[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.ComponentModel;ComponentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ComponentCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String,System.Globalization.CultureInfo);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;Container;false;Add;(System.ComponentModel.IComponent,System.String);;Argument[1];Argument[0];generated:taint | -| System.ComponentModel;Container;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;Container;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;Container;false;get_Components;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ContainerFilterService;true;FilterComponents;(System.ComponentModel.ComponentCollection);;Argument[0].Element;ReturnValue;generated:taint | -| System.ComponentModel;CultureInfoConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CultureInfoConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;CultureInfoConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;false;CustomTypeDescriptor;(System.ComponentModel.ICustomTypeDescriptor);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;CustomTypeDescriptor;true;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;DecimalConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;DefaultValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;DesignerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EditorAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Add;(System.ComponentModel.EventDescriptor);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;EventDescriptorCollection;(System.ComponentModel.EventDescriptor[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;EventDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.EventDescriptor);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;EventDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;AddHandlers;(System.ComponentModel.EventHandlerList);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;get_Item;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;GuidConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;IBindingList;true;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicFileLicenseProvider;false;GetKey;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;LicFileLicenseProvider;false;GetLicense;(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;LicenseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;get_LicenseProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;LicenseProviderAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ListSortDescriptionCollection;false;ListSortDescriptionCollection;(System.ComponentModel.ListSortDescription[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;ListSortDescriptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;ListSortDescriptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.ComponentModel.ListSortDescription);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;MarshalByValueComponent;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MarshalByValueComponent;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MarshalByValueComponent;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MarshalByValueComponent;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToDisplayString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;GetInvokee;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;GetSite;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;MemberDescriptor;true;CreateAttributeCollection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.ComponentModel;MemberDescriptor;true;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_AttributeArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;MemberDescriptor;true;set_AttributeArray;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;MultilineStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;NestedContainer;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;NestedContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;generated:value | -| System.ComponentModel;NullableConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;NullableConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;ProgressChangedEventArgs;false;ProgressChangedEventArgs;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.ComponentModel;ProgressChangedEventArgs;false;get_UserState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;false;GetValueChangedHandler;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptor;true;get_Converter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.PropertyDescriptor);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.String,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.Type,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;PropertyTabAttribute;false;get_TabClasses;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ReferenceConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;ReferenceConverter;false;ReferenceConverter;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;RunWorkerCompletedEventArgs;false;RunWorkerCompletedEventArgs;(System.Object,System.Exception,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;RunWorkerCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;StringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;ToolboxItemFilterAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter+StandardValuesCollection;false;StandardValuesCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;TypeConverter+StandardValuesCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertTo;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;ConvertToString;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;GetProperties;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;GetStandardValues;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeConverter;false;SortProperties;(System.ComponentModel.PropertyDescriptorCollection,System.String[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;false;TypeDescriptionProvider;(System.ComponentModel.TypeDescriptionProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetReflectionType;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetRuntimeType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Object,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Type,System.Attribute[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetAssociation;(System.Type,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetProvider;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeDescriptor;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.ComponentModel;TypeListConverter;false;TypeListConverter;(System.Type[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.ComponentModel;VersionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.ComponentModel;WarningException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;Win32Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.ComponentModel;Win32Exception;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataAdapter;false;get_TableMappings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.String,System.String,System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;get_DataSetColumn;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMapping;false;set_DataSetColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMapping;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Data.Common.DataColumnMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Data.Common.DataColumnMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;GetByDataSetColumn;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;GetDataColumn;(System.Data.Common.DataColumnMappingCollection,System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[3];ReturnValue;generated:taint | -| System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataColumnMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMapping;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetDataColumn;(System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;get_ColumnMappings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;get_DataSetTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;get_SourceTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMapping;false;set_DataSetTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMapping;false;set_SourceTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Data.Common.DataTableMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Data.Common.DataTableMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data.Common;DataTableMappingCollection;false;GetByDataSetTable;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[2];ReturnValue;generated:taint | -| System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DataTableMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;ExecuteReaderAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;false;set_Connection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;false;set_Connection;(System.Data.IDbConnection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.IDbTransaction);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommand;true;ExecuteDbDataReaderAsync;(System.Data.CommandBehavior,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommand;true;PrepareAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;RowUpdatingHandler;(System.Data.Common.RowUpdatingEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.Common;DbCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;false;set_DataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_CatalogSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_QuotePrefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_QuoteSuffix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;get_SchemaSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_CatalogSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_QuotePrefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_QuoteSuffix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbCommandBuilder;true;set_SchemaSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnection;true;ChangeDatabaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbConnection;true;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[1];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[2];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[1];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[2];Argument[0];generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DbConnectionStringBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value | -| System.Data.Common;DbConnectionStringBuilder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Data.Common;DbDataAdapter;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;DbDataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;false;GetFieldValueAsync<>;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetFieldValue<>;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetFieldValueAsync<>;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data.Common;DbDataReader;true;GetSchemaTableAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataReader;true;GetTextReader;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbDataRecord;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value | -| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;DbEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DbParameterCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;true;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Common;DbParameterCollection;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data.Common;DbTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;CommitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;ReleaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;RollbackAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;RollbackAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Data.Common;DbTransaction;true;SaveAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatedEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;set_Command;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.Common;RowUpdatingEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;SqlBinary;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[1].Element;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;Write;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlBytes;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;get_Stream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlBytes;false;set_Stream;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlChars;false;SqlChars;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlChars;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlChars;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Abs;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;AdjustScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Ceiling;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;ConvertToPrecScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;GetNonUnicodeBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;GetUnicodeBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlString;false;SqlString;(System.Int32,System.Data.SqlTypes.SqlCompareOptions,System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlString;false;SqlString;(System.String,System.Int32,System.Data.SqlTypes.SqlCompareOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data.SqlTypes;SqlString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;Constraint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;true;get_ConstraintName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;true;get__DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;Constraint;true;set_ConstraintName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.Data.Constraint);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;AddRange;(System.Data.Constraint[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;ConstraintCollection;false;CopyTo;(System.Data.Constraint[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;ConstraintCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;ConstraintCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Data;DBConcurrencyException;false;DBConcurrencyException;(System.String,System.Exception,System.Data.DataRow[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data;DBConcurrencyException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data;DBConcurrencyException;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DBConcurrencyException;false;set_Row;(System.Data.DataRow);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Caption;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_ColumnName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumn;false;set_Caption;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_ColumnName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_DataType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_DefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_Expression;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumn;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataColumnChangeEventArgs;false;DataColumnChangeEventArgs;(System.Data.DataRow,System.Data.DataColumn,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataColumnChangeEventArgs;false;get_Column;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;Add;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;Add;(System.Data.DataColumn);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataColumnCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataColumnCollection;false;Add;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;Add;(System.String,System.Type,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;AddRange;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;DataColumnCollection;false;CopyTo;(System.Data.DataColumn[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataColumnCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataColumnCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetDateTime;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetFieldValue<>;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetFieldValueAsync<>;(System.Data.Common.DbDataReader,System.String,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetGuid;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetProviderSpecificValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetString;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetTextReader;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataReaderExtensions;false;GetValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[5].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[6].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Data;DataRelation;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ChildColumns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ChildKeyConstraint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ParentColumns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_ParentKeyConstraint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;get_RelationName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelation;false;set_RelationName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;false;Add;(System.Data.DataRelation);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataRelationCollection;false;CopyTo;(System.Data.DataRelation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataRelationCollection;false;Remove;(System.Data.DataRelation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.Data.DataColumn,System.Data.DataColumn);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRelationCollection;true;AddRange;(System.Data.DataRelation[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;DataRow;false;DataRow;(System.Data.DataRowBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetChildRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;GetParentRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;SetNull;(System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;SetParentRow;(System.Data.DataRow,System.Data.DataRelation);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;get_Item;(System.Data.DataColumn);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.Data.DataColumn,System.Data.DataRowVersion);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.Int32,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Item;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_ItemArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_RowError;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRow;false;set_Item;(System.Data.DataColumn,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRow;false;set_RowError;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataRowCollection;false;Add;(System.Data.DataRow);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataRowCollection;false;Add;(System.Object[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataRowCollection;false;CopyTo;(System.Data.DataRow[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataRowCollection;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataRowCollection;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataRowCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowExtensions;false;SetField<>;(System.Data.DataRow,System.Data.DataColumn,T);;Argument[1];Argument[0];generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;CreateChildView;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataRowView;false;get_DataView;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataRowView;false;get_Row;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;CreateDataReader;(System.Data.DataTable[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Data;DataSet;false;DataSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;DataSet;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;GetChanges;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;GetList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data;DataSet;false;get_DataSetName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_DefaultViewManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Locale;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Relations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;get_Tables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataSet;false;set_DataSetName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataSet;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;DataTable;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;DataTable;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;DataTable;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;GetChanges;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetErrors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Data.LoadOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;NewRow;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;NewRowArray;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;NewRowFromBuilder;(System.Data.DataRowBuilder);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataTable;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_ChildRelations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_DefaultView;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_DisplayExpression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Locale;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_ParentRelations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Rows;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;get_TableName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTable;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_PrimaryKey;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTable;false;set_TableName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTableCollection;false;Add;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;Add;(System.Data.DataTable);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataTableCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;AddRange;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data;DataTableCollection;false;CopyTo;(System.Data.DataTable[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataTableCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableCollection;false;get_List;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableExtensions;false;AsEnumerable;(System.Data.DataTable);;Argument[0];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Data;DataTableReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataTableReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;AddNew;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;FindRows;(System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;FindRows;(System.Object[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;GetItemProperties;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;(System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;ToTable;(System.String,System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;DataView;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataView;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataView;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataView;false;set_Table;(System.Data.DataTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewManager;false;CreateDataView;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;get_DataViewSettings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewManager;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataViewManager;false;set_DataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewSetting;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;get_Sort;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;get_Table;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSetting;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewSetting;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;DataViewSettingCollection;false;CopyTo;(System.Data.DataViewSetting[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Data;DataViewSettingCollection;false;get_Item;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSettingCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSettingCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;DataViewSettingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[0];Argument[1];generated:taint | -| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];generated:taint | -| System.Data;DataViewSettingCollection;false;set_Item;(System.Int32,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];generated:taint | -| System.Data;EnumerableRowCollectionExtensions;false;Cast<>;(System.Data.EnumerableRowCollection);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data;FillErrorEventArgs;false;get_DataTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;FillErrorEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;FillErrorEventArgs;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;FillErrorEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Data;ForeignKeyConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;ForeignKeyConstraint;false;get_RelatedColumns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;IColumnMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;IColumnMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;IDataParameterCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;IDataParameterCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;ITableMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Data;ITableMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Data;InternalDataCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Data;PropertyCollection;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBase<>;false;Cast<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Data;TypedTableBaseExtensions;false;AsEnumerable<>;(System.Data.TypedTableBase);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;ElementAtOrDefault<>;(System.Data.TypedTableBase,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Data;UniqueConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractClassAttribute;false;ContractClassAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractClassAttribute;false;get_TypeContainingContracts;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractClassForAttribute;false;ContractClassForAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractClassForAttribute;false;get_TypeContractsAreFor;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Condition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_OriginalException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Setting;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;ContractPublicPropertyNameAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayUnits;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayUnits;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;DisableEvents;(System.Diagnostics.Tracing.EventSource);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);;Argument[Qualifier];Argument[0];generated:taint | -| System.Diagnostics.Tracing;EventSource;false;EventSource;(System.Diagnostics.Tracing.EventSourceSettings,System.String[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GetName;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;GetTrait;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;get_ConstructionException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;get_Guid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventSource;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_ActivityId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_EventName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_PayloadNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_RelatedActivityId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;AddBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;AddEvent;(System.Diagnostics.ActivityEvent);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;AddTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;AddTag;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;SetEndTime;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetIdFormat;(System.Diagnostics.ActivityIdFormat);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetStartTime;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;SetTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;Start;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;Activity;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_Events;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_Links;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_ParentId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_ParentSpanId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_RootId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_SpanId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_TagObjects;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_TraceId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;get_TraceStateString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Activity;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Activity;false;set_TraceStateString;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ActivityCreationOptions<>;false;get_SamplingTags;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivitySource;false;StartActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.DateTimeOffset);;Argument[2];ReturnValue;generated:taint | -| System.Diagnostics;ActivitySpanId;false;ToHexString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivitySpanId;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTagsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Diagnostics.ActivityTagsCollection+Enumerator.Current];value | -| System.Diagnostics;ActivityTagsCollection;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTraceId;false;ToHexString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ActivityTraceId;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;CorrelationManager;false;get_LogicalOperationStack;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DataReceivedEventArgs;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerDisplayAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerDisplayAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DebuggerTypeProxyAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerTypeProxyAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DebuggerVisualizerAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DebuggerVisualizerAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DefaultTraceListener;false;get_LogFileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DefaultTraceListener;false;set_LogFileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DelimitedListTraceListener;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DelimitedListTraceListener;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;DiagnosticSource;false;StartActivity;(System.Diagnostics.Activity,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;GetVersionInfo;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_Comments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_CompanyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_FileDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_FileVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_InternalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_Language;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_LegalCopyright;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_LegalTrademarks;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_OriginalFilename;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_PrivateBuild;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_ProductName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_ProductVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;FileVersionInfo;false;get_SpecialBuild;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;GetProcessById;(System.Int32,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;GetProcesses;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;Start;(System.Diagnostics.ProcessStartInfo);;Argument[0];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_ExitTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MachineName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MainModule;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MaxWorkingSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_MinWorkingSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_Modules;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_ProcessorAffinity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StandardError;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StandardInput;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StandardOutput;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StartInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_StartTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;get_Threads;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Process;false;set_ProcessorAffinity;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Process;false;set_StartInfo;(System.Diagnostics.ProcessStartInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessModule;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessModule;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessModule;false;get_ModuleName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessModuleCollection;false;CopyTo;(System.Diagnostics.ProcessModule[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;ProcessModuleCollection;false;ProcessModuleCollection;(System.Diagnostics.ProcessModule[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessModuleCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_Environment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_EnvironmentVariables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_Verb;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;get_WorkingDirectory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_Arguments;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_Verb;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessStartInfo;false;set_WorkingDirectory;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessThread;false;get_StartAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;ProcessThreadCollection;false;Add;(System.Diagnostics.ProcessThread);;Argument[0];Argument[Qualifier].Element;value | -| System.Diagnostics;ProcessThreadCollection;false;CopyTo;(System.Diagnostics.ProcessThread[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;ProcessThreadCollection;false;Insert;(System.Int32,System.Diagnostics.ProcessThread);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessThreadCollection;false;ProcessThreadCollection;(System.Diagnostics.ProcessThread[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Diagnostics;ProcessThreadCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SourceFilter;false;SourceFilter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SourceFilter;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SourceFilter;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackFrame;false;GetFileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackFrame;false;GetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackFrame;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackTrace;false;GetFrame;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;StackTrace;false;StackTrace;(System.Diagnostics.StackFrame);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;StackTrace;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Diagnostics;Switch;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;get_Description;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;Switch;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;get_SwitchName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SwitchAttribute;false;get_SwitchType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SwitchAttribute;false;set_SwitchName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchAttribute;false;set_SwitchType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchLevelAttribute;false;SwitchLevelAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;SwitchLevelAttribute;false;get_SwitchLevelType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;SwitchLevelAttribute;false;set_SwitchLevelType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TextWriterTraceListener;false;set_Writer;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceEventCache;false;get_Callstack;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceEventCache;false;get_DateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;false;TraceListener;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceListener;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;false;set_Filter;(System.Diagnostics.TraceFilter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceListener;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceListener;true;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceListenerCollection;false;Add;(System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListenerCollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListener[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Diagnostics.TraceListener[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Diagnostics;TraceListenerCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value | -| System.Diagnostics;TraceSource;false;TraceSource;(System.String,System.Diagnostics.SourceLevels);;Argument[0];Argument[Qualifier];generated:taint | -| System.Diagnostics;TraceSource;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;get_Listeners;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;get_Switch;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[Qualifier];generated:taint | -| System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;Color;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Drawing;Color;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Drawing;ColorConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;RectangleF;false;Inflate;(System.Drawing.RectangleF,System.Single,System.Single);;Argument[0];ReturnValue;generated:taint | -| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Dynamic;BindingRestrictions;false;Merge;(System.Dynamic.BindingRestrictions);;Argument[Qualifier];ReturnValue;generated:value | -| System.Dynamic;BindingRestrictions;false;ToExpression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Dynamic;DynamicMetaObject;false;Create;(System.Object,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Dynamic;DynamicMetaObject;false;DynamicMetaObject;(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.Dynamic;DynamicMetaObject;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Dynamic;ExpandoObject;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[2];Argument[Qualifier];generated:taint | -| System.Formats.Asn1;AsnReader;false;PeekContentBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;PeekEncodedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadEncodedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadEnumeratedBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadIntegerBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Boolean,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveBitString;(System.Int32,System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveCharacterStringBytes;(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveOctetString;(System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnWriter;false;PushOctetString;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnWriter;false;PushSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Formats.Asn1;AsnWriter;false;PushSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;Calendar;false;ReadOnly;(System.Globalization.Calendar);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CompareInfo;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;CultureInfo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureInfo;false;GetConsoleFallbackUICulture;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetCultureInfoByIetfLanguageTag;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;ReadOnly;(System.Globalization.CultureInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_EnglishName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_NativeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_NumberFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;get_TextInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureInfo;false;set_DateTimeFormat;(System.Globalization.DateTimeFormatInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureInfo;false;set_NumberFormat;(System.Globalization.NumberFormatInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;CultureNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Globalization;CultureNotFoundException;false;get_InvalidCultureId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureNotFoundException;false;get_InvalidCultureName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;CultureNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedEraName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetAllDateTimePatterns;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetEraName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;GetShortestDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;ReadOnly;(System.Globalization.DateTimeFormatInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;SetAllDateTimePatterns;(System.String[],System.Char);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_AMDesignator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_DateSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_MonthDayPattern;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_PMDesignator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;get_TimeSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AMDesignator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_Calendar;(System.Globalization.Calendar);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_DateSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_DayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_FullDateTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_LongDatePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_LongTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_MonthDayPattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_MonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_MonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_PMDesignator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_ShortDatePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_ShortTimePattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_ShortestDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_TimeSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DateTimeFormatInfo;false;set_YearMonthPattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint | -| System.Globalization;DaylightTime;false;get_Delta;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DaylightTime;false;get_End;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;DaylightTime;false;get_Start;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;GlobalizationExtensions;false;GetStringComparer;(System.Globalization.CompareInfo,System.Globalization.CompareOptions);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetAscii;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetUnicode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;ReadOnly;(System.Globalization.NumberFormatInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_CurrencyDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_CurrencyGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_CurrencySymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NaNSymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NegativeInfinitySymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NegativeSign;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NumberDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_NumberGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PerMilleSymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PercentDecimalSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PercentGroupSeparator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PercentSymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PositiveInfinitySymbol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;get_PositiveSign;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;NumberFormatInfo;false;set_CurrencyDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_CurrencyGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_CurrencySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NaNSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NativeDigits;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NegativeInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NegativeSign;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NumberDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_NumberGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PerMilleSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PercentDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PercentGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PercentSymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PositiveInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;NumberFormatInfo;false;set_PositiveSign;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;RegionInfo;false;RegionInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;RegionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;RegionInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;RegionInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;SortKey;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;SortKey;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;SortVersion;false;SortVersion;(System.Int32,System.Guid);;Argument[1];Argument[Qualifier];generated:taint | -| System.Globalization;SortVersion;false;get_SortId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetNextTextElement;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetNextTextElement;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;StringInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;get_String;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;StringInfo;false;set_String;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Globalization;TextElementEnumerator;false;GetTextElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ReadOnly;(System.Globalization.TextInfo);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToLower;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToTitleCase;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;ToUpper;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;get_CultureName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Globalization;TextInfo;false;set_ListSeparator;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;BrotliStream;false;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;BrotliStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];ReturnValue;taint | -| System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;DeflateStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;GZipStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO.Compression;ZipArchive;false;get_Entries;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;Open;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_Archive;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_LastWriteTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Compression;ZipArchiveEntry;false;set_LastWriteTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Compression;ZipFile;false;Open;(System.String,System.IO.Compression.ZipArchiveMode,System.Text.Encoding);;Argument[2];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;generated:taint | -| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[2];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEntry;false;ToFileSystemInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEntry;false;ToSpecifiedFullPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEntry;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemEnumerator<>;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Enumeration;FileSystemName;false;TranslateWin32Expression;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorage;false;get_ApplicationIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorage;false;get_AssemblyIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorage;false;get_DomainIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedFile;false;CreateFromFile;(System.IO.FileStream,System.String,System.Int64,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,System.IO.HandleInheritability,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedFile;false;get_SafeMemoryMappedFileHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedViewAccessor;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.MemoryMappedFiles;MemoryMappedViewStream;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;AnonymousPipeClientStream;false;AnonymousPipeClientStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO.Pipes;AnonymousPipeServerStream;false;get_ClientSafePipeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO.Pipes;NamedPipeServerStream;false;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO.Pipes;NamedPipeServerStream;false;WaitForConnectionAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO.Pipes;PipeStream;false;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO.Pipes;PipeStream;false;get_SafePipeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;BinaryReader;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.IO;BinaryReader;false;ReadBytes;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;DisposeAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BinaryWriter;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;BinaryWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;BufferedStream;false;BufferedStream;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;BufferedStream;false;get_UnderlyingStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Directory;false;CreateDirectory;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;Directory;false;GetParent;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;DirectoryInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DirectoryInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;DirectoryInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;DriveInfo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;DriveInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;get_RootDirectory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;DriveInfo;false;get_VolumeLabel;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;ErrorEventArgs;false;ErrorEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;ErrorEventArgs;false;GetException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;ReadLines;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint | -| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[1];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.IO;FileInfo;false;CopyTo;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileInfo;false;CopyTo;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileInfo;false;MoveTo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileInfo;false;get_Directory;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileInfo;false;get_DirectoryName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.IO;FileLoadException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;FileStream;false;get_SafeFileHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;FileSystemEventArgs;false;get_FullPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;false;get_Extension;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;true;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemInfo;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;get_Filter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;get_Filters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;FileSystemWatcher;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;FileSystemWatcher;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;GetBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[]);;Argument[0];ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System.IO;MemoryStream;false;ToArray;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;MemoryStream;false;TryGetBuffer;(System.ArraySegment);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;MemoryStream;false;WriteTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];generated:taint | -| System.IO;Path;false;ChangeExtension;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Combine;(System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint | -| System.IO;Path;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetDirectoryName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetDirectoryName;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetExtension;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFileName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetFileName;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFileNameWithoutExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetFileNameWithoutExtension;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFullPath;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetFullPath;(System.String,System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetPathRoot;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.IO;Path;false;GetPathRoot;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;Path;false;GetRelativePath;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;generated:taint | -| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3];ReturnValue;generated:taint | -| System.IO;Path;false;TrimEndingDirectorySeparator;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.IO;Path;false;TrimEndingDirectorySeparator;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;RenamedEventArgs;false;get_OldFullPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;RenamedEventArgs;false;get_OldName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;false;CopyTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;false;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;false;Synchronized;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.IO;Stream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;true;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;true;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint | -| System.IO;Stream;true;FlushAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;true;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint | -| System.IO;Stream;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint | -| System.IO;Stream;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;StreamWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StreamWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringReader;false;StringReader;(System.String);;Argument[0];ReturnValue;taint | -| System.IO;StringWriter;false;GetStringBuilder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;StringWriter;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;Write;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;Write;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;StringWriter;false;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextReader;false;Synchronized;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextReader;true;Read;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadLine;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextReader;true;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint | -| System.IO;TextWriter;false;Synchronized;(System.IO.TextWriter);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;false;TextWriter;(System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;FlushAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLine;(System.Text.StringBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;get_FormatProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;get_NewLine;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.IO;TextWriter;true;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryAccessor;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];generated:taint | -| System.IO;UnmanagedMemoryStream;false;get_PositionPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BinaryExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;BinaryExpression;false;get_Conversion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BinaryExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;Update;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;BlockExpression;false;get_Expressions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;BlockExpression;false;get_Variables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;CatchBlock;false;Update;(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;ConditionalExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;ConditionalExpression;false;get_IfFalse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Rewrite;(System.Linq.Expressions.Expression[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;DynamicExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;DynamicExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ElementInit;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ArrayAccess;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ArrayIndex;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Coalesce;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Reflection.FieldInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GetActionType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GetFuncType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;IfThenElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Invoke;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeIndex;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MakeMemberAccess;(System.Linq.Expressions.Expression,System.Reflection.MemberInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Reflection.MemberInfo[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ReduceAndCheck;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ReduceExtensions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;TryGetActionType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;false;TryGetFuncType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression;true;Reduce;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];generated:taint | -| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;Expression<>;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitCatchBlock;(System.Linq.Expressions.CatchBlock);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitConstant;(System.Linq.Expressions.ConstantExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitDebugInfo;(System.Linq.Expressions.DebugInfoExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitDefault;(System.Linq.Expressions.DefaultExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitElementInit;(System.Linq.Expressions.ElementInit);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitGoto;(System.Linq.Expressions.GotoExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitIndex;(System.Linq.Expressions.IndexExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitInvocation;(System.Linq.Expressions.InvocationExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLabel;(System.Linq.Expressions.LabelExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLabelTarget;(System.Linq.Expressions.LabelTarget);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitListInit;(System.Linq.Expressions.ListInitExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitLoop;(System.Linq.Expressions.LoopExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMember;(System.Linq.Expressions.MemberExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberInit;(System.Linq.Expressions.MemberInitExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberListBinding;(System.Linq.Expressions.MemberListBinding);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberMemberBinding;(System.Linq.Expressions.MemberMemberBinding);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitNew;(System.Linq.Expressions.NewExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitNewArray;(System.Linq.Expressions.NewArrayExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitParameter;(System.Linq.Expressions.ParameterExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitRuntimeVariables;(System.Linq.Expressions.RuntimeVariablesExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitch;(System.Linq.Expressions.SwitchExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitchCase;(System.Linq.Expressions.SwitchCase);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitTry;(System.Linq.Expressions.TryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitTypeBinary;(System.Linq.Expressions.TypeBinaryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;ExpressionVisitor;true;VisitUnary;(System.Linq.Expressions.UnaryExpression);;Argument[0];ReturnValue;generated:taint | -| System.Linq.Expressions;GotoExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;IndexExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;IndexExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;IndexExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;InvocationExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;LabelExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;LambdaExpression;false;get_Body;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;LambdaExpression;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;ListInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;LoopExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberAssignment;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberAssignment;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MemberExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberExpression;false;get_Member;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MemberInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberListBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MemberMemberBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MethodCallExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;MethodCallExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;MethodCallExpression;false;get_Object;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;NewArrayExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;NewExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;NewExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;NewExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq.Expressions;RuntimeVariablesExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;SwitchCase;false;Update;(System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;SwitchExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;TryExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;TypeBinaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq.Expressions;UnaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value | -| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value | -| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value | -| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue;value | -| System.Linq;Enumerable;false;All<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Any<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Append<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint | -| System.Linq;Enumerable;false;AsEnumerable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Cast<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Count<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;value | -| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;LongCount<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OfType<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Prepend<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;generated:taint | -| System.Linq;Enumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Linq;Enumerable;false;Reverse<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;Enumerable;false;Skip<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SkipLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;TakeLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;EnumerableExecutor<>;false;EnumerableExecutor;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq;EnumerableQuery<>;false;CreateQuery<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;generated:taint | -| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];generated:taint | -| System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Linq;EnumerableQuery<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq;EnumerableQuery<>;false;get_Expression;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq;EnumerableQuery<>;false;get_Provider;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Linq;ImmutableArrayExtensions;false;ElementAt<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;ElementAtOrDefault<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;LastOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value | -| System.Linq;ImmutableArrayExtensions;false;Single<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System.Linq;Lookup<,>;false;get_Item;(TKey);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;All<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Any<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;AsEnumerable<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;AsOrdered;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsOrdered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsParallel;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Concurrent.Partitioner);;Argument[0];ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsSequential<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;AsUnordered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Cast<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Count<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[1];ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ElementAt<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;ElementAtOrDefault<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;LongCount<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OfType<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Reverse<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value | -| System.Linq;ParallelEnumerable;false;Skip<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Take<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToArray<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToList<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;WithCancellation<>;(System.Linq.ParallelQuery,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;WithDegreeOfParallelism<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;WithExecutionMode<>;(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;WithMergeOptions<>;(System.Linq.ParallelQuery,System.Linq.ParallelMergeOptions);;Argument[0].Element;ReturnValue;generated:taint | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[3].ReturnValue;ReturnValue;value | -| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue;value | -| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[1];value | -| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue;value | -| System.Linq;Queryable;false;All<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Any<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;AsQueryable;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;AsQueryable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Cast<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Count<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[1];ReturnValue;value | -| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ElementAt<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;ElementAtOrDefault<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value | -| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value | -| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;LongCount<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Max<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Min<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OfType<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Reverse<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value | -| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value | -| System.Linq;Queryable;false;Skip<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Take<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value | -| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value | -| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value | -| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[2].Parameter[1];value | -| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan,System.DateTime);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_CacheSyncDate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxStale;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Cache;HttpRequestCachePolicy;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Parameter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxStaleLimit;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;get_SharedMaxAge;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxStaleLimit;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MinFresh;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;CacheControlHeaderValue;false;set_SharedMaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.Net.Http.Headers.ContentDispositionHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileNameStar;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentDispositionHeaderValue;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Length;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ContentRangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;EntityTagHeaderValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;EntityTagHeaderValue;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_AcceptRanges;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_ProxyAuthenticate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_Vary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;HttpResponseHeaders;false;get_WwwAuthenticate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_CharSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_MediaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;MediaTypeHeaderValue;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;MediaTypeWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.Net.Http.Headers.NameValueHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;NameValueHeaderValue;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;NameValueWithParametersHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductHeaderValue;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.Net.Http.Headers.ProductHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.ProductInfoHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Product;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.Net.Http.Headers.EntityTagHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_EntityTag;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RangeItemHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Delta;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Quality;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;TransferCodingWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;ViaHeaderValue;false;get_ReceivedBy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;get_Agent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Headers;WarningHeaderValue;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http.Json;JsonContent;false;Create;(System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[3];ReturnValue;generated:taint | -| System.Net.Http.Json;JsonContent;false;Create<>;(T,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Http;ByteArrayContent;false;CreateContentReadStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;DelegatingHandler;false;DelegatingHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;DelegatingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;DelegatingHandler;false;get_InnerHandler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;DelegatingHandler;false;set_InnerHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;FormUrlEncodedContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;get_DefaultRequestVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpClient;false;set_BaseAddress;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpClient;false;set_DefaultRequestVersion;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpClient;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpClientHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;CopyTo;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;ReadAsStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;CreateContentReadStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpMessageInvoker;false;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpMessageInvoker;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;HttpMethod;false;HttpMethod;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpMethod;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpMethod;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_Method;(System.Net.Http.HttpMethod);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_RequestUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value | -| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value | -| System.Net.Http;HttpResponseMessage;false;EnsureSuccessStatusCode;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net.Http;HttpResponseMessage;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;get_ReasonPhrase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;get_RequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_ReasonPhrase;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_RequestMessage;(System.Net.Http.HttpRequestMessage);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;HttpResponseMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;MessageProcessingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Http;MultipartContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Http;MultipartContent;false;MultipartContent;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;CreateContentReadStreamAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;ReadOnlyMemoryContent;false;ReadOnlyMemoryContent;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpConnectionContext;false;get_DnsEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpConnectionContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ConnectCallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ConnectTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_DefaultProxyCredentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Expect100ContinueTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingDelay;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_PlaintextStreamFilter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionIdleTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionLifetime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_RequestHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ResponseDrainTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_ResponseHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;get_SslOptions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_ConnectTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_DefaultProxyCredentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_Expect100ContinueTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingDelay;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionIdleTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_ResponseDrainTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpHandler;false;set_SslOptions;(System.Net.Security.SslClientAuthenticationOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_NegotiatedHttpVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_PlaintextStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Http;StringContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[2];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;AlternateView;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AlternateViewCollection;false;InsertItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AlternateViewCollection;false;SetItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;Attachment;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;get_ContentDisposition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;get_NameEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;Attachment;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;Attachment;false;set_NameEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentBase;false;get_ContentId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AttachmentBase;false;get_ContentStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;AttachmentBase;false;set_ContentType;(System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentCollection;false;InsertItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;AttachmentCollection;false;SetItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResource;false;get_ContentLink;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;LinkedResourceCollection;false;InsertItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;LinkedResourceCollection;false;SetItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddress;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[2];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddress;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailAddressCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Net.Mail;MailAddressCollection;false;InsertItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddressCollection;false;SetItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailAddressCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;MailMessage;(System.Net.Mail.MailAddress,System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;get_Body;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_BodyEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_From;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_HeadersEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_ReplyTo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_Sender;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;get_SubjectEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;MailMessage;false;set_Body;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_BodyEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_From;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_HeadersEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_ReplyTo;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_Sender;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_Subject;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;MailMessage;false;set_SubjectEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;Send;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;Send;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendAsync;(System.Net.Mail.MailMessage,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendAsync;(System.String,System.String,System.String,System.String,System.Object);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[4];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;get_PickupDirectoryLocation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;get_TargetName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpClient;false;set_Credentials;(System.Net.ICredentialsByHost);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;set_PickupDirectoryLocation;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpClient;false;set_TargetName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientException;false;get_FailedRecipient;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Net.Mail.SmtpFailedRecipientException[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Net.Mail;SmtpFailedRecipientsException;false;get_InnerExceptions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentDisposition;false;ContentDisposition;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mime;ContentDisposition;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentDisposition;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentDisposition;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mime;ContentType;false;ContentType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Mime;ContentType;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_Boundary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_CharSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_MediaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;get_Parameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Mime;ContentType;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.NetworkInformation;IPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.NetworkInformation;PhysicalAddress;false;PhysicalAddress;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;AuthenticatedStream;false;AuthenticatedStream;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Security;AuthenticatedStream;false;DisposeAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;AuthenticatedStream;false;get_InnerStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Security;NegotiateStream;false;get_RemoteIdentity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslApplicationProtocol;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslApplicationProtocol;false;get_Protocol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Security;SslStream;false;get_LocalCertificate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_RemoteCertificate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStream;false;get_TransportContext;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;IPPacketInformation;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;IPv6MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;MulticastOption;false;get_LocalAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;MulticastOption;false;set_LocalAddress;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;NetworkStream;false;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;NetworkStream;false;get_Socket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SafeSocketHandle;false;SafeSocketHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Accept;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;Bind;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Connect;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress[],System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;DisconnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;EndAccept;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;SendAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;SendPacketsAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net.Sockets;Socket;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;Socket;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Memory);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_AcceptSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_BufferList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectByNameError;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_MemoryBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_ReceiveMessageFromPacketInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_SendPacketsElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;get_UserToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_AcceptSocket;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_BufferList;(System.Collections.Generic.IList>);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_RemoteEndPoint;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_SendPacketsElements;(System.Net.Sockets.SendPacketsElement[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketAsyncEventArgs;false;set_UserToken;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;SocketException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;AcceptAsync;(System.Net.Sockets.Socket,System.Net.Sockets.Socket);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.String,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveFromAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;ReceiveMessageFromAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;generated:taint | -| System.Net.Sockets;SocketTaskExtensions;false;SendToAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[0];generated:taint | -| System.Net.Sockets;TcpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpClient;false;GetStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpClient;false;TcpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpListener;false;AcceptSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;AcceptTcpClient;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;EndAcceptSocket;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;EndAcceptTcpClient;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;TcpListener;false;get_LocalEndpoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;TcpListener;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;EndReceive;(System.IAsyncResult,System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;Receive;(System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;Send;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;SendAsync;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;UdpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.Sockets;UdpReceiveResult;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;SetBuffer;(System.Int32,System.Int32,System.ArraySegment);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;get_RemoteCertificateValidationCallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_Cookies;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;ClientWebSocketOptions;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_CookieCollection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Origin;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketProtocols;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_WebSocket;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[0];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[1];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[2];ReturnValue;generated:taint | -| System.Net.WebSockets;WebSocketException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;Authorization;false;get_ProtectionRealm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Authorization;false;set_ProtectionRealm;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Comment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_CommentUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Domain;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Expires;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Port;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_TimeStamp;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Cookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Net;Cookie;false;set_Comment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_CommentUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Expires;(System.DateTime);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Port;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;Cookie;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;CookieCollection;false;Add;(System.Net.CookieCollection);;Argument[0];Argument[Qualifier].Element;value | -| System.Net;CookieCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;CookieCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;CookieCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;CookieException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;CredentialCache;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;Dns;false;EndGetHostAddresses;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;Dns;false;EndGetHostByName;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;Dns;false;EndGetHostEntry;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;Dns;false;EndResolve;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;DnsEndPoint;false;DnsEndPoint;(System.String,System.Int32,System.Net.Sockets.AddressFamily);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;DnsEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;DnsEndPoint;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;DownloadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;DownloadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FileWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FileWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_ConnectionGroupName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_RenameTo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_ConnectionGroupName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;FtpWebRequest;false;set_RenameTo;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;FtpWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_BannerMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_ExitMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_LastModified;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;FtpWebResponse;false;get_WelcomeMessage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_AuthenticationSchemeSelectorDelegate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_DefaultServiceNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_ExtendedProtectionPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_ExtendedProtectionSelectorDelegate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_Prefixes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_Realm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;get_TimeoutManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListener;false;set_ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListener;false;set_Realm;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerContext;false;get_Response;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerContext;false;get_User;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Net;HttpListenerRequest;false;EndGetClientCertificate;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_HttpMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_InputStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_RawUrl;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_Url;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_UrlReferrer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerRequest;false;get_UserHostName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;AppendCookie;(System.Net.Cookie);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;Close;(System.Byte[],System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;CopyFrom;(System.Net.HttpListenerResponse);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_OutputStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_RedirectLocation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;HttpListenerResponse;false;set_StatusDescription;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerTimeoutManager;false;get_DrainEntityBody;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerTimeoutManager;false;get_IdleConnection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpListenerTimeoutManager;false;set_DrainEntityBody;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpListenerTimeoutManager;false;set_IdleConnection;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;EndGetRequestStream;(System.IAsyncResult,System.Net.TransportContext);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;GetRequestStream;(System.Net.TransportContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Accept;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Connection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_ContinueDelegate;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Expect;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_Referer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_TransferEncoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebRequest;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;HttpWebResponse;false;GetResponseHeader;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_CharacterSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_Server;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;HttpWebResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;IPAddress;false;MapToIPv4;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;IPAddress;false;MapToIPv6;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;IPAddress;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;IPEndPoint;false;IPEndPoint;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;IPEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;IPEndPoint;false;get_Address;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;IPEndPoint;false;set_Address;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;IPHostEntry;false;get_Aliases;();;Argument[Qualifier];ReturnValue;taint | -| System.Net;IPHostEntry;false;get_HostName;();;Argument[Qualifier];ReturnValue;taint | -| System.Net;NetworkCredential;false;GetCredential;(System.String,System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;NetworkCredential;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;get_Domain;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;NetworkCredential;false;get_Password;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;NetworkCredential;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;NetworkCredential;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;NetworkCredential;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;OpenReadCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;OpenWriteCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;ProtocolViolationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;UploadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;UploadFileCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;UploadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;UploadValuesCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;DownloadData;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadData;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadDataTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadString;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadString;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;DownloadStringTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[1];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenReadAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenReadAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenReadTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenReadTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_Proxy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;get_ResponseHeaders;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebClient;false;set_BaseAddress;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Net;WebClient;false;set_QueryString;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Net;WebException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Net;WebException;false;WebException;(System.String,System.Exception,System.Net.WebExceptionStatus,System.Net.WebResponse);;Argument[3];Argument[Qualifier];generated:taint | -| System.Net;WebException;false;get_Response;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Net;WebHeaderCollection;false;ToByteArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpRequestHeader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpResponseHeader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebProxy;false;GetProxy;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebProxy;false;get_BypassArrayList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebProxy;false;get_BypassList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Net;WebRequest;false;Create;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;Create;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;CreateDefault;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;CreateHttp;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebRequest;false;CreateHttp;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];generated:taint | -| System.Net;WebUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Net;WebUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint | -| System.Net;WebUtility;false;UrlDecode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Net;WebUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Numerics;BigInteger;false;Abs;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;DivRem;(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Negate;(System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Pow;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;BigInteger;false;Remainder;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Complex;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Complex;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Add;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Lerp;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;generated:taint | -| System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[Qualifier];generated:taint | -| System.Numerics;Plane;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Numerics;Vector2;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Vector3;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Vector4;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System.Numerics;Vector;false;Abs<>;(System.Numerics.Vector);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;GetDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;GetModule;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;AssemblyBuilder;false;get_ManifestModule;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ConstructorBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[5].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;DynamicILInfo;false;get_DynamicMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;CreateDelegate;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;DynamicMethod;false;GetDynamicILInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_MethodHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;DynamicMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEnumUnderlyingType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingField;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;EventBuilder;false;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetAddOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetRaiseMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;EventBuilder;false;SetRemoveOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;FieldBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;FieldBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_FieldType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;FieldBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetBaseTypeConstraint;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetInterfaceConstraints;(System.Type[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;LocalBuilder;false;get_LocalType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;MethodBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetGenericMethodDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetReturnType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Emit;MethodBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;MethodBuilder;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_FullyQualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ModuleBuilder;false;get_ScopeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;ParameterBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;ParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;GetGetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;GetSetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetGetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;SetSetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_PropertyType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;PropertyBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetFieldSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetLocalVarSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.CallingConventions,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[2].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;AddInterfaceImplementation;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineDefaultConstructor;(System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[2].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[3].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[6].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineTypeInitializer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetGenericTypeDefinition;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Emit;TypeBuilder;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[1];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;SetParent;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Emit;TypeBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;CustomModifiersEncoder;false;AddModifier;(System.Reflection.Metadata.EntityHandle,System.Boolean);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;Add;(System.Reflection.Metadata.ExceptionRegionKind,System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddCatch;(System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFault;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFilter;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFinally;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[2];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[3];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[2];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[4];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;MetadataRootBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;get_Sizes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Collections.Immutable.ImmutableArray);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Pointer;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;SZArray;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata;AssemblyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyFile;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;Blob;false;GetBytes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection.Metadata;BlobBuilder;false;GetBlobs;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;ReserveBytes;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobBuilder;false;TryWriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadConstant;(System.Reflection.Metadata.ConstantTypeCode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadSerializedString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadUTF8;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;ReadUTF16;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;get_CurrentPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobReader;false;get_StartPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;BlobWriter;false;BlobWriter;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobWriter;false;WriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.Metadata;BlobWriter;false;get_Blob;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;EventAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;EventDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ExportedType;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;FieldDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;GenericParameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;GenericParameterConstraint;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ImportDefinitionCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;InterfaceImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScope;false;GetChildren;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScope;false;GetLocalConstants;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScope;false;GetLocalVariables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ManifestResource;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MemberReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetAssemblyDefinition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetAssemblyFile;(System.Reflection.Metadata.AssemblyFileHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetAssemblyReference;(System.Reflection.Metadata.AssemblyReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetConstant;(System.Reflection.Metadata.ConstantHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomAttribute;(System.Reflection.Metadata.CustomAttributeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomAttributes;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.CustomDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetDeclarativeSecurityAttribute;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetDocument;(System.Reflection.Metadata.DocumentHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetEventDefinition;(System.Reflection.Metadata.EventDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetExportedType;(System.Reflection.Metadata.ExportedTypeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetFieldDefinition;(System.Reflection.Metadata.FieldDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetGenericParameter;(System.Reflection.Metadata.GenericParameterHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetGenericParameterConstraint;(System.Reflection.Metadata.GenericParameterConstraintHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetImportScope;(System.Reflection.Metadata.ImportScopeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetInterfaceImplementation;(System.Reflection.Metadata.InterfaceImplementationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalConstant;(System.Reflection.Metadata.LocalConstantHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalScope;(System.Reflection.Metadata.LocalScopeHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetLocalVariable;(System.Reflection.Metadata.LocalVariableHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetManifestResource;(System.Reflection.Metadata.ManifestResourceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMemberReference;(System.Reflection.Metadata.MemberReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodDefinition;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodImplementation;(System.Reflection.Metadata.MethodImplementationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetMethodSpecification;(System.Reflection.Metadata.MethodSpecificationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetModuleDefinition;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetModuleReference;(System.Reflection.Metadata.ModuleReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetNamespaceDefinitionRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetParameter;(System.Reflection.Metadata.ParameterHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetPropertyDefinition;(System.Reflection.Metadata.PropertyDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetStandaloneSignature;(System.Reflection.Metadata.StandaloneSignatureHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetTypeDefinition;(System.Reflection.Metadata.TypeDefinitionHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetTypeReference;(System.Reflection.Metadata.TypeReferenceHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;GetTypeSpecification;(System.Reflection.Metadata.TypeSpecificationHandle);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_AssemblyReferences;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_CustomDebugInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_DebugMetadataHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_DeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_Documents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_EventDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_FieldDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_ImportScopes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_LocalConstants;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_LocalScopes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_LocalVariables;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MetadataPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MetadataVersion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MethodDebugInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_MethodDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_PropertyDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReader;false;get_StringComparer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataReaderProvider;false;GetMetadataReader;(System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MetadataStringDecoder;false;GetString;(System.Byte*,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;Create;(System.Reflection.Metadata.BlobReader);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;GetILReader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;get_ExceptionRegions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodBodyBlock;false;get_LocalSignature;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinition;false;GetParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodImport;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodImport;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;MethodSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ModuleDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ModuleReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_ExportedTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_NamespaceDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;NamespaceDefinition;false;get_TypeDefinitions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[0];ReturnValue;generated:taint | -| System.Reflection.Metadata;Parameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PropertyAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PropertyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;SequencePointCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;StandaloneSignature;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetInterfaceImplementations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeDefinition;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.Metadata;TypeSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;ManagedPEBuilder;false;GetDirectories;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;ManagedPEBuilder;false;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEBuilder+Section;false;Section;(System.String,System.Reflection.PortableExecutable.SectionCharacteristics);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEBuilder;false;GetSections;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_CoffHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_CorHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_PEHeader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEHeaders;false;get_SectionHeaders;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEMemoryBlock;false;get_Pointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetEntireImage;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetMetadata;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Byte*,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection.PortableExecutable;PEReader;false;get_PEHeaders;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;GetAssembly;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Assembly;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;true;GetName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;true;GetType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Assembly;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;GetPublicKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;SetPublicKey;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;SetPublicKeyToken;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_CultureInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_EscapedCodeBase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;AssemblyName;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;set_CultureInfo;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;AssemblyName;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeData;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;get_MemberInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeNamedArgument;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;get_ArgumentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;CustomAttributeTypedArgument;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;false;GetAddMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;false;GetRaiseMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;false;GetRemoveMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;true;get_AddMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;true;get_RaiseMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfo;true;get_RemoveMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;ExceptionHandlingClause;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;IntrospectionExtensions;false;GetTypeInfo;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;LocalVariableInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;MethodInfo;false;CreateDelegate<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;MethodInfoExtensions;false;GetBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Module;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;GetRealObject;(System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;get_Member;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;ParameterInfo;false;get_ParameterType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;Pointer;false;Box;(System.Void*,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;Pointer;false;Unbox;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;false;GetGetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;false;GetSetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;true;get_GetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfo;true;get_SetMethod;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;ReflectionTypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Reflection;ReflectionTypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetMethodInfo;(System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvent;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvents;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeField;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeFields;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethods;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperties;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperty;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetElementType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetNestedTypes;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;GetPropertyImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;TypeDelegator;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Reflection;TypeDelegator;false;get_Assembly;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_AssemblyQualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeDelegator;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetConstructor;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetDefaultMembers;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvents;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetEvents;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetFields;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetFields;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetGenericArguments;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetInterfaces;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMembers;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMembers;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethods;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetMethods;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetNestedType;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetNestedTypes;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperties;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperties;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;false;GetTypeInfo;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection;TypeInfo;true;AsType;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Reflection;TypeInfo;true;GetDeclaredEvent;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;GetDeclaredProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredConstructors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredMembers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_DeclaredProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_GenericTypeParameters;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Reflection;TypeInfo;true;get_ImplementedInterfaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;MissingSatelliteAssemblyException;false;MissingSatelliteAssemblyException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Resources;MissingSatelliteAssemblyException;false;get_CultureName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;GetResourceFileName;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[1];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[2];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;ResourceManager;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceManager;false;get_BaseName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceManager;false;get_ResourceSetType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceReader;false;GetResourceData;(System.String,System.String,System.Byte[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceReader;false;ResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceSet;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Resources;ResourceSet;false;ResourceSet;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Resources;ResourceSet;false;ResourceSet;(System.Resources.IResourceReader);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Resources;ResourceWriter;false;ResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;CallSite;false;get_Binder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetOrCreateValue;(TKey);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;GetAsyncEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>+ConfiguredTaskAwaiter;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value | -| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier].SyntheticField[m_configuredTaskAwaiter];ReturnValue;value | -| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>+ConfiguredValueTaskAwaiter;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;DateTimeConstantAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;DynamicAttribute;false;DynamicAttribute;(System.Boolean[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;DynamicAttribute;false;get_TransformFlags;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Runtime.CompilerServices;RuntimeWrappedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Runtime.CompilerServices;RuntimeWrappedException;false;RuntimeWrappedException;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;RuntimeWrappedException;false;get_WrappedException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;StrongBox<>;false;StrongBox;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;StrongBox<>;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;StrongBox<>;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;SwitchExpressionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Runtime.CompilerServices;SwitchExpressionException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;TaskAwaiter<>;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_task_awaiter].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value | -| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;TupleElementNamesAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;get_TransformNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.CompilerServices;ValueTaskAwaiter<>;false;GetResult;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;Capture;(System.Exception);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetCurrentStackTrace;(System.Exception);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;get_SourceException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ArrayWithOffset;false;ArrayWithOffset;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;ArrayWithOffset;false;GetArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;COMException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;GetAddMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRaiseMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRemoveMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Module;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;ComAwareEventInfo;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;CriticalHandle;false;CriticalHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;CriticalHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;ExternalException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;GCHandle;false;FromIntPtr;(System.IntPtr);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;GCHandle;false;ToIntPtr;(System.Runtime.InteropServices.GCHandle);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;HandleRef;false;ToIntPtr;(System.Runtime.InteropServices.HandleRef);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;HandleRef;false;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;HandleRef;false;get_Wrapper;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;Marshal;false;GenerateProgIdForType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;CreateFromPinnedArray<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;MemoryMarshal;false;TryGetString;(System.ReadOnlyMemory,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SafeHandle;false;DangerousGetHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SafeHandle;false;SafeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;SafeHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.InteropServices;SequenceMarshal;false;TryGetArray<>;(System.Buffers.ReadOnlySequence,System.ArraySegment);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlyMemory<>;(System.Buffers.ReadOnlySequence,System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyLoadContext;false;EnterContextualReflection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyLoadContext;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Loader;AssemblyLoadContext;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Remoting;ObjectHandle;false;ObjectHandle;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Remoting;ObjectHandle;false;Unwrap;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Binder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_SurrogateSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Binder;(System.Runtime.Serialization.SerializationBinder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Context;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_SurrogateSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[4];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ItemName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_KeyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ValueName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ItemName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_KeyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ValueName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;get_DataContractResolver;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializerExtensions;false;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataContractSerializerExtensions;false;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);;Argument[1];Argument[0];generated:taint | -| System.Runtime.Serialization;DataMemberAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DataMemberAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;get_FormatProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;DateTimeFormat;false;get_FormatString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;EnumMemberAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;EnumMemberAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;ExportOptions;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.TypeCode);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterConverter;false;ToString;(System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type,System.Runtime.Serialization.StreamingContext);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetSurrogateForCyclicalReference;(System.Runtime.Serialization.ISerializationSurrogate);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;GetTypeFromAssembly;(System.Reflection.Assembly,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;FormatterServices;false;PopulateObjectMembers;(System.Object,System.Reflection.MemberInfo[],System.Object[]);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;ObjectIDGenerator;false;GetId;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;ObjectManager;false;GetObject;(System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationEntry;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Byte);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Char);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Decimal);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int64);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.SByte);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Single);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt64);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetDateTime;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;SetType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;get_FullTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfo;false;set_FullTypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SerializationObjectManager;false;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;StreamingContext;false;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;StreamingContext;false;get_Context;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];Argument[0];generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;GetNextSelector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;SurrogateSelector;false;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;XPathQueryGenerator;false;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);;Argument[2];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Serialization;XmlSerializableServices;false;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Runtime.Serialization;XsdDataContractExporter;false;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Serialization;XsdDataContractExporter;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Serialization;XsdDataContractExporter;false;set_Options;(System.Runtime.Serialization.ExportOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;FrameworkName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_FullName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_Identifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_Profile;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;FrameworkName;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;TargetFrameworkAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkDisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Runtime.Versioning;TargetFrameworkAttribute;false;set_FrameworkDisplayName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[3];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ChannelBinding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ProtectionScenario,System.Security.Authentication.ExtendedProtection.ServiceNameCollection);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomChannelBinding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomServiceNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicyTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;ServiceNameCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Claims;Claim;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[0];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Security.Claims;Claim;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Issuer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_OriginalIssuer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Properties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;Claim;false;get_ValueType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;AddClaim;(System.Security.Claims.Claim);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;AddClaims;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Actor;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_BootstrapContext;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Label;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_NameClaimType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;get_RoleClaimType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsIdentity;false;set_Actor;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;set_BootstrapContext;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsIdentity;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;AddIdentities;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;AddIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IPrincipal);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;CreateClaimsIdentity;(System.IO.BinaryReader);;Argument[0];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_Identities;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Claims;ClaimsPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;PublicKey;false;PublicKey;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedData,System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Key;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.Security.Cryptography.X509Certificates.X500DistinguishedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.String,System.Security.Cryptography.X509Certificates.X500DistinguishedNameFlags);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509BasicConstraintsExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Extensions;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_IssuerName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotAfter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotBefore;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PrivateKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SerialNumber;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SubjectName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Thumbprint;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Find;(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509Certificate2Enumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Certificate2Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetCertHashString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetKeyAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetSerialNumberString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Issuer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Subject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;X509CertificateEnumerator;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Certificate[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509CertificateCollection+X509CertificateEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainStatus;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Chain;false;set_ChainPolicy;(System.Security.Cryptography.X509Certificates.X509ChainPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509ChainElement[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography.X509Certificates;X509ChainElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;get_StatusInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;set_StatusInformation;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;get_EnhancedKeyUsages;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509Extension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Extension);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Extension[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ExtensionEnumerator.Current];value | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography.X509Certificates;X509ExtensionEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509KeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForECDsa;(System.Security.Cryptography.ECDsa);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[1];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;get_SubjectKeyIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;Format;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;get_RawData;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedData;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedDataCollection;false;Add;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;AsnEncodedDataCollection;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Security.Cryptography.AsnEncodedData[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.AsnEncodedDataEnumerator.Current];value | -| System.Security.Cryptography;AsnEncodedDataCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;AsnEncodedDataCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography;AsnEncodedDataEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;CspParameters;false;get_ParentWindowHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;CspParameters;false;set_ParentWindowHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureDeformatter;false;DSASignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureFormatter;false;DSASignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;DSASignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;ECCurve;false;get_Oid;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;HMAC;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;HMAC;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;HashAlgorithmName;false;HashAlgorithmName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;HashAlgorithmName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;HashAlgorithmName;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.Byte[]);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;CreateHash;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;IncrementalHash;false;get_AlgorithmName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;FromFriendlyName;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;FromOidValue;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;get_FriendlyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;Oid;false;set_FriendlyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;Oid;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;OidCollection;false;Add;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier].Element;value | -| System.Security.Cryptography;OidCollection;false;CopyTo;(System.Security.Cryptography.Oid[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.OidEnumerator.Current];value | -| System.Security.Cryptography;OidCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;OidCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;OidCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security.Cryptography;OidEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[2];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[4];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;get_HashName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;PasswordDeriveBytes;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAEncryptionPadding;false;CreateOaep;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAEncryptionPadding;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAEncryptionPadding;false;get_OaepHashAlgorithm;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;RSAOAEPKeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;RSAOAEPKeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;RSAPKCS1KeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;get_RNG;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;set_RNG;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;RSAPKCS1KeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;RSAPKCS1SignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;RSAPKCS1SignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.Security.Principal.GenericIdentity);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security.Principal;GenericPrincipal;false;GenericPrincipal;(System.Security.Principal.IIdentity,System.String[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security.Principal;GenericPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;PermissionSet;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;AddChild;(System.Security.SecurityElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;Attribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;Copy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;Escape;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;SearchForChildByTag;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;SearchForTextOfTag;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;SecurityElement;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;get_Children;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;get_Tag;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Security;SecurityElement;false;set_Children;(System.Collections.ArrayList);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;set_Tag;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityElement;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Security;SecurityException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;false;Encode;(System.IO.TextWriter,System.String);;Argument[1];Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.Char[],System.Int32,System.Int32);;Argument[1].Element;Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.String,System.Int32,System.Int32);;Argument[1];Argument[0];generated:taint | -| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json.Serialization;JsonStringEnumConverter;false;JsonStringEnumConverter;(System.Text.Json.JsonNamingPolicy,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonDocument;false;Parse;(System.Buffers.ReadOnlySequence,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;Parse;(System.IO.Stream,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;Parse;(System.ReadOnlyMemory,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonDocument);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonDocument;false;get_RootElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement+ArrayEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;Clone;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text.Json;JsonElement;false;EnumerateArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;EnumerateObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;TryGetProperty;(System.String,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonElement;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonEncodedText;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable,System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonReaderState;false;JsonReaderState;(System.Text.Json.JsonReaderOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonReaderState;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_DictionaryKeyPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_Encoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_PropertyNamingPolicy;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;get_ReferenceHandler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_DictionaryKeyPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_Encoder;(System.Text.Encodings.Web.JavaScriptEncoder);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_PropertyNamingPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;JsonSerializerOptions;false;set_ReferenceHandler;(System.Text.Json.Serialization.ReferenceHandler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonReader;false;get_CurrentState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;Utf8JsonReader;false;get_Position;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Reset;(System.Buffers.IBufferWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Reset;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.Json;Utf8JsonWriter;false;get_Options;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;CaptureCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;CaptureCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Group;false;Synchronized;(System.Text.RegularExpressions.Group);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;TryGetValue;(System.String,System.Text.RegularExpressions.Group);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;GroupCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;GroupCollection;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Match;false;NextMatch;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Match;false;Synchronized;(System.Text.RegularExpressions.Match);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;MatchCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Text.RegularExpressions;MatchCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text.RegularExpressions;Regex;false;Escape;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;GroupNameFromNumber;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Match;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[1];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[1];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[3];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;Unescape;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;get_CapNames;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;get_Caps;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;Regex;false;set_CapNames;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;Regex;false;set_Caps;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[3];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[5];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Pattern;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_MatchTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Pattern;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexMatchTimeoutException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.RegularExpressions;RegexParseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Decoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Decoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Decoder;false;set_Fallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;DecoderFallbackException;false;DecoderFallbackException;(System.String,System.Byte[],System.Int32);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Text;DecoderFallbackException;false;get_BytesUnknown;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;DecoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;DecoderReplacementFallback;false;DecoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;DecoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;DecoderReplacementFallbackBuffer;false;DecoderReplacementFallbackBuffer;(System.Text.DecoderReplacementFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoder;false;set_Fallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;EncoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;EncoderReplacementFallback;false;EncoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;EncoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;EncoderReplacementFallbackBuffer;false;EncoderReplacementFallbackBuffer;(System.Text.EncoderReplacementFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[]);;Argument[2].Element;ReturnValue;generated:taint | -| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[],System.Int32,System.Int32);;Argument[2].Element;ReturnValue;generated:taint | -| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[2];ReturnValue;generated:taint | -| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;GetBytes;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;generated:taint | -| System.Text;Encoding;false;GetString;(System.Byte*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;false;GetString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;false;get_DecoderFallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;false;get_EncoderFallback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;false;set_DecoderFallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoding;false;set_EncoderFallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];generated:taint | -| System.Text;Encoding;true;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.Char[]);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.String);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetDecoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;true;GetEncoder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;Encoding;true;GetString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System.Text;Encoding;true;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System.Text;EncodingProvider;true;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;EncodingProvider;true;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;generated:taint | -| System.Text;SpanRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;SpanRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder+ChunkEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder+ChunkEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Byte);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Double);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Int16);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Int64);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.SByte);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Single);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.String);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendLine;();;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Argument[Qualifier].Element;value | -| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[Qualifier];ReturnValue;value | -| System.Text;StringBuilder;false;GetChunks;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Byte);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[]);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Decimal);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Double);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int16);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.SByte);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.Single);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.String,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt16);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt64);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Replace;(System.Char,System.Char,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Text;StringBuilder;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];ReturnValue.Element;value | -| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];ReturnValue.Element;value | -| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];ReturnValue.Element;value | -| System.Text;StringBuilder;false;ToString;();;Argument[Qualifier].Element;ReturnValue;taint | -| System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue;taint | -| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Text;StringRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;BufferBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObservable<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObserver<>;(System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];Argument[1];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Post<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);;Argument[1];Argument[0];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;ReceiveAsync<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;SendAsync<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);;Argument[1];Argument[0];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlock;false;TryReceive<>;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_NameFormat;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_NameFormat;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];Argument[0];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[Qualifier];Argument[1];generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;get_Completion;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;GetResult;(System.Int16);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetException;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ConcurrentScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ExclusiveScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelLoopResult;false;get_LowestBreakIteration;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ParallelOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ParallelOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;Task;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Delay;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;Delay;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;FromCanceled;(System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;FromResult<>;(TResult);;Argument[0];ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;Run<>;(System.Func>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Run<>;(System.Func>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Run<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Run<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task;false;WhenAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAll;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAll<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAll<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value | -| System.Threading.Tasks;Task;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;Task<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue.SyntheticField[m_task_task_awaiter];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;Task<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait;(System.IAsyncDisposable,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait<>;(System.Collections.Generic.IAsyncEnumerable,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskCanceledException;false;TaskCanceledException;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCanceledException;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskCompletionSource;false;TaskCompletionSource;(System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCompletionSource;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskCompletionSource<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCompletionSource<>;false;TrySetResult;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskCompletionSource<>;false;get_Task;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskExtensions;false;Unwrap;(System.Threading.Tasks.Task);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskExtensions;false;Unwrap<>;(System.Threading.Tasks.Task>);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;TaskFactory<>;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;UnobservedTaskExceptionEventArgs;(System.AggregateException);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;AsTask;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;FromResult<>;(TResult);;Argument[0];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;Preserve;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;AsTask;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;Preserve;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;ValueTask;(TResult);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading.Tasks;ValueTask<>;false;get_Result;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.Int32,System.Threading.WaitHandle);;Argument[1];Argument[Qualifier];generated:taint | -| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Exception,System.Int32,System.Threading.WaitHandle);;Argument[3];Argument[Qualifier];generated:taint | -| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Int32,System.Threading.WaitHandle);;Argument[2];Argument[Qualifier];generated:taint | -| System.Threading;AbandonedMutexException;false;get_Mutex;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;CancellationToken;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;CancellationTokenSource;false;get_Token;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;CompressedStack;false;CreateCopy;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Threading;CountdownEvent;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;ExecutionContext;false;CreateCopy;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Threading;HostExecutionContextManager;false;SetHostExecutionContext;(System.Threading.HostExecutionContext);;Argument[0];ReturnValue;generated:taint | -| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T);;Argument[0];ReturnValue;generated:taint | -| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[2];ReturnValue;generated:taint | -| System.Threading;ManualResetEventSlim;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;SemaphoreSlim;false;get_AvailableWaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;Thread;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;Thread;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;ThreadExceptionEventArgs;false;ThreadExceptionEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;ThreadExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;WaitHandle;false;set_SafeWaitHandle;(Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;WaitHandle;true;get_Handle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Threading;WaitHandle;true;set_Handle;(System.IntPtr);;Argument[0];Argument[Qualifier];generated:taint | -| System.Threading;WaitHandleExtensions;false;SetSafeWaitHandle;(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[1];Argument[0];generated:taint | -| System.Timers;Timer;false;get_Site;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Timers;Timer;false;get_SynchronizingObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Timers;Timer;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];generated:taint | -| System.Timers;Timer;false;set_SynchronizingObject;(System.ComponentModel.ISynchronizeInvoke);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;CommittableTransaction;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;CommittableTransaction;false;get_AsyncWaitHandle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;PromoteAndEnlistDurable;(System.Guid,System.Transactions.IPromotableSinglePhaseNotification,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;Rollback;(System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;SetDistributedTransactionIdentifier;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];generated:taint | -| System.Transactions;Transaction;false;get_PromoterType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;Transaction;false;get_TransactionInformation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionEventArgs;false;get_Transaction;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionInformation;false;get_DistributedIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionOptions;false;get_Timeout;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Transactions;TransactionOptions;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];generated:taint | -| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];generated:taint | -| System.Web.UI.WebControls;TextBox;false;get_Text;();;Argument[Qualifier];ReturnValue;taint | -| System.Web;HttpCookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Web;HttpCookie;false;get_Values;();;Argument[Qualifier];ReturnValue;taint | -| System.Web;HttpServerUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpServerUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Web;HttpUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];generated:taint | -| System.Web;HttpUtility;false;HtmlEncode;(System.Object);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.Byte[]);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncode;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;generated:taint | -| System.Web;HttpUtility;false;UrlPathEncode;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantNodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantNodesAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;InDocumentOrder<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;Extensions;false;Nodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;get_NextAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;get_PreviousAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XCData;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XCData;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XComment;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XComment;false;XComment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XComment;false;XComment;(System.Xml.Linq.XComment);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XComment;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XComment;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XContainer;false;AddFirst;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XContainer;false;AddFirst;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XContainer;false;CreateWriter;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;DescendantNodes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Descendants;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Descendants;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Element;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Elements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Elements;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;Nodes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XContainer;false;get_FirstNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XContainer;false;get_LastNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XDocument;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XDocument;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;XDocument;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDeclaration,System.Object[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocument;false;get_Declaration;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;get_Root;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocument;false;set_Declaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.Xml.Linq.XDocumentType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XDocumentType;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XDocumentType;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;AncestorsAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;AncestorsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Attribute;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Attributes;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;DescendantNodesAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;DescendantsAndSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;DescendantsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Parse;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XElement;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;SetElementValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XElement;false;get_FirstAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;get_LastAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XElement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XName;false;Get;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;Get;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XName;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XNode;false;Ancestors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;Ancestors;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;CreateReader;(System.Xml.Linq.ReaderOptions);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ElementsAfterSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ElementsAfterSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;NodesAfterSelf;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ReadFrom;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Linq;XNode;false;get_NextNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;AddAnnotation;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XObject;false;Annotation;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;Annotation<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;Annotations;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;Annotations<>;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.Xml.Linq.XProcessingInstruction);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XProcessingInstruction;false;set_Target;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Linq;XStreamingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XStreamingElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Linq;XText;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Linq;XText;false;XText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XText;false;XText;(System.Xml.Linq.XText);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Linq;XText;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Linq;XText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Resolvers;XmlPreloadedResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XAttribute);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XElement);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;ValidationEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;ValidationEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;Clone;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml.Schema;XmlAtomicValue;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml.Schema;XmlAtomicValue;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlAtomicValue;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Elements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Groups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Includes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Notations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_TargetNamespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchema;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchema;false;set_TargetNamespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchema;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchema;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAll;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotated;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnnotation;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAny;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAny;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAnyAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAnyAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;get_Markup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAppInfo;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_RedefinedAttributeGroup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaChoice;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema,System.Xml.XmlResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchemaCollection);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaCollectionEnumerator.Current];value | -| System.Xml.Schema;XmlSchemaCollection;false;XmlSchemaCollection;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml.Schema;XmlSchemaComplexContent;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeUses;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeWildcard;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentModel;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentTypeParticle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;set_ContentModel;(System.Xml.Schema.XmlSchemaContentModel);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaComplexType;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;get_Language;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;get_Markup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;set_Language;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaDocumentation;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_Constraints;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_ElementSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_ElementType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;get_SubstitutionGroup;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaElement;false;set_SubstitutionGroup;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaException;false;XmlSchemaException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaException;false;get_SourceSchemaObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_Schema;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_SchemaLocation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_Schema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_SchemaLocation;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaExternal;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaFacet;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaFacet;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaGroup;false;set_Particle;(System.Xml.Schema.XmlSchemaGroupBase);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaGroupRef;false;get_Particle;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Fields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Selector;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Selector;(System.Xml.Schema.XmlSchemaXPath);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInclude;false;get_Annotation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInclude;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInferenceException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_MemberType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaAttribute;(System.Xml.Schema.XmlSchemaAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaElement;(System.Xml.Schema.XmlSchemaElement);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaKeyref;false;get_Refer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaKeyref;false;set_Refer;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;get_Public;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;get_System;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;set_Public;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaNotation;false;set_System;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;get_Namespaces;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;set_Namespaces;(System.Xml.Serialization.XmlSerializerNamespaces);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;set_Parent;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObject;false;set_SourceUri;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObjectCollection;false;Add;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;CopyTo;(System.Xml.Schema.XmlSchemaObject[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaObjectEnumerator.Current];value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;Insert;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;Remove;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObjectCollection;false;XmlSchemaObjectCollection;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Schema;XmlSchemaObjectCollection;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Schema;XmlSchemaObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObjectTable;false;get_Names;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaObjectTable;false;get_Values;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_Groups;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaRedefine;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSequence;false;get_Items;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;Schemas;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;XmlSchemaSet;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_CompilationSettings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_GlobalAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_GlobalElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_GlobalTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;set_CompilationSettings;(System.Xml.Schema.XmlSchemaCompilationSettings);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSet;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContent;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleType;false;get_Content;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleType;false;set_Content;(System.Xml.Schema.XmlSchemaSimpleTypeContent);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_BaseItemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_BaseItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseMemberTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_MemberTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;set_MemberTypes;(System.Xml.XmlQualifiedName[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_BaseSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_BaseXmlSchemaType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_Datatype;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidationException;false;SetSourceObject;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidationException;false;get_SourceObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;AddSchema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedParticles;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;Initialize;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;SkipToEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[3];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;ValidateWhitespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;get_LineInfoProvider;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;get_ValidationEventSender;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_LineInfoProvider;(System.Xml.IXmlLineInfo);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_SourceUri;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_ValidationEventSender;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaValidator;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Schema;XmlSchemaXPath;false;get_XPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Schema;XmlSchemaXPath;false;set_XPath;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[Qualifier];Argument[1];generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;MakeUnique;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;CodeIdentifiers;false;ToArray;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;ImportContext;false;ImportContext;(System.Xml.Serialization.CodeIdentifiers,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;ImportContext;false;get_TypeIdentifiers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;ImportContext;false;get_Warnings;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;SoapAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapDefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapEnum;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;get_SoapType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapAttribute;(System.Xml.Serialization.SoapAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapElement;(System.Xml.Serialization.SoapElementAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapEnum;(System.Xml.Serialization.SoapEnumAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapAttributes;false;set_SoapType;(System.Xml.Serialization.SoapTypeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;SoapElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapEnumAttribute;false;SoapEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapIncludeAttribute;false;SoapIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[]);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapSchemaMember;false;set_MemberType;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;SoapTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttributes;false;Add;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlAnyElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;Remove;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAnyElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlAnyElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlArrayAttribute;false;XmlArrayAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttributes;false;Add;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;CopyTo;(System.Xml.Serialization.XmlArrayItemAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;Remove;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlArrayItemAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlArrayItemAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributeEventArgs;false;get_Attr;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ExpectedAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlArray;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlArrayItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlChoiceIdentifier;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlDefaultValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlEnum;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlRoot;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlText;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlAnyAttribute;(System.Xml.Serialization.XmlAnyAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlArray;(System.Xml.Serialization.XmlArrayAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlAttribute;(System.Xml.Serialization.XmlAttributeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlEnum;(System.Xml.Serialization.XmlEnumAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlRoot;(System.Xml.Serialization.XmlRootAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlText;(System.Xml.Serialization.XmlTextAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlAttributes;false;set_XmlType;(System.Xml.Serialization.XmlTypeAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;XmlChoiceIdentifierAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownAttribute;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownNode;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnreferencedObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttributes;false;Add;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlElementAttributes;false;Remove;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlElementEventArgs;false;get_Element;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementEventArgs;false;get_ExpectedElements;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlElementEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlEnumAttribute;false;XmlEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlIncludeAttribute;false;XmlIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlMapping;false;SetKey;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlMapping;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMapping;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMapping;false;get_XsdElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMemberMapping;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlMembersMapping;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlNodeEventArgs;false;get_Text;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_SoapAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;get_XmlAttributes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_MemberType;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_SoapAttributes;(System.Xml.Serialization.SoapAttributes);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlReflectionMember;false;set_XmlAttributes;(System.Xml.Serialization.XmlAttributes);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;XmlRootAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlRootAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaEnumerator;false;XmlSchemaEnumerator;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaExporter;false;XmlSchemaExporter;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaProviderAttribute;false;XmlSchemaProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemaProviderAttribute;false;get_MethodName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Serialization.XmlSchemas);;Argument[0];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSchemas;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml.Serialization;XmlSchemas;false;Find;(System.Xml.XmlQualifiedName,System.Type);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlSchemas;false;Insert;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSchemas;false;OnInsert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;OnSet;(System.Int32,System.Object,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value | -| System.Xml.Serialization;XmlSchemas;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Collection;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_CollectionItems;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Ids;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Source;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader+Fixup;false;set_Source;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;AddTarget;(System.String,System.Object);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;CollapseWhitespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;EnsureArrayIndex;(System.Array,System.Int32,System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;GetTarget;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadNullableString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReference;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.Boolean,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ReadTypedPrimitive;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ShrinkArray;(System.Array,System.Int32,System.Type,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToByteArrayBase64;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNCName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmToken;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmTokens;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;get_Document;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayBase64;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayHex;(System.Byte[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[]);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[],System.String);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNCName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmToken;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmTokens;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementEncoded;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementLiteral;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteId;(System.Object);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncoded;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteral;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteReferencingElement;(System.String,System.String,System.Object);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteReferencingElement;(System.String,System.String,System.Object,System.Boolean);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteTypedPrimitive;(System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode,System.Object);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;get_Writer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializationWriter;false;set_Writer;(System.Xml.XmlWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[Qualifier];Argument[2];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[]);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[4];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;XmlSerializerVersionAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_ParentAssemblyId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_ParentAssemblyId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;XmlTextAttribute;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTextAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;XmlTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Serialization;XmlTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[1];ReturnValue;generated:taint | -| System.Xml.XPath;XDocumentExtensions;false;ToXPathNavigable;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathDocument;false;XPathDocument;(System.Xml.XmlReader,System.Xml.XmlSpace);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.XPath;XPathException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.XPath;XPathException;false;XPathException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.XPath;XPathException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathExpression;false;Compile;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.XPath;XPathItem;true;ValueAs;(System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;false;get_XmlType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Compile;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;GetNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;Select;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;SelectSingleNode;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;WriteSubtree;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.XPath;XPathNavigator;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNavigator;true;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNodeIterator;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.XPath;XPathNodeIterator;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslCompiledTransform;false;Load;(System.Reflection.MethodInfo,System.Byte[],System.Type[]);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[0];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XslTransform;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;GetExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;GetParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;RemoveExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltArgumentList;false;RemoveParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltCompileException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Xsl;XsltException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml.Xsl;XsltException;false;XsltException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml.Xsl;XsltException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml.Xsl;XsltException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Add;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Get;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;NameTable;false;Get;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;UniqueId;false;UniqueId;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;UniqueId;false;UniqueId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlAttribute;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlAttribute;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlAttribute;false;get_OwnerElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttribute;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;CopyTo;(System.Xml.XmlAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value | -| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;Remove;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlAttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.String,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlCDataSection;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlCDataSection;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlCharacterData;false;XmlCharacterData;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;true;AppendData;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlCharacterData;true;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlCharacterData;true;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlCharacterData;true;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlComment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;DecodeName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;EncodeLocalName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;EncodeName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;EncodeNmToken;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyNCName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyNMTOKEN;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyPublicId;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyTOKEN;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyWhitespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlConvert;false;VerifyXmlChars;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;GetElementFromRow;(System.Data.DataRow);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;GetRowFromElement;(System.Xml.XmlElement);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;XmlDataDocument;(System.Data.DataSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDataDocument;false;get_DataSet;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionary;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionary;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[5];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateDictionaryReader;(System.Xml.XmlReader);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadContentAsString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;false;ReadString;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;GetNonAtomizedNames;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadArray;(System.String,System.String,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsQualifiedName;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadContentAsUniqueId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryReader;true;ReadElementContentAsUniqueId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryString;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryString;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;CreateDictionaryWriter;(System.Xml.XmlWriter);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteBase64Async;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;false;WriteStartAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteQualifiedName;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteStartAttribute;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteString;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteTextNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteValue;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentFragment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateEntityReference;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint | -| System.Xml;XmlDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocument;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocument;false;XmlDocument;(System.Xml.XmlImplementation);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocument;false;get_DocumentElement;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_Implementation;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;get_Schemas;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocument;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocument;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentFragment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentFragment;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocumentFragment;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlDocumentFragment;false;XmlDocumentFragment;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlDocumentType;false;get_Entities;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_Notations;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttributeNode;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;RemoveAttributeAt;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;RemoveAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;RemoveAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlElement;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlElement;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlElement;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlEntity;false;get_NotationName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntity;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntity;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntityReference;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlEntityReference;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlEntityReference;false;XmlEntityReference;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlException;false;XmlException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlImplementation;false;CreateDocument;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlImplementation;false;XmlImplementation;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String);;Argument[Qualifier];ReturnValue;value | -| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;value | -| System.Xml;XmlNamedNodeMap;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;XmlNamespaceManager;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlNamespaceManager;false;get_DefaultNamespace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNamespaceManager;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value | -| System.Xml;XmlNode;false;SelectNodes;(System.String);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;false;SelectNodes;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;false;SelectSingleNode;(System.String);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;false;SelectSingleNode;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;GetNamespaceOfPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;GetPrefixOfNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;generated:taint | -| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;generated:taint | -| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System.Xml;XmlNode;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_ChildNodes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_FirstChild;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_HasChildNodes;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_InnerText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNode;true;get_LastChild;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_LocalName;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Name;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_NodeType;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Prefix;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNode;true;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[2].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[4];Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_NewParent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_Node;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_OldParent;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeChangedEventArgs;false;get_OldValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeList;true;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;XmlNodeReader;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlNodeReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_LocalName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_Prefix;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNodeReader;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNotation;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlNotation;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[1].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[4];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[5];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[6];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[7];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[9];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_DocTypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_NamespaceManager;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_PublicId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_SystemId;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlParserContext;false;set_BaseURI;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_DocTypeName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_NamespaceManager;(System.Xml.XmlNamespaceManager);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlParserContext;false;set_XmlLang;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlProcessingInstruction;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint | -| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadContentAsObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsDateTime;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsObject;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementContentAsString;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementString;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadElementString;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_Name;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReader;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReaderSettings;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlReaderSettings;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlReaderSettings;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlReaderSettings;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlSecureResolver;false;XmlSecureResolver;(System.Xml.XmlResolver,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlSecureResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlSignificantWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlSignificantWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlSignificantWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlText;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlText;false;SplitText;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;GetRemainder;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.IO.TextReader,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;XmlTextReader;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextReader;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextWriter;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlTextWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlTextWriter;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlUrlResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlUrlResolver;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlValidatingReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlValidatingReader;false;get_Schemas;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];generated:taint | -| System.Xml;XmlWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.String,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Text.StringBuilder,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteAttributeStringAsync;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteAttributes;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteAttributesAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteValue;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriter;true;WriteValue;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriterSettings;false;get_Encoding;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWriterSettings;false;get_IndentChars;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWriterSettings;false;get_NewLineChars;();;Argument[Qualifier];ReturnValue;generated:taint | -| System.Xml;XmlWriterSettings;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriterSettings;false;set_IndentChars;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System.Xml;XmlWriterSettings;false;set_NewLineChars;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;AggregateException;false;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;AggregateException;false;AggregateException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;AggregateException;false;GetBaseException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;AggregateException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;AggregateException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;AggregateException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;AppDomain;false;ApplyPolicy;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;ArgumentException;false;ArgumentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;ArgumentException;false;ArgumentException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;ArgumentException;false;ArgumentException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;ArgumentException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;ArgumentException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArgumentException;false;get_ParamName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.String,System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;ArgumentOutOfRangeException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;ArgumentOutOfRangeException;false;get_ActualValue;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArgumentOutOfRangeException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Array;false;AsReadOnly<>;(T[]);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Clone;();;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;CopyTo;(System.Array,System.Int64);;Argument[Qualifier].Element;Argument[0].Element;value | -| System;Array;false;Fill<>;(T[],T);;Argument[1];Argument[0].Element;generated:taint | -| System;Array;false;Fill<>;(T[],T,System.Int32,System.Int32);;Argument[1];Argument[0].Element;generated:taint | -| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value | -| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value | -| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value | -| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value | -| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value | -| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value | -| System;Array;false;Reverse;(System.Array);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Reverse;(System.Array,System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Reverse<>;(T[]);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;Reverse<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value | -| System;Array;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;generated:value | -| System;ArraySegment<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;ArraySegment;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ArraySegment<>;false;ArraySegment;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;get_Array;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;BadImageFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;BadImageFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;BadImageFormatException;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;get_FileName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;get_FusionLog;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;BadImageFormatException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Boolean;false;Parse;(System.String);;Argument[0];ReturnValue;taint | -| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;Argument[1];taint | -| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;ReturnValue;taint | -| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];Argument[1];taint | -| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint | -| System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;taint | -| System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue.Element;taint | -| System;Convert;false;FromHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue.Element;taint | -| System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue.Element;taint | -| System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;Argument[3].Element;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[3].Element;taint | -| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToHexString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint | -| System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint | -| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[1].Element;taint | -| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[2];taint | -| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[1].Element;taint | -| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[2];taint | -| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];ReturnValue;taint | -| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[1].Element;taint | -| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[2];taint | -| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint | -| System;DBNull;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;DateTime;false;GetDateTimeFormats;(System.Char,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;DateTime;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:value | -| System;DateTime;false;ToLocalTime;();;Argument[Qualifier];ReturnValue;generated:value | -| System;DateTime;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;DateTime;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;DateTime;false;ToUniversalTime;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;DateTimeOffset;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;DateTimeOffset;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;DateTimeOffset;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Decimal;false;ToDecimal;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:value | -| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[1];ReturnValue;generated:taint | -| System;Delegate;false;Combine;(System.Delegate[]);;Argument[0].Element;ReturnValue;generated:taint | -| System;Delegate;false;CreateDelegate;(System.Type,System.Reflection.MethodInfo,System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;Delegate;false;DynamicInvoke;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System;Delegate;false;Remove;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System;Delegate;false;RemoveAll;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;generated:taint | -| System;Delegate;false;get_Method;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;false;get_Target;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;true;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| System;Delegate;true;GetInvocationList;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;true;GetMethodImpl;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Delegate;true;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Double;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;Double;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Double;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Enum;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System;Enum;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Environment;false;ExpandEnvironmentVariables;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Exception;false;Exception;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;Exception;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;Exception;(System.String,System.Exception);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;Exception;(System.String,System.Exception);;Argument[1];Argument[Qualifier];generated:taint | -| System;Exception;false;GetBaseException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;Exception;false;get_HelpLink;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_InnerException;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_StackTrace;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;get_TargetSite;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Exception;false;set_HelpLink;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Exception;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;FormattableString;false;CurrentCulture;(System.FormattableString);;Argument[0];ReturnValue;generated:taint | -| System;FormattableString;false;Invariant;(System.FormattableString);;Argument[0];ReturnValue;generated:taint | -| System;FormattableString;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;FormattableString;false;ToString;(System.String,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Half;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;Half;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Int32;false;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0].Element;ReturnValue;taint | -| System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint | -| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint | -| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Int32;false;Parse;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;Argument[3];taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;Argument[1];taint | -| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint | -| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];ReturnValue;taint | -| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint | -| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];ReturnValue;taint | -| System;IntPtr;false;IntPtr;(System.Void*);;Argument[0];Argument[Qualifier];generated:taint | -| System;IntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Lazy<,>;false;Lazy;(TMetadata);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<,>;false;Lazy;(TMetadata,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<,>;false;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Lazy<>;false;Lazy;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value | -| System;Lazy<>;false;Lazy;(System.Func,System.Boolean);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value | -| System;Lazy<>;false;Lazy;(System.Func,System.Threading.LazyThreadSafetyMode);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value | -| System;Lazy<>;false;Lazy;(T);;Argument[0];Argument[Qualifier];generated:taint | -| System;Lazy<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Lazy<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System;Memory<>;false;Memory;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;Memory<>;false;Memory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;Memory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Memory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Memory<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Index);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory;(System.String,System.Range);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[]);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Index);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;AsMemory<>;(T[],System.Range);;Argument[0].Element;ReturnValue;generated:taint | -| System;MemoryExtensions;false;EnumerateRunes;(System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim;(System.Memory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;Trim<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd;(System.Memory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimEnd<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart;(System.Memory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart;(System.ReadOnlyMemory);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.Memory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MemoryExtensions;false;TrimStart<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;generated:taint | -| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;MissingFieldException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MissingMemberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;MissingMemberException;false;MissingMemberException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;MissingMemberException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;MissingMethodException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;MulticastDelegate;false;CombineImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:value | -| System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;generated:value | -| System;NotFiniteNumberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;Nullable;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;generated:taint | -| System;Nullable<>;false;GetValueOrDefault;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value | -| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value | -| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value | -| System;Nullable<>;false;Nullable;(T);;Argument[0];ReturnValue.Property[System.Nullable<>.Value];value | -| System;Nullable<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Nullable<>;false;get_HasValue;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;taint | -| System;Nullable<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint | -| System;ObjectDisposedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;ObjectDisposedException;false;ObjectDisposedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;ObjectDisposedException;false;ObjectDisposedException;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;ObjectDisposedException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ObjectDisposedException;false;get_ObjectName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;Clone;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;get_ServicePack;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;get_Version;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperatingSystem;false;get_VersionString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Exception,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];generated:taint | -| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];generated:taint | -| System;OperationCanceledException;false;OperationCanceledException;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];generated:taint | -| System;OperationCanceledException;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[]);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];generated:taint | -| System;ReadOnlyMemory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlyMemory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlyMemory<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ReadOnlySpan<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;RuntimeFieldHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;RuntimeMethodHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;RuntimeTypeHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;SequencePosition;false;GetObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;SequencePosition;false;SequencePosition;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];generated:taint | -| System;Single;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;generated:taint | -| System;Single;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Single;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;generated:taint | -| System;Span<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Clone;();;Argument[Qualifier];ReturnValue;value | -| System;String;false;Concat;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Concat;(System.Object[]);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint | -| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3].Element;ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint | -| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint | -| System;String;false;Concat;(System.String[]);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Concat<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value | -| System;String;false;EnumerateRunes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint | -| System;String;false;Format;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.CharEnumerator.Current];value | -| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value | -| System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.Object[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[]);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint | -| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint | -| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint | -| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint | -| System;String;false;Normalize;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadLeft;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadLeft;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadRight;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;PadRight;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Remove;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint | -| System;String;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint | -| System;String;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Replace;(System.String,System.String,System.Boolean,System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[1];ReturnValue;generated:taint | -| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[],System.Int32);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint | -| System;String;false;String;(System.Char[]);;Argument[0].Element;ReturnValue;taint | -| System;String;false;String;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint | -| System;String;false;Substring;(System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;ToLower;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToLowerInvariant;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToString;();;Argument[Qualifier];ReturnValue;value | -| System;String;false;ToString;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value | -| System;String;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;generated:taint | -| System;String;false;ToUpper;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;ToUpperInvariant;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Trim;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Trim;(System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;Trim;(System.Char[]);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimEnd;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimEnd;(System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimEnd;(System.Char[]);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimStart;();;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimStart;(System.Char);;Argument[Qualifier];ReturnValue;taint | -| System;String;false;TrimStart;(System.Char[]);;Argument[Qualifier];ReturnValue;taint | -| System;StringNormalizationExtensions;false;Normalize;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;generated:taint | -| System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[4];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DateEnd;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DateStart;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightDelta;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionEnd;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionStart;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo+TransitionTime;false;CreateFixedDateRule;(System.DateTime,System.Int32,System.Int32);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+TransitionTime;false;CreateFloatingDateRule;(System.DateTime,System.Int32,System.Int32,System.DayOfWeek);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo+TransitionTime;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TimeZoneInfo+TransitionTime;false;get_TimeOfDay;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeFromUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[4];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[5].Element;ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[1];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[2];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[3];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[4];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[5].Element;ReturnValue;generated:taint | -| System;TimeZoneInfo;false;FindSystemTimeZoneById;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTime);;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTimeOffset);;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_BaseUtcOffset;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_DaylightName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TimeZoneInfo;false;get_StandardName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value | -| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value | -| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value | -| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value | -| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value | -| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value | -| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value | -| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value | -| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value | -| System;Tuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value | -| System;Tuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value | -| System;Tuple;false;Create<>;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value | -| System;Tuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value | -| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value | -| System;Tuple<,,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item6];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item7];ReturnValue;value | -| System;Tuple<,,,,,,,>;false;get_Rest;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value | -| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value | -| System;Tuple<,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item6];ReturnValue;value | -| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item7];ReturnValue;value | -| System;Tuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value | -| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value | -| System;Tuple<,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item6];ReturnValue;value | -| System;Tuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value | -| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value | -| System;Tuple<,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item4];ReturnValue;value | -| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item5];ReturnValue;value | -| System;Tuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value | -| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value | -| System;Tuple<,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item1];ReturnValue;value | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item2];ReturnValue;value | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item3];ReturnValue;value | -| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item4];ReturnValue;value | -| System;Tuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value | -| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value | -| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value | -| System;Tuple<,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item1];ReturnValue;value | -| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item2];ReturnValue;value | -| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item3];ReturnValue;value | -| System;Tuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value | -| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value | -| System;Tuple<,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item1];ReturnValue;value | -| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item2];ReturnValue;value | -| System;Tuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<>;false;Tuple;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value | -| System;Tuple<>;false;get_Item1;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Tuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<>.Item1];ReturnValue;value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item7];Argument[7];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item6];Argument[6];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item5];Argument[5];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item4];Argument[4];value | -| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item3];Argument[3];value | -| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item1];Argument[1];value | -| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item2];Argument[2];value | -| System;TupleExtensions;false;Deconstruct<>;(System.Tuple,T1);;Argument[0].Property[System.Tuple<>.Item1];Argument[1];value | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,,>;(System.ValueTuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,,>;(System.ValueTuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<,>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToTuple<>;(System.ValueTuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<,>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;TupleExtensions;false;ToValueTuple<>;(System.Tuple);;Argument[0];ReturnValue;generated:taint | -| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetConstructor;(System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetConstructors;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetEvent;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetFields;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetInterface;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMember;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMembers;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethod;(System.String,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetMethods;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetNestedType;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetNestedTypes;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperties;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;GetProperty;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;MakeGenericSignatureType;(System.Type,System.Type[]);;Argument[0];ReturnValue;generated:taint | -| System;Type;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;false;get_TypeInitializer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;true;GetEvents;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;true;GetMember;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Type;true;get_GenericTypeArguments;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TypeInitializationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TypeInitializationException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;TypeLoadException;false;TypeLoadException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;TypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;TypeLoadException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UIntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UIntPtr;false;UIntPtr;(System.Void*);;Argument[0];Argument[Qualifier];generated:taint | -| System;UnhandledExceptionEventArgs;false;UnhandledExceptionEventArgs;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System;UnhandledExceptionEventArgs;false;get_ExceptionObject;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;EscapeDataString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;EscapeString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;EscapeUriString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;GetComponents;(System.UriComponents,System.UriFormat);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;GetLeftPart;(System.UriPartial);;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;Uri;false;MakeRelative;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;MakeRelativeUri;(System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;ToString;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;TryCreate;(System.String,System.UriKind,System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[1];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[1];ReturnValue;generated:taint | -| System;Uri;false;UnescapeDataString;(System.String);;Argument[0];ReturnValue;generated:taint | -| System;Uri;false;Uri;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.String);;Argument[0];ReturnValue;taint | -| System;Uri;false;Uri;(System.String,System.Boolean);;Argument[0];ReturnValue;taint | -| System;Uri;false;Uri;(System.String,System.UriKind);;Argument[0];ReturnValue;taint | -| System;Uri;false;Uri;(System.Uri,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[1];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[1];Argument[Qualifier];generated:taint | -| System;Uri;false;get_Authority;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_DnsSafeHost;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_IdnHost;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_LocalPath;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;get_PathAndQuery;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;get_Query;();;Argument[Qualifier];ReturnValue;taint | -| System;Uri;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;Uri;false;get_UserInfo;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[1];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);;Argument[4];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;UriBuilder;(System.Uri);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;get_Fragment;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Host;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Password;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Path;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Query;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Scheme;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_Uri;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;get_UserName;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;UriBuilder;false;set_Fragment;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Query;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_Scheme;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriBuilder;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| System;UriFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];generated:taint | -| System;UriParser;false;Register;(System.UriParser,System.String,System.Int32);;Argument[1];Argument[0];generated:taint | -| System;UriParser;true;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);;Argument[0];ReturnValue;generated:taint | -| System;UriParser;true;OnNewUri;();;Argument[Qualifier];ReturnValue;generated:value | -| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[0];ReturnValue;generated:taint | -| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[1];ReturnValue;generated:taint | -| System;UriTypeConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;generated:taint | -| System;UriTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;generated:taint | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value | -| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value | -| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value | -| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value | -| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value | -| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value | -| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value | -| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value | -| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value | -| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value | -| System;ValueTuple;false;Create<>;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value | -| System;ValueTuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value | -| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item6];ReturnValue;value | -| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item7];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value | -| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item6];ReturnValue;value | -| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item7];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value | -| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item6];ReturnValue;value | -| System;ValueTuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value | -| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item5];ReturnValue;value | -| System;ValueTuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value | -| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item3];ReturnValue;value | -| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item4];ReturnValue;value | -| System;ValueTuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value | -| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value | -| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value | -| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item1];ReturnValue;value | -| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item2];ReturnValue;value | -| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item3];ReturnValue;value | -| System;ValueTuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value | -| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value | -| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item1];ReturnValue;value | -| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item2];ReturnValue;value | -| System;ValueTuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;generated:taint | -| System;ValueTuple<>;false;ValueTuple;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value | -| System;ValueTuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<>.Item1];ReturnValue;value | +| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;BinaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;Convert;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Type);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;GetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;Invoke;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeConstructor;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;InvokeMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Collections.Generic.IEnumerable,System.Type,System.Collections.Generic.IEnumerable);;Argument[4].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;IsEvent;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[1];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetIndex;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;SetMember;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.String,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[2];ReturnValue;taint;generated | +| Microsoft.CSharp.RuntimeBinder;Binder;false;UnaryOperation;(Microsoft.CSharp.RuntimeBinder.CSharpBinderFlags,System.Linq.Expressions.ExpressionType,System.Type,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;Extensions;false;Append;(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment);;Argument[0];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[0].Element;ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringSegment;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer+Enumerator;false;Enumerator;(Microsoft.Extensions.Primitives.StringTokenizer);;Argument[0].Element;Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(Microsoft.Extensions.Primitives.StringSegment,System.Char[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringTokenizer;false;StringTokenizer;(System.String,System.Char[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| Microsoft.Extensions.Primitives;StringValues+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Concat;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Contains;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(Microsoft.Extensions.Primitives.StringValues,System.String[]);;Argument[1].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.Object);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String,Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[]);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Equals;(System.String[],Microsoft.Extensions.Primitives.StringValues);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;GetHashCode;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;IndexOf;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;IsNullOrEmpty;(Microsoft.Extensions.Primitives.StringValues);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;Remove;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;StringValues;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Count;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[0];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual | +| Microsoft.Extensions.Primitives;StringValues;false;set_Item;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Microsoft.VisualBasic;Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| Microsoft.VisualBasic;Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.VisualBasic;Collection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.VisualBasic;Collection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Microsoft.Win32.SafeHandles;SafeFileHandle;false;SafeFileHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Win32.SafeHandles;SafePipeHandle;false;SafePipeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Win32.SafeHandles;SafeProcessHandle;false;SafeProcessHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Microsoft.Win32.SafeHandles;SafeWaitHandle;false;SafeWaitHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| Newtonsoft.Json.Linq;JArray;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JArray;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JConstructor;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JConstructor;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JContainer;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(Newtonsoft.Json.Linq.JObject);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;JObject;(System.Object[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JObject;false;Parse;(System.String,Newtonsoft.Json.Linq.JsonLoadSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.Object,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JObject;false;set_Item;(System.String,Newtonsoft.Json.Linq.JToken);;Argument[1];Argument[Qualifier].Element;value;manual | +| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,Newtonsoft.Json.Linq.JsonSelectSettings);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;SelectToken;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json.Linq;JToken;false;ToString;(Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[Qualifier];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeAnonymousType<>;(System.String,T,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject;(System.String,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeObject<>;(System.String,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;DeserializeXmlNode;(System.String,System.String,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object);;Argument[0];Argument[1];taint;manual | +| Newtonsoft.Json;JsonConvert;false;PopulateObject;(System.String,System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];Argument[1];taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonConverter[]);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.Formatting,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeObject;(System.Object,System.Type,Newtonsoft.Json.JsonSerializerSettings);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXNode;(System.Xml.Linq.XObject,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;SerializeXmlNode;(System.Xml.XmlNode,Newtonsoft.Json.Formatting,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTime,Newtonsoft.Json.DateFormatHandling,Newtonsoft.Json.DateTimeZoneHandling);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.DateTimeOffset,Newtonsoft.Json.DateFormatHandling);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Enum);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Guid);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.String);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.String,System.Char,Newtonsoft.Json.StringEscapeHandling);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.TimeSpan);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonConvert;false;ToString;(System.Uri);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Deserialize;(Newtonsoft.Json.JsonReader,System.Type);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Deserialize;(System.IO.TextReader,System.Type);;Argument[0];ReturnValue;taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object);;Argument[1];Argument[0];taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(Newtonsoft.Json.JsonWriter,System.Object,System.Type);;Argument[1];Argument[0];taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object);;Argument[1];Argument[0];taint;manual | +| Newtonsoft.Json;JsonSerializer;false;Serialize;(System.IO.TextWriter,System.Object,System.Type);;Argument[1];Argument[0];taint;manual | +| System.Buffers;ArrayBufferWriter<>;false;GetMemory;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ArrayBufferWriter<>;false;get_WrittenMemory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;BuffersExtensions;false;PositionOf<>;(System.Buffers.ReadOnlySequence,T);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Buffers;MemoryHandle;false;MemoryHandle;(System.Void*,System.Runtime.InteropServices.GCHandle,System.Buffers.IPinnable);;Argument[2];Argument[Qualifier];taint;generated | +| System.Buffers;MemoryHandle;false;get_Pointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;MemoryManager<>;false;CreateMemory;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;MemoryManager<>;true;get_Memory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>+Enumerator;false;Enumerator;(System.Buffers.ReadOnlySequence<>);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;GetPosition;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[2];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;ReadOnlySequence;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int32,System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64);;Argument[Qualifier];ReturnValue;value;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.Int64,System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;Slice;(System.SequencePosition,System.SequencePosition);;Argument[1];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;TryGet;(System.SequencePosition,System.ReadOnlyMemory,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;get_End;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;get_First;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;ReadOnlySequence<>;false;get_Start;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;SequenceReader;(System.Buffers.ReadOnlySequence);;Argument[0];Argument[Qualifier];taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadTo;(System.Buffers.ReadOnlySequence,T,T,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;TryReadToAny;(System.Buffers.ReadOnlySequence,System.ReadOnlySpan,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;get_Position;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Buffers;SequenceReader<>;false;get_UnreadSequence;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;GeneratedCodeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Tool;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;GeneratedCodeAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;IndentedTextWriter;(System.IO.TextWriter,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.CodeDom.Compiler;IndentedTextWriter;false;get_InnerWriter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;Add;(T,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;BlockingCollection;(System.Collections.Concurrent.IProducerConsumerCollection,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.Int32,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;BlockingCollection<>;false;TryAdd;(T,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Concurrent;ConcurrentBag<>;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;TryAdd;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentBag<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;ConcurrentDictionary;(System.Int32,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;GetOrAdd;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Concurrent;ConcurrentDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Concurrent;ConcurrentStack<>;false;ConcurrentStack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryPopRange;(T[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Concurrent;ConcurrentStack<>;false;TryTake;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;IProducerConsumerCollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Concurrent;OrderablePartitioner<>;false;GetDynamicPartitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IEnumerable,System.Collections.Concurrent.EnumerablePartitionerOptions);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(System.Collections.Generic.IList,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Concurrent;Partitioner;false;Create<>;(TSource[],System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;GetValueOrDefault<,>;(System.Collections.Generic.IReadOnlyDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Generic;CollectionExtensions;false;Remove<,>;(System.Collections.Generic.IDictionary,TKey,TValue);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Entry;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+Enumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+KeyCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+KeyCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Dictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+ValueCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+ValueCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.Dictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Dictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;Dictionary<,>;false;Dictionary;(System.Int32,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Generic;Dictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Dictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Generic;Dictionary<,>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;Dictionary<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Dictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;Dictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;Dictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;HashSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;HashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.HashSet<>+Enumerator.Current];value;manual | +| System.Collections.Generic;HashSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;HashSet<>;false;HashSet;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;HashSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;HashSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;ICollection<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;ICollection<>;true;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;IDictionary<,>;true;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;IDictionary<,>;true;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Generic;IDictionary<,>;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;IDictionary<,>;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;IDictionary<,>;true;set_Item;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;IEnumerable<>;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;IList<>;true;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;IList<>;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;IList<>;true;set_Item;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;ISet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;KeyValuePair<,>;false;Deconstruct;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[0];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;KeyValuePair<,>;false;KeyValuePair;(TKey,TValue);;Argument[1];ReturnValue.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;KeyValuePair<,>;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;KeyValuePair<,>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddAfter;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddBefore;(System.Collections.Generic.LinkedListNode,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddFirst;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(System.Collections.Generic.LinkedListNode);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;AddLast;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;Find;(T);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;LinkedList<>;false;FindLast;(T);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;LinkedList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.LinkedList<>+Enumerator.Current];value;manual | +| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;LinkedList;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;Remove;(System.Collections.Generic.LinkedListNode);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedList<>;false;get_First;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;get_Last;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;LinkedListNode<>;false;LinkedListNode;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_Next;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_Previous;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;LinkedListNode<>;false;set_Value;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;List<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;List<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Generic;List<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Generic;List<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Generic;List<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;List<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.List<>+Enumerator.Current];value;manual | +| System.Collections.Generic;List<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Generic;List<>;false;List;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;List<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;List<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;Queue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Queue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;Enqueue;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;Queue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Queue<>+Enumerator.Current];value;manual | +| System.Collections.Generic;Queue<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;Queue<>;false;Queue;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Queue<>;false;TryDequeue;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Queue<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+KeyCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;KeyCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+ValueCollection+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;ValueCollection;(System.Collections.Generic.SortedDictionary<,>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;SortedDictionary;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Generic;SortedList<,>;false;SortedList;(System.Collections.Generic.IDictionary,System.Collections.Generic.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Generic;SortedList<,>;false;TryGetValue;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedList<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedList<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedList<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;SortedList<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.SortedSet<>+Enumerator.Current];value;manual | +| System.Collections.Generic;SortedSet<>;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;GetViewBetween;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;SortedSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;SymmetricExceptWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;SortedSet<>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;SortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Generic;Stack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;CopyTo;(T[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Generic;Stack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.Stack<>+Enumerator.Current];value;manual | +| System.Collections.Generic;Stack<>;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;Stack<>;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Generic;Stack<>;false;Push;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Generic;Stack<>;false;Stack;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Generic;Stack<>;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;TryPeek;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;TryPop;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Generic;Stack<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;IImmutableDictionary<,>;true;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;IImmutableList<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;IImmutableList<>;true;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;IImmutableSet<>;true;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(System.Collections.Immutable.ImmutableArray,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T,T,T,T);;Argument[3];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;Create<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray;false;ToImmutableArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(System.Collections.Immutable.ImmutableArray<>+Builder);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange;(T[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;AddRange<>;(TDerived[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;MoveToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableArray<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Add;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AddRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;As<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;AsMemory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;CastArray<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;CastUp<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Insert;(System.Int32,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;InsertRange;(System.Int32,System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;OfType<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Collections.Immutable.ImmutableArray<>,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableArray<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;Create<,>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;GetValueOrDefault<,>;(System.Collections.Immutable.IImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary;false;ToImmutableDictionary<,>;(System.Collections.Immutable.ImmutableDictionary+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;WithComparers;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;CreateRange<>;(System.Collections.Generic.IEqualityComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet;false;ToImmutableHashSet<>;(System.Collections.Immutable.ImmutableHashSet+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableHashSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableHashSet<>;false;Intersect;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;SymmetricExcept;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;WithComparer;(System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableHashSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableInterlocked;false;GetOrAdd<,>;(System.Collections.Immutable.ImmutableDictionary,TKey,TValue);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Remove<>;(System.Collections.Immutable.IImmutableList,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;RemoveRange<>;(System.Collections.Immutable.IImmutableList,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];Argument[0].Element;taint;generated | +| System.Collections.Immutable;ImmutableList;false;Replace<>;(System.Collections.Immutable.IImmutableList,T,T);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList;false;ToImmutableList<>;(System.Collections.Immutable.ImmutableList+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[2];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(System.Int32,System.Int32,T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[3];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[0];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;BinarySearch;(T,System.Collections.Generic.IComparer);;Argument[Qualifier];Argument[1];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;CopyTo;(T[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Find;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindAll;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;Argument[0].Parameter[0];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;FindLast;(System.Predicate);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableList<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableList<>;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Insert;(System.Int32,T);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;InsertRange;(System.Int32,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Remove;(T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableList<>;false;RemoveRange;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Replace;(T,T,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;SetItem;(System.Int32,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;Sort;(System.Int32,System.Int32,System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableList<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableList<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue;false;Dequeue<>;(System.Collections.Immutable.IImmutableQueue,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Dequeue;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;Enqueue;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableQueue<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableQueue<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableQueue<>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;Create<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;CreateBuilder<,>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Generic.IEnumerable>,System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[2];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary;false;ToImmutableSortedDictionary<,>;(System.Collections.Immutable.ImmutableSortedDictionary+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;GetValueOrDefault;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>+Builder;false;set_ValueComparer;(System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Add;(TKey,TValue);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;AddRange;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedDictionary<,>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;Remove;(TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;RemoveRange;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItem;(TKey,TValue);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;SetItems;(System.Collections.Generic.IEnumerable>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;TryGetKey;(TKey,TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;WithComparers;(System.Collections.Generic.IComparer,System.Collections.Generic.IEqualityComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_ValueComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;Create<>;(System.Collections.Generic.IComparer,T[]);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateBuilder<>;(System.Collections.Generic.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IComparer,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet;false;ToImmutableSortedSet<>;(System.Collections.Immutable.ImmutableSortedSet+Builder);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;IntersectWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;ToImmutable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;UnionWith;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Max;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_Min;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Builder;false;set_KeyComparer;(System.Collections.Generic.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Except;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableSortedSet<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Remove;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;ToBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;TryGetValue;(T,T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;Union;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;WithComparer;(System.Collections.Generic.IComparer);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_KeyComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Max;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_Min;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableSortedSet<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Immutable;ImmutableStack;false;Create<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack;false;Create<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack;false;CreateRange<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack;false;Pop<>;(System.Collections.Immutable.IImmutableStack,T);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Immutable.ImmutableStack<>+Enumerator.Current];value;manual | +| System.Collections.Immutable;ImmutableStack<>;false;Peek;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Pop;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Pop;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[0];ReturnValue;taint;generated | +| System.Collections.Immutable;ImmutableStack<>;false;Push;(T);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;Collection<>;false;Collection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;Collection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;Collection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;Collection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;Collection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;InsertItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;KeyedCollection;(System.Collections.Generic.IEqualityComparer,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;SetItem;(System.Int32,TItem);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;TryGetValue;(TKey,TItem);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;KeyedCollection<,>;false;get_Item;(TKey);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.ObjectModel;ObservableCollection<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;ObservableCollection<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;ReadOnlyCollection;(System.Collections.Generic.IList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyCollection<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+KeyCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>+ValueCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;ReadOnlyDictionary;(System.Collections.Generic.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Item;(TKey);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.ObjectModel;ReadOnlyDictionary<,>;false;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections.Specialized;HybridDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;HybridDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;IOrderedDictionary;true;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections.Specialized;IOrderedDictionary;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections.Specialized;ListDictionary;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;ListDictionary;false;ListDictionary;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;ListDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;NameObjectCollectionBase+KeysCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseAdd;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGet;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllKeys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetAllValues;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseGetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;BaseSet;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;NameObjectCollectionBase;(System.Int32,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameObjectCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;NameObjectCollectionBase;true;get_Keys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;Add;(System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;NameValueCollection;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;NameValueCollection;false;Get;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;NameValueCollection;(System.Int32,System.Collections.Specialized.NameValueCollection);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;Set;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NameValueCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NameValueCollection;false;set_Item;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Collections.IList,System.Int32);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Collections.IList,System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Int32,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;NotifyCollectionChangedEventArgs;(System.Collections.Specialized.NotifyCollectionChangedAction,System.Object,System.Object,System.Int32);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_NewItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;NotifyCollectionChangedEventArgs;false;get_OldItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;AsReadOnly;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections.Specialized;OrderedDictionary;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Int32,System.Collections.IEqualityComparer);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;OrderedDictionary;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections.Specialized;OrderedDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections.Specialized;StringCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;AddRange;(System.String[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;CopyTo;(System.String[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Specialized.StringEnumerator.Current];value;manual | +| System.Collections.Specialized;StringCollection;false;Insert;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections.Specialized;StringCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;StringCollection;false;set_Item;(System.Int32,System.String);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections.Specialized;StringDictionary;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections.Specialized;StringDictionary;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;StringDictionary;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections.Specialized;StringEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Adapter;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;AddRange;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Collections;ArrayList;false;ArrayList;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections;ArrayList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;CopyTo;(System.Array);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Collections;ArrayList;false;FixedSize;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;FixedSize;(System.Collections.IList);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;GetEnumerator;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;ArrayList;false;GetRange;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;InsertRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Collections;ArrayList;false;ReadOnly;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;ReadOnly;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Repeat;(System.Object,System.Int32);;Argument[0];ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;ArrayList;false;SetRange;(System.Int32,System.Collections.ICollection);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Collections;ArrayList;false;Synchronized;(System.Collections.ArrayList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;Synchronized;(System.Collections.IList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;ArrayList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;And;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;BitArray;false;LeftShift;(System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Not;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Or;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;RightShift;(System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;Xor;(System.Collections.BitArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;BitArray;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;CollectionBase;false;Remove;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;CollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;CollectionBase;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;CollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Comparer;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections;DictionaryBase;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_InnerHashtable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryBase;true;OnGet;(System.Object,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;Deconstruct;(System.Object,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;DictionaryEntry;false;DictionaryEntry;(System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections;DictionaryEntry;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;DictionaryEntry;false;set_Key;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;DictionaryEntry;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;Hashtable;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IEqualityComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Collections.IDictionary,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IEqualityComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Hashtable;(System.Int32,System.Single,System.Collections.IHashCodeProvider,System.Collections.IComparer);;Argument[3];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;Synchronized;(System.Collections.Hashtable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;Hashtable;false;get_EqualityComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;Hashtable;false;get_comparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;get_hcp;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Hashtable;false;set_comparer;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Hashtable;false;set_hcp;(System.Collections.IHashCodeProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;ICollection;true;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;IDictionary;true;Add;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;IDictionary;true;get_Item;(System.Object);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;IDictionary;true;get_Keys;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element;value;manual | +| System.Collections;IDictionary;true;get_Values;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;IDictionary;true;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;IEnumerable;true;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Collections;IList;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Collections;IList;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;IList;true;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;IList;true;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Collections;Queue;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;Queue;false;Dequeue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Queue;false;Enqueue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Queue;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;Queue;false;Queue;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections;Queue;false;Synchronized;(System.Collections.Queue);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;Queue;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;ReadOnlyCollectionBase;false;get_InnerList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;ReadOnlyCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;SortedList;false;GetByIndex;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Collections;SortedList;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;GetKey;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;GetKeyList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;SortedList;false;GetValueList;();;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element;value;manual | +| System.Collections;SortedList;false;SetByIndex;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Collections;SortedList;false;SortedList;(System.Collections.IComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Collections;SortedList;false;SortedList;(System.Collections.IDictionary,System.Collections.IComparer);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Collections;SortedList;false;Synchronized;(System.Collections.SortedList);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;SortedList;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Collections;Stack;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Collections;Stack;false;Peek;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;Stack;false;Pop;();;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Collections;Stack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Collections;Stack;false;Stack;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Collections;Stack;false;Synchronized;(System.Collections.Stack);;Argument[0].Element;ReturnValue;taint;generated | +| System.Collections;Stack;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Collections;Stack;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations.Schema;ColumnAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;get_Schema;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations.Schema;TableAttribute;false;set_Schema;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;AssociatedMetadataTypeTypeDescriptionProvider;false;AssociatedMetadataTypeTypeDescriptionProvider;(System.Type,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;CustomValidationAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateField;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetAutoGenerateFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;GetOrder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_GroupName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_Prompt;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ResourceType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;get_ShortName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_GroupName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_Prompt;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayAttribute;false;set_ShortName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayText;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;get_NullDisplayTextResourceType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;DisplayFormatAttribute;false;set_NullDisplayTextResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;FormatErrorMessage;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;get_Extensions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;FileExtensionsAttribute;false;set_Extensions;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;FilterUIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;MetadataTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;MetadataTypeAttribute;false;get_MetadataClassType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;UIHintAttribute;false;get_ControlParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;get_ErrorMessageResourceType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessage;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;false;set_ErrorMessageResourceType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationAttribute;true;FormatErrorMessage;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationContext;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationContext;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.DataAnnotations;ValidationContext;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationException;false;ValidationException;(System.ComponentModel.DataAnnotations.ValidationResult,System.ComponentModel.DataAnnotations.ValidationAttribute,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.DataAnnotations;ValidationException;false;get_ValidationResult;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;Append;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;Pop;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;Push;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;ContextStack;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;DesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design.Serialization;RootDesignerSerializerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerCollection;false;DesignerCollection;(System.Collections.IList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel.Design;DesignerCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService+DesignerOptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService;false;CreateOptionCollection;(System.ComponentModel.Design.DesignerOptionService+DesignerOptionCollection,System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerOptionService;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;DesignerVerb;false;set_Description;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerVerbCollection;false;Add;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerbCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;AddRange;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;CopyTo;(System.ComponentModel.Design.DesignerVerb[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;DesignerVerbCollection;(System.ComponentModel.Design.DesignerVerb[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerVerbCollection;false;Insert;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;Remove;(System.ComponentModel.Design.DesignerVerb);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel.Design;DesignerVerbCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel.Design;DesignerVerbCollection;false;set_Item;(System.Int32,System.ComponentModel.Design.DesignerVerb);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel.Design;MenuCommand;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;ServiceContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel.Design;ServiceContainer;false;ServiceContainer;(System.IServiceProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ArrayConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;AsyncOperation;false;get_SynchronizationContext;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;AttributeCollection;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;FromExisting;(System.ComponentModel.AttributeCollection,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;AttributeCollection;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;AttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;BaseNumberConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;BindingList<>;false;InsertItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;BindingList<>;false;SetItem;(System.Int32,T);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;CategoryAttribute;false;CategoryAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;CategoryAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CharConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;CollectionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Component;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ComponentCollection;false;ComponentCollection;(System.ComponentModel.IComponent[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;ComponentCollection;false;CopyTo;(System.ComponentModel.IComponent[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.ComponentModel;ComponentCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ComponentCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;ComponentResourceManager;false;ApplyResources;(System.Object,System.String,System.Globalization.CultureInfo);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;Container;false;Add;(System.ComponentModel.IComponent,System.String);;Argument[1];Argument[0];taint;generated | +| System.ComponentModel;Container;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;Container;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;Container;false;get_Components;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ContainerFilterService;true;FilterComponents;(System.ComponentModel.ComponentCollection);;Argument[0].Element;ReturnValue;taint;generated | +| System.ComponentModel;CultureInfoConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CultureInfoConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;CultureInfoConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;false;CustomTypeDescriptor;(System.ComponentModel.ICustomTypeDescriptor);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;CustomTypeDescriptor;true;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;DateTimeOffsetConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;DecimalConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;DefaultValueAttribute;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;DefaultValueAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;DesignerAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EditorAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EnumConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Add;(System.ComponentModel.EventDescriptor);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;EventDescriptorCollection;(System.ComponentModel.EventDescriptor[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;EventDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.EventDescriptor);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;EventDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;AddHandler;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;AddHandlers;(System.ComponentModel.EventHandlerList);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;get_Item;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;EventHandlerList;false;set_Item;(System.Object,System.Delegate);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;GuidConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;IBindingList;true;Find;(System.ComponentModel.PropertyDescriptor,System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;InstallerTypeAttribute;false;InstallerTypeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicFileLicenseProvider;false;GetKey;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;LicFileLicenseProvider;false;GetLicense;(System.ComponentModel.LicenseContext,System.Type,System.Object,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;LicenseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseException;false;LicenseException;(System.Type,System.Object,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;LicenseProviderAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;get_LicenseProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;LicenseProviderAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ListSortDescriptionCollection;false;ListSortDescriptionCollection;(System.ComponentModel.ListSortDescription[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;ListSortDescriptionCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;ListSortDescriptionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel;ListSortDescriptionCollection;false;set_Item;(System.Int32,System.ComponentModel.ListSortDescription);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;MarshalByValueComponent;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MarshalByValueComponent;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MarshalByValueComponent;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MarshalByValueComponent;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToDisplayString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Boolean,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MaskedTextProvider;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;FindMethod;(System.Type,System.String,System.Type[],System.Type,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;GetInvokee;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;GetSite;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.ComponentModel.MemberDescriptor,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;false;MemberDescriptor;(System.String,System.Attribute[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;MemberDescriptor;true;CreateAttributeCollection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;FillAttributes;(System.Collections.IList);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.ComponentModel;MemberDescriptor;true;GetInvocationTarget;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_AttributeArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;MemberDescriptor;true;set_AttributeArray;(System.Attribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;MultilineStringConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;NestedContainer;false;CreateSite;(System.ComponentModel.IComponent,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;NestedContainer;false;GetService;(System.Type);;Argument[Qualifier];ReturnValue;value;generated | +| System.ComponentModel;NullableConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;NullableConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;NullableConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object,System.Attribute[]);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;ProgressChangedEventArgs;false;ProgressChangedEventArgs;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.ComponentModel;ProgressChangedEventArgs;false;get_UserState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;false;GetValueChangedHandler;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;PropertyDescriptor;true;GetEditor;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptor;true;get_Converter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.ComponentModel.PropertyDescriptor);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Add;(System.Object);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Find;(System.String,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Insert;(System.Int32,System.ComponentModel.PropertyDescriptor);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[]);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;PropertyDescriptorCollection;(System.ComponentModel.PropertyDescriptor[],System.Boolean);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;Sort;(System.String[],System.Collections.IComparer);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.ComponentModel;PropertyDescriptorCollection;false;set_Item;(System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.String,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;PropertyTabAttribute;false;PropertyTabAttribute;(System.Type,System.ComponentModel.PropertyTabScope);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;PropertyTabAttribute;false;get_TabClasses;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ReferenceConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;ReferenceConverter;false;ReferenceConverter;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;RunWorkerCompletedEventArgs;false;RunWorkerCompletedEventArgs;(System.Object,System.Exception,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;RunWorkerCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;StringConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TimeSpanConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;ToolboxItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ToolboxItemAttribute;false;get_ToolboxItemTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;ToolboxItemFilterAttribute;false;get_TypeId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter+StandardValuesCollection;false;StandardValuesCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;TypeConverter+StandardValuesCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFrom;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromInvariantString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.ComponentModel.ITypeDescriptorContext,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertFromString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertTo;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToInvariantString;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;ConvertToString;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;GetProperties;(System.ComponentModel.ITypeDescriptorContext,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;GetProperties;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;GetStandardValues;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeConverter;false;SortProperties;(System.ComponentModel.PropertyDescriptorCollection,System.String[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;GetTypeDescriptor;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;false;TypeDescriptionProvider;(System.ComponentModel.TypeDescriptionProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetExtendedTypeDescriptor;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetReflectionType;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetRuntimeType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptionProvider;true;GetTypeDescriptor;(System.Type,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Object,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;AddAttributes;(System.Type,System.Attribute[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.ComponentModel.EventDescriptor,System.Attribute[]);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateEvent;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.ComponentModel.PropertyDescriptor,System.Attribute[]);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;CreateProperty;(System.Type,System.String,System.Type,System.Attribute[]);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetAssociation;(System.Type,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetFullComponentName;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetProvider;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeDescriptor;false;GetReflectionType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;GetStandardValues;(System.ComponentModel.ITypeDescriptorContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.ComponentModel;TypeListConverter;false;TypeListConverter;(System.Type[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.ComponentModel;VersionConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.ComponentModel;WarningException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;Win32Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.ComponentModel;Win32Exception;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataAdapter;false;get_TableMappings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMapping;false;DataColumnMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;GetDataColumnBySchemaAction;(System.String,System.String,System.Data.DataTable,System.Type,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;get_DataSetColumn;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;get_SourceColumn;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMapping;false;set_DataSetColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMapping;false;set_SourceColumn;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;AddRange;(System.Data.Common.DataColumnMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;CopyTo;(System.Data.Common.DataColumnMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;GetByDataSetColumn;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetColumnMappingBySchemaAction;(System.Data.Common.DataColumnMappingCollection,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;GetDataColumn;(System.Data.Common.DataColumnMappingCollection,System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[3];ReturnValue;taint;generated | +| System.Data.Common;DataColumnMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataColumnMappingCollection;false;set_Item;(System.String,System.Data.Common.DataColumnMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMapping;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;DataTableMapping;(System.String,System.String,System.Data.Common.DataColumnMapping[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetColumnMappingBySchemaAction;(System.String,System.Data.MissingMappingAction);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetDataColumn;(System.String,System.Type,System.Data.DataTable,System.Data.MissingMappingAction,System.Data.MissingSchemaAction);;Argument[2];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;GetDataTableBySchemaAction;(System.Data.DataSet,System.Data.MissingSchemaAction);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;get_ColumnMappings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;get_DataSetTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;get_SourceTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMapping;false;set_DataSetTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMapping;false;set_SourceTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;AddRange;(System.Data.Common.DataTableMapping[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;CopyTo;(System.Data.Common.DataTableMapping[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;GetByDataSetTable;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;GetTableMappingBySchemaAction;(System.Data.Common.DataTableMappingCollection,System.String,System.String,System.Data.MissingMappingAction);;Argument[2];ReturnValue;taint;generated | +| System.Data.Common;DataTableMappingCollection;false;Insert;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataTableMappingCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DataTableMappingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.Int32,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DataTableMappingCollection;false;set_Item;(System.String,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbCommand;false;ExecuteReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;ExecuteReader;(System.Data.CommandBehavior);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommand;false;set_Connection;(System.Data.Common.DbConnection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;false;set_Connection;(System.Data.IDbConnection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.Common.DbTransaction);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;false;set_Transaction;(System.Data.IDbTransaction);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommand;true;PrepareAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetDeleteCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetInsertCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;GetUpdateCommand;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;RowUpdatingHandler;(System.Data.Common.RowUpdatingEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.Common;DbCommandBuilder;false;get_DataAdapter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;false;set_DataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;InitializeCommand;(System.Data.Common.DbCommand);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_CatalogSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_QuotePrefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_QuoteSuffix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;get_SchemaSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_CatalogSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_QuotePrefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_QuoteSuffix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbCommandBuilder;true;set_SchemaSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbConnection;false;CreateCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnection;true;ChangeDatabaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbConnection;true;OpenAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[1];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String);;Argument[2];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[1];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;AppendKeyValuePair;(System.Text.StringBuilder,System.String,System.String,System.Boolean);;Argument[2];Argument[0];taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;GetProperties;(System.Attribute[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DbConnectionStringBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;get_ConnectionString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;get_Item;(System.String);;Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue;value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Data.Common;DbConnectionStringBuilder;false;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Data.Common;DbDataAdapter;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;DbDataAdapter;(System.Data.Common.DbDataAdapter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;get_DeleteCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;get_InsertCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;get_SelectCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;get_UpdateCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_DeleteCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_InsertCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_SelectCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.Common.DbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;false;set_UpdateCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatedEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbDataAdapter;true;CreateRowUpdatingEvent;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];ReturnValue;taint;generated | +| System.Data.Common;DbDataReader;true;GetFieldValue<>;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataReader;true;GetProviderSpecificValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataReader;true;GetProviderSpecificValues;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data.Common;DbDataReader;true;GetTextReader;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbDataRecord;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated | +| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbEnumerator;false;DbEnumerator;(System.Data.IDataReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;DbEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbParameterCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DbParameterCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data.Common;DbParameterCollection;false;set_Item;(System.Int32,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;false;set_Item;(System.String,System.Data.Common.DbParameter);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;Add;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;AddRange;(System.Array);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbParameterCollection;true;Insert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data.Common;DbTransaction;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;CommitAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;ReleaseAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;RollbackAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;RollbackAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Data.Common;DbTransaction;true;SaveAsync;(System.String,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;RowUpdatedEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatedEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;RowUpdatingEventArgs;(System.Data.DataRow,System.Data.IDbCommand,System.Data.StatementType,System.Data.Common.DataTableMapping);;Argument[3];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_BaseCommand;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_Command;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;get_TableMapping;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;set_BaseCommand;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;set_Command;(System.Data.IDbCommand);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.Common;RowUpdatingEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Add;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;Concat;(System.Data.SqlTypes.SqlBinary,System.Data.SqlTypes.SqlBinary);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;SqlBinary;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;ToSqlGuid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBinary;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlBinary;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;Read;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[1].Element;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;SqlBytes;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;Write;(System.Int64,System.Byte[],System.Int32,System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlBytes;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;get_Stream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlBytes;false;set_Stream;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlChars;false;SqlChars;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlChars;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlChars;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Abs;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;AdjustScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Ceiling;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;ConvertToPrecScale;(System.Data.SqlTypes.SqlDecimal,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Floor;(System.Data.SqlTypes.SqlDecimal);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Round;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlDecimal;false;Truncate;(System.Data.SqlTypes.SqlDecimal,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlGuid;false;SqlGuid;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlGuid;false;ToByteArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlGuid;false;ToSqlBinary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Add;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[0];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;Concat;(System.Data.SqlTypes.SqlString,System.Data.SqlTypes.SqlString);;Argument[1];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;GetNonUnicodeBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;GetUnicodeBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlString;false;SqlString;(System.Int32,System.Data.SqlTypes.SqlCompareOptions,System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlString;false;SqlString;(System.String,System.Int32,System.Data.SqlTypes.SqlCompareOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data.SqlTypes;SqlString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;WriteXml;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data.SqlTypes;SqlString;false;get_CompareInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlString;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data.SqlTypes;SqlXml;false;SqlXml;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;Constraint;false;SetDataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;Constraint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;true;get_ConstraintName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;true;get__DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;Constraint;true;set_ConstraintName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.Data.Constraint);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ConstraintCollection;false;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;AddRange;(System.Data.Constraint[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;ConstraintCollection;false;CopyTo;(System.Data.Constraint[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;ConstraintCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;ConstraintCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data;DBConcurrencyException;false;CopyToRows;(System.Data.DataRow[],System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Data;DBConcurrencyException;false;DBConcurrencyException;(System.String,System.Exception,System.Data.DataRow[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data;DBConcurrencyException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data;DBConcurrencyException;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DBConcurrencyException;false;set_Row;(System.Data.DataRow);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;DataColumn;(System.String,System.Type,System.String,System.Data.MappingType);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Caption;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_ColumnName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumn;false;set_Caption;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_ColumnName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_DataType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_DefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_Expression;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumn;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataColumnChangeEventArgs;false;DataColumnChangeEventArgs;(System.Data.DataRow,System.Data.DataColumn,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataColumnChangeEventArgs;false;get_Column;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumnCollection;false;Add;(System.Data.DataColumn);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataColumnCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataColumnCollection;false;AddRange;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;DataColumnCollection;false;CopyTo;(System.Data.DataColumn[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataColumnCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumnCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataColumnCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetDateTime;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetFieldValue<>;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetGuid;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetProviderSpecificValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetString;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetTextReader;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataReaderExtensions;false;GetValue;(System.Data.Common.DbDataReader,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[5].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[6].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;DataRelation;(System.String,System.String,System.String,System.String[],System.String[],System.Boolean);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Data;DataRelation;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ChildColumns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ChildKeyConstraint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ParentColumns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_ParentKeyConstraint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;get_RelationName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRelation;false;set_RelationName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;false;Add;(System.Data.DataRelation);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataRelationCollection;false;CopyTo;(System.Data.DataRelation[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataRelationCollection;false;Remove;(System.Data.DataRelation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn,System.Data.DataColumn,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRelationCollection;true;Add;(System.String,System.Data.DataColumn[],System.Data.DataColumn[],System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRelationCollection;true;AddRange;(System.Data.DataRelation[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;DataRow;false;DataRow;(System.Data.DataRowBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetChildRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.Data.DataRelation,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;GetParentRows;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;SetNull;(System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;SetParentRow;(System.Data.DataRow,System.Data.DataRelation);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;get_Item;(System.Data.DataColumn);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.Data.DataColumn,System.Data.DataRowVersion);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.Int32,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Item;(System.String,System.Data.DataRowVersion);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_ItemArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_RowError;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRow;false;set_Item;(System.Data.DataColumn,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRow;false;set_RowError;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataRowCollection;false;Add;(System.Data.DataRow);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataRowCollection;false;Add;(System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataRowCollection;false;CopyTo;(System.Data.DataRow[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataRowCollection;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataRowCollection;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataRowCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowExtensions;false;SetField<>;(System.Data.DataRow,System.Data.DataColumn,T);;Argument[1];Argument[0];taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.Data.DataRelation,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;CreateChildView;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;GetPropertyOwner;(System.ComponentModel.PropertyDescriptor);;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataRowView;false;get_DataView;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataRowView;false;get_Row;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;CreateDataReader;(System.Data.DataTable[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Data;DataSet;false;DataSet;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;DataSet;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;GetChanges;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;GetList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data;DataSet;false;get_DataSetName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_DefaultViewManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Locale;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Relations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;get_Tables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataSet;false;set_DataSetName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataSet;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;CreateDataReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;DataTable;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;DataTable;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;DataTable;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;GetChanges;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetChanges;(System.Data.DataRowState);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetErrors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;LoadDataRow;(System.Object[],System.Data.LoadOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;NewRow;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;NewRowArray;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;NewRowFromBuilder;(System.Data.DataRowBuilder);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataTable;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_ChildRelations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_DefaultView;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_DisplayExpression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_ExtendedProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Locale;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_ParentRelations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Rows;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;get_TableName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTable;false;set_Locale;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_PrimaryKey;(System.Data.DataColumn[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTable;false;set_TableName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTableCollection;false;Add;(System.Data.DataTable);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataTableCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;DataTableCollection;false;Add;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;AddRange;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data;DataTableCollection;false;CopyTo;(System.Data.DataTable[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataTableCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableCollection;false;get_List;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableExtensions;false;AsEnumerable;(System.Data.DataTable);;Argument[0];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataTableReader;false;DataTableReader;(System.Data.DataTable[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Data;DataTableReader;false;GetDateTime;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetGuid;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetSchemaTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;GetValue;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataTableReader;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;AddNew;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ApplySort;(System.ComponentModel.PropertyDescriptor,System.ComponentModel.ListSortDirection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;DataView;(System.Data.DataTable,System.String,System.String,System.Data.DataViewRowState);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;Find;(System.Object);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;Find;(System.Object[]);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;FindRows;(System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;FindRows;(System.Object[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;GetItemProperties;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;(System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;ToTable;(System.String,System.Boolean,System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;DataView;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataView;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataView;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataView;false;set_Table;(System.Data.DataTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewManager;false;CreateDataView;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;GetListName;(System.ComponentModel.PropertyDescriptor[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;get_DataViewSettings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewManager;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataViewManager;false;set_DataSet;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewSetting;false;get_DataViewManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;get_RowFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;get_Sort;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;get_Table;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSetting;false;set_RowFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewSetting;false;set_Sort;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;DataViewSettingCollection;false;CopyTo;(System.Data.DataViewSetting[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Data;DataViewSettingCollection;false;get_Item;(System.Data.DataTable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSettingCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSettingCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;DataViewSettingCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[0];Argument[1];taint;generated | +| System.Data;DataViewSettingCollection;false;set_Item;(System.Data.DataTable,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];taint;generated | +| System.Data;DataViewSettingCollection;false;set_Item;(System.Int32,System.Data.DataViewSetting);;Argument[Qualifier];Argument[1];taint;generated | +| System.Data;EnumerableRowCollectionExtensions;false;Cast<>;(System.Data.EnumerableRowCollection);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderBy<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;OrderByDescending<,>;(System.Data.EnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Select<,>;(System.Data.EnumerableRowCollection,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenBy<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;ThenByDescending<,>;(System.Data.OrderedEnumerableRowCollection,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;EnumerableRowCollectionExtensions;false;Where<>;(System.Data.EnumerableRowCollection,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;FillErrorEventArgs;false;FillErrorEventArgs;(System.Data.DataTable,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data;FillErrorEventArgs;false;get_DataTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;FillErrorEventArgs;false;get_Errors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;FillErrorEventArgs;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;FillErrorEventArgs;false;set_Errors;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.Data.DataColumn[],System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[1];Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;ForeignKeyConstraint;(System.String,System.String,System.String[],System.String[],System.Data.AcceptRejectRule,System.Data.Rule,System.Data.Rule);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Data;ForeignKeyConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;ForeignKeyConstraint;false;get_RelatedColumns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;IColumnMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;IColumnMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;IDataParameterCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;IDataParameterCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;ITableMappingCollection;true;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Data;ITableMappingCollection;true;set_Item;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Data;InternalDataCollectionBase;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Data;PropertyCollection;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBase<>;false;Cast<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Data;TypedTableBaseExtensions;false;AsEnumerable<>;(System.Data.TypedTableBase);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;ElementAtOrDefault<>;(System.Data.TypedTableBase,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderBy<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;OrderByDescending<,>;(System.Data.TypedTableBase,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;Select<,>;(System.Data.TypedTableBase,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Data;TypedTableBaseExtensions;false;Where<>;(System.Data.TypedTableBase,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.Data.DataColumn[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;UniqueConstraint;(System.String,System.String[],System.Boolean);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Data;UniqueConstraint;false;get_Columns;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractClassAttribute;false;ContractClassAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractClassAttribute;false;get_TypeContainingContracts;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractClassForAttribute;false;ContractClassForAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractClassForAttribute;false;get_TypeContractsAreFor;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;ContractFailedEventArgs;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[3];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Condition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractFailedEventArgs;false;get_OriginalException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;ContractOptionAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Category;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Setting;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractOptionAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;ContractPublicPropertyNameAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Contracts;ContractPublicPropertyNameAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;get_DisplayUnits;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Tracing;DiagnosticCounter;false;set_DisplayUnits;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;DisableEvents;(System.Diagnostics.Tracing.EventSource);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventListener;false;EnableEvents;(System.Diagnostics.Tracing.EventSource,System.Diagnostics.Tracing.EventLevel,System.Diagnostics.Tracing.EventKeywords,System.Collections.Generic.IDictionary);;Argument[Qualifier];Argument[0];taint;generated | +| System.Diagnostics.Tracing;EventSource;false;EventSource;(System.Diagnostics.Tracing.EventSourceSettings,System.String[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GenerateManifest;(System.Type,System.String,System.Diagnostics.Tracing.EventManifestOptions);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GetName;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;GetTrait;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;get_ConstructionException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;get_Guid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventSource;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_ActivityId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_EventName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_PayloadNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics.Tracing;EventWrittenEventArgs;false;get_RelatedActivityId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;AddBaggage;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;AddEvent;(System.Diagnostics.ActivityEvent);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;AddTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;AddTag;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;SetEndTime;(System.DateTime);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetIdFormat;(System.Diagnostics.ActivityIdFormat);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.Diagnostics.ActivityTraceId,System.Diagnostics.ActivitySpanId,System.Diagnostics.ActivityTraceFlags);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;SetParentId;(System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetStartTime;(System.DateTime);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;SetTag;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;Start;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;Activity;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_Events;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_Links;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_ParentId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_ParentSpanId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_RootId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_SpanId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_TagObjects;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_TraceId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;get_TraceStateString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Activity;false;set_DisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Activity;false;set_TraceStateString;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ActivityCreationOptions<>;false;get_SamplingTags;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivitySource;false;StartActivity;(System.String,System.Diagnostics.ActivityKind,System.String,System.Collections.Generic.IEnumerable>,System.Collections.Generic.IEnumerable,System.DateTimeOffset);;Argument[2];ReturnValue;taint;generated | +| System.Diagnostics;ActivitySpanId;false;ToHexString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivitySpanId;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTagsCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;ActivityTagsCollection;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];ReturnValue.Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Diagnostics.ActivityTagsCollection+Enumerator.Current];value;manual | +| System.Diagnostics;ActivityTagsCollection;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTraceId;false;ToHexString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ActivityTraceId;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;CorrelationManager;false;get_LogicalOperationStack;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DataReceivedEventArgs;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerDisplayAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerDisplayAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DebuggerTypeProxyAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerTypeProxyAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DebuggerVisualizerAttribute;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DebuggerVisualizerAttribute;false;set_Target;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DefaultTraceListener;false;get_LogFileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DefaultTraceListener;false;set_LogFileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DelimitedListTraceListener;false;get_Delimiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DelimitedListTraceListener;false;set_Delimiter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;DiagnosticListener;false;Subscribe;(System.IObserver>);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;DiagnosticSource;false;StartActivity;(System.Diagnostics.Activity,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;GetVersionInfo;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_Comments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_CompanyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_FileDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_FileVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_InternalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_Language;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_LegalCopyright;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_LegalTrademarks;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_OriginalFilename;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_PrivateBuild;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_ProductName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_ProductVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;FileVersionInfo;false;get_SpecialBuild;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;GetProcessById;(System.Int32,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;GetProcesses;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;Start;(System.Diagnostics.ProcessStartInfo);;Argument[0];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_ExitTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MachineName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MainModule;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MaxWorkingSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_MinWorkingSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_Modules;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_ProcessorAffinity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StandardError;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StandardInput;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StandardOutput;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StartInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_StartTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;get_Threads;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Process;false;set_ProcessorAffinity;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Process;false;set_StartInfo;(System.Diagnostics.ProcessStartInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessModule;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessModule;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessModule;false;get_ModuleName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessModuleCollection;false;CopyTo;(System.Diagnostics.ProcessModule[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;ProcessModuleCollection;false;ProcessModuleCollection;(System.Diagnostics.ProcessModule[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessModuleCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;ProcessStartInfo;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_Environment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_EnvironmentVariables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_Verb;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;get_WorkingDirectory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_Arguments;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_FileName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_Verb;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessStartInfo;false;set_WorkingDirectory;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessThread;false;get_StartAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;ProcessThreadCollection;false;Add;(System.Diagnostics.ProcessThread);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;ProcessThreadCollection;false;CopyTo;(System.Diagnostics.ProcessThread[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;ProcessThreadCollection;false;Insert;(System.Int32,System.Diagnostics.ProcessThread);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessThreadCollection;false;ProcessThreadCollection;(System.Diagnostics.ProcessThread[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Diagnostics;ProcessThreadCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SourceFilter;false;SourceFilter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SourceFilter;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SourceFilter;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackFrame;false;GetFileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackFrame;false;GetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackFrame;false;StackFrame;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackFrame;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackTrace;false;GetFrame;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;StackTrace;false;StackTrace;(System.Diagnostics.StackFrame);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;StackTrace;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;Switch;false;Switch;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Diagnostics;Switch;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;get_Description;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;Switch;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;SwitchAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;get_SwitchName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SwitchAttribute;false;get_SwitchType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SwitchAttribute;false;set_SwitchName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchAttribute;false;set_SwitchType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchLevelAttribute;false;SwitchLevelAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;SwitchLevelAttribute;false;get_SwitchLevelType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;SwitchLevelAttribute;false;set_SwitchLevelType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.IO.TextWriter,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;TextWriterTraceListener;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TextWriterTraceListener;false;set_Writer;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceEventCache;false;get_Callstack;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceEventCache;false;get_DateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;false;TraceListener;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceListener;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;false;set_Filter;(System.Diagnostics.TraceFilter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceListener;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceListener;true;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceListenerCollection;false;Add;(System.Diagnostics.TraceListener);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListenerCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;AddRange;(System.Diagnostics.TraceListener[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;CopyTo;(System.Diagnostics.TraceListener[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;Insert;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Diagnostics;TraceListenerCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Diagnostics;TraceListenerCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Diagnostics;TraceListenerCollection;false;set_Item;(System.Int32,System.Diagnostics.TraceListener);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Diagnostics;TraceSource;false;TraceSource;(System.String,System.Diagnostics.SourceLevels);;Argument[0];Argument[Qualifier];taint;generated | +| System.Diagnostics;TraceSource;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;get_Listeners;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;get_Switch;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Diagnostics;TraceSource;false;set_Switch;(System.Diagnostics.SourceSwitch);;Argument[0];Argument[Qualifier];taint;generated | +| System.Drawing;Color;false;FromName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;Color;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Drawing;Color;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Drawing;ColorConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;ColorConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;ColorTranslator;false;FromHtml;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;ColorTranslator;false;ToHtml;(System.Drawing.Color);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;PointConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;Rectangle;false;Inflate;(System.Drawing.Rectangle,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;RectangleConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;RectangleF;false;Inflate;(System.Drawing.RectangleF,System.Single,System.Single);;Argument[0];ReturnValue;taint;generated | +| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;SizeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Drawing;SizeFConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetExpressionRestriction;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetInstanceRestriction;(System.Linq.Expressions.Expression,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;GetTypeRestriction;(System.Linq.Expressions.Expression,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Dynamic;BindingRestrictions;false;Merge;(System.Dynamic.BindingRestrictions);;Argument[Qualifier];ReturnValue;value;generated | +| System.Dynamic;BindingRestrictions;false;ToExpression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Dynamic;DynamicMetaObject;false;Create;(System.Object,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Dynamic;DynamicMetaObject;false;DynamicMetaObject;(System.Linq.Expressions.Expression,System.Dynamic.BindingRestrictions,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.Dynamic;DynamicMetaObject;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Dynamic;ExpandoObject;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Dynamic;ExpandoObject;false;TryGetValue;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Formats.Asn1;AsnReader;false;AsnReader;(System.ReadOnlyMemory,System.Formats.Asn1.AsnEncodingRules,System.Formats.Asn1.AsnReaderOptions);;Argument[2];Argument[Qualifier];taint;generated | +| System.Formats.Asn1;AsnReader;false;PeekContentBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;PeekEncodedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadEncodedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadEnumeratedBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadIntegerBytes;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Boolean,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;ReadSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveBitString;(System.Int32,System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveCharacterStringBytes;(System.Formats.Asn1.Asn1Tag,System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnReader;false;TryReadPrimitiveOctetString;(System.ReadOnlyMemory,System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnWriter;false;PushOctetString;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnWriter;false;PushSequence;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Formats.Asn1;AsnWriter;false;PushSetOf;(System.Nullable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;Calendar;false;ReadOnly;(System.Globalization.Calendar);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;GetSortKey;(System.String,System.Globalization.CompareOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CompareInfo;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;CultureInfo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureInfo;false;GetConsoleFallbackUICulture;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfo;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetCultureInfoByIetfLanguageTag;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;ReadOnly;(System.Globalization.CultureInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_EnglishName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_NativeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_NumberFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;get_TextInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureInfo;false;set_DateTimeFormat;(System.Globalization.DateTimeFormatInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureInfo;false;set_NumberFormat;(System.Globalization.NumberFormatInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;CultureNotFoundException;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;CultureNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Globalization;CultureNotFoundException;false;get_InvalidCultureId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureNotFoundException;false;get_InvalidCultureName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;CultureNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedEraName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAbbreviatedMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetAllDateTimePatterns;(System.Char);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetEraName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetMonthName;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;GetShortestDayName;(System.DayOfWeek);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;ReadOnly;(System.Globalization.DateTimeFormatInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;SetAllDateTimePatterns;(System.String[],System.Char);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_AMDesignator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_Calendar;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_DateSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_MonthDayPattern;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_PMDesignator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;get_TimeSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AMDesignator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_AbbreviatedMonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_Calendar;(System.Globalization.Calendar);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_DateSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_DayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_FullDateTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_LongDatePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_LongTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_MonthDayPattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_MonthGenitiveNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_MonthNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_PMDesignator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_ShortDatePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_ShortTimePattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_ShortestDayNames;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_TimeSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DateTimeFormatInfo;false;set_YearMonthPattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;DaylightTime;(System.DateTime,System.DateTime,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated | +| System.Globalization;DaylightTime;false;get_Delta;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DaylightTime;false;get_End;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;DaylightTime;false;get_Start;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;GlobalizationExtensions;false;GetStringComparer;(System.Globalization.CompareInfo,System.Globalization.CompareOptions);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetAscii;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetAscii;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetUnicode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;IdnMapping;false;GetUnicode;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;GetFormat;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;GetInstance;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;ReadOnly;(System.Globalization.NumberFormatInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_CurrencyDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_CurrencyGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_CurrencySymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NaNSymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NegativeInfinitySymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NegativeSign;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NumberDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_NumberGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PerMilleSymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PercentDecimalSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PercentGroupSeparator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PercentSymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PositiveInfinitySymbol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;get_PositiveSign;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;NumberFormatInfo;false;set_CurrencyDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_CurrencyGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_CurrencySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NaNSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NativeDigits;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NegativeInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NegativeSign;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NumberDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_NumberGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PerMilleSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PercentDecimalSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PercentGroupSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PercentSymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PositiveInfinitySymbol;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;NumberFormatInfo;false;set_PositiveSign;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;RegionInfo;false;RegionInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;RegionInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;RegionInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;RegionInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;SortKey;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;SortKey;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;SortVersion;false;SortVersion;(System.Int32,System.Guid);;Argument[1];Argument[Qualifier];taint;generated | +| System.Globalization;SortVersion;false;get_SortId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetNextTextElement;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetNextTextElement;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;GetTextElementEnumerator;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;StringInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;SubstringByTextElements;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;get_String;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;StringInfo;false;set_String;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Globalization;TextElementEnumerator;false;GetTextElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ReadOnly;(System.Globalization.TextInfo);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToLower;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToTitleCase;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;ToUpper;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;get_CultureName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Globalization;TextInfo;false;set_ListSeparator;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;BrotliStream;false;BrotliStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;BrotliStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;BrotliStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;DeflateStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System.IO.Compression;DeflateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;DeflateStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;GZipStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionLevel,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;GZipStream;false;GZipStream;(System.IO.Stream,System.IO.Compression.CompressionMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;GZipStream;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;CreateEntry;(System.String,System.IO.Compression.CompressionLevel);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;ZipArchive;false;ZipArchive;(System.IO.Stream,System.IO.Compression.ZipArchiveMode,System.Boolean,System.Text.Encoding);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO.Compression;ZipArchive;false;get_Entries;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;Open;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_Archive;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_LastWriteTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Compression;ZipArchiveEntry;false;set_LastWriteTime;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Compression;ZipFile;false;Open;(System.String,System.IO.Compression.ZipArchiveMode,System.Text.Encoding);;Argument[2];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[0];ReturnValue;taint;generated | +| System.IO.Compression;ZipFileExtensions;false;CreateEntryFromFile;(System.IO.Compression.ZipArchive,System.String,System.String,System.IO.Compression.CompressionLevel);;Argument[2];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEntry;false;ToFileSystemInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEntry;false;ToSpecifiedFullPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEntry;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemEnumerator<>;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Enumeration;FileSystemName;false;TranslateWin32Expression;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorage;false;get_ApplicationIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorage;false;get_AssemblyIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorage;false;get_DomainIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO.IsolatedStorage;IsolatedStorageFileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedFile;false;CreateFromFile;(System.IO.FileStream,System.String,System.Int64,System.IO.MemoryMappedFiles.MemoryMappedFileAccess,System.IO.HandleInheritability,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedFile;false;get_SafeMemoryMappedFileHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedViewAccessor;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.MemoryMappedFiles;MemoryMappedViewStream;false;get_SafeMemoryMappedViewHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Pipes;AnonymousPipeClientStream;false;AnonymousPipeClientStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO.Pipes;AnonymousPipeServerStream;false;AnonymousPipeServerStream;(System.IO.Pipes.PipeDirection,Microsoft.Win32.SafeHandles.SafePipeHandle,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO.Pipes;AnonymousPipeServerStream;false;get_ClientSafePipeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;ConnectAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO.Pipes;NamedPipeClientStream;false;NamedPipeClientStream;(System.String,System.String,System.IO.Pipes.PipeDirection,System.IO.Pipes.PipeOptions,System.Security.Principal.TokenImpersonationLevel,System.IO.HandleInheritability);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO.Pipes;NamedPipeServerStream;false;NamedPipeServerStream;(System.IO.Pipes.PipeDirection,System.Boolean,System.Boolean,Microsoft.Win32.SafeHandles.SafePipeHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO.Pipes;NamedPipeServerStream;false;WaitForConnectionAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO.Pipes;PipeStream;false;InitializeHandle;(Microsoft.Win32.SafeHandles.SafePipeHandle,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO.Pipes;PipeStream;false;get_SafePipeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;BinaryReader;false;BinaryReader;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;BinaryReader;false;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.IO;BinaryReader;false;ReadBytes;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryReader;false;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;BinaryWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;BinaryWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;BufferedStream;false;BufferedStream;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;BufferedStream;false;get_UnderlyingStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;Directory;false;CreateDirectory;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;Directory;false;GetParent;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;CreateSubdirectory;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;DirectoryInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateDirectories;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFileSystemInfos;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[1];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.EnumerationOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;EnumerateFiles;(System.String,System.IO.SearchOption);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DirectoryInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;DirectoryInfo;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;DriveInfo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;DriveInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;get_RootDirectory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;DriveInfo;false;get_VolumeLabel;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;ErrorEventArgs;false;ErrorEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;ErrorEventArgs;false;GetException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;AppendAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;ReadLines;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated | +| System.IO;File;false;ReadLines;(System.String,System.Text.Encoding);;Argument[1];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllBytesAsync;(System.String,System.Byte[],System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllLinesAsync;(System.String,System.Collections.Generic.IEnumerable,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Text.Encoding,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.IO;File;false;WriteAllTextAsync;(System.String,System.String,System.Threading.CancellationToken);;Argument[2];ReturnValue;taint;generated | +| System.IO;FileInfo;false;CopyTo;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileInfo;false;CopyTo;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileInfo;false;MoveTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileInfo;false;MoveTo;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileInfo;false;get_Directory;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileInfo;false;get_DirectoryName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.IO;FileLoadException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileNotFoundException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.IO;FileNotFoundException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileNotFoundException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;FileStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;FileStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileStream;false;get_SafeFileHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;FileSystemEventArgs;false;FileSystemEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;FileSystemEventArgs;false;get_FullPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;false;get_Extension;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;true;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemInfo;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;FileSystemWatcher;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;get_Filter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;get_Filters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;FileSystemWatcher;false;set_Filter;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;FileSystemWatcher;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;MemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;MemoryStream;false;GetBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[]);;Argument[0];ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;MemoryStream;(System.Byte[],System.Int32,System.Int32,System.Boolean,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;MemoryStream;false;ToArray;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;MemoryStream;false;TryGetBuffer;(System.ArraySegment);;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;MemoryStream;false;WriteTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;generated | +| System.IO;Path;false;ChangeExtension;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Combine;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;manual | +| System.IO;Path;false;Combine;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetDirectoryName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetDirectoryName;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetExtension;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFileName;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetFileName;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFileNameWithoutExtension;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetFileNameWithoutExtension;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFullPath;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetFullPath;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetPathRoot;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.IO;Path;false;GetPathRoot;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;Path;false;GetRelativePath;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2];ReturnValue;taint;generated | +| System.IO;Path;false;Join;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3];ReturnValue;taint;generated | +| System.IO;Path;false;TrimEndingDirectorySeparator;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.IO;Path;false;TrimEndingDirectorySeparator;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;RenamedEventArgs;false;RenamedEventArgs;(System.IO.WatcherChangeTypes,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;RenamedEventArgs;false;get_OldFullPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;RenamedEventArgs;false;get_OldName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;Stream;false;CopyTo;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;false;ReadAsync;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;false;Synchronized;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.IO;Stream;false;WriteAsync;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;Stream;true;BeginRead;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;true;BeginWrite;(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;Stream;true;CopyTo;(System.IO.Stream,System.Int32);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;true;CopyToAsync;(System.IO.Stream,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;manual | +| System.IO;Stream;true;Read;(System.Byte[],System.Int32,System.Int32);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;true;ReadAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Element;taint;manual | +| System.IO;Stream;true;Write;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;Stream;true;WriteAsync;(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken);;Argument[0].Element;Argument[Qualifier];taint;manual | +| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamReader;false;StreamReader;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamReader;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StreamReader;false;get_CurrentEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;StreamWriter;(System.IO.Stream,System.Text.Encoding,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;StreamWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StreamWriter;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StringReader;false;StringReader;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.IO;StringWriter;false;GetStringBuilder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StringWriter;false;StringWriter;(System.Text.StringBuilder,System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;StringWriter;false;Write;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;Write;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteLineAsync;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;StringWriter;false;WriteLineAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextReader;false;Synchronized;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated | +| System.IO;TextReader;true;Read;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;Read;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;Read;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlock;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlock;(System.Span);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlockAsync;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadBlockAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadLine;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadLineAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadToEnd;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextReader;true;ReadToEndAsync;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.IO;TextWriter;false;Synchronized;(System.IO.TextWriter);;Argument[0];ReturnValue;taint;generated | +| System.IO;TextWriter;false;TextWriter;(System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;false;WriteAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;false;WriteLineAsync;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;Write;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;WriteAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.Char[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLine;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.IO;TextWriter;true;WriteLineAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;WriteLineAsync;(System.Text.StringBuilder,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.IO;TextWriter;true;get_FormatProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;TextWriter;true;get_NewLine;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.IO;TextWriter;true;set_NewLine;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryAccessor;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryAccessor;false;UnmanagedMemoryAccessor;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;Initialize;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Byte*,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;UnmanagedMemoryStream;(System.Runtime.InteropServices.SafeBuffer,System.Int64,System.Int64,System.IO.FileAccess);;Argument[0];Argument[Qualifier];taint;generated | +| System.IO;UnmanagedMemoryStream;false;get_PositionPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BinaryExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;BinaryExpression;false;get_Conversion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BinaryExpression;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;Update;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;BlockExpression;false;get_Expressions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;BlockExpression;false;get_Variables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;CatchBlock;false;Update;(System.Linq.Expressions.ParameterExpression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;ConditionalExpression;false;Update;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;ConditionalExpression;false;get_IfFalse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Rewrite;(System.Linq.Expressions.Expression[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;DynamicExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;DynamicExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ElementInit;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Add;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AddChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;And;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAlso;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;AndAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ArrayAccess;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ArrayIndex;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MemberInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Bind;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Block;(System.Type,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Call;(System.Reflection.MethodInfo,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Coalesce;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Condition;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Divide;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;DivideAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Dynamic;(System.Runtime.CompilerServices.CallSiteBinder,System.Type,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Equal;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOr;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ExclusiveOrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Reflection.FieldInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Field;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GetActionType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GetFuncType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;GreaterThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;IfThenElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Invoke;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Boolean,System.Collections.Generic.IEnumerable);;Argument[3].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Lambda<>;(System.Linq.Expressions.Expression,System.String,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LeftShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThan;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;LessThanOrEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeBinary;(System.Linq.Expressions.ExpressionType,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[4];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeDynamic;(System.Type,System.Runtime.CompilerServices.CallSiteBinder,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[5];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeIndex;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MakeMemberAccess;(System.Linq.Expressions.Expression,System.Reflection.MemberInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Modulo;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ModuloAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Multiply;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;MultiplyChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;New;(System.Reflection.ConstructorInfo,System.Collections.Generic.IEnumerable,System.Reflection.MemberInfo[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;NotEqual;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Boolean,System.Reflection.MethodInfo);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Or;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;OrElse;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Power;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;PowerAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Reflection.PropertyInfo,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Property;(System.Linq.Expressions.Expression,System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ReduceAndCheck;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ReduceExtensions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShift;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;RightShiftAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;Subtract;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssign;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractAssignChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo,System.Linq.Expressions.LambdaExpression);;Argument[3];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;SubtractChecked;(System.Linq.Expressions.Expression,System.Linq.Expressions.Expression,System.Reflection.MethodInfo);;Argument[2];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;TryGetActionType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;false;TryGetFuncType;(System.Type[],System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;Expression;true;Accept;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression;true;Reduce;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];Argument[0];taint;generated | +| System.Linq.Expressions;Expression;true;VisitChildren;(System.Linq.Expressions.ExpressionVisitor);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;Expression<>;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;Visit;(System.Collections.ObjectModel.ReadOnlyCollection);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(System.Collections.ObjectModel.ReadOnlyCollection,System.String);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;false;VisitAndConvert<>;(T,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;Visit;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBinary;(System.Linq.Expressions.BinaryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitBlock;(System.Linq.Expressions.BlockExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitCatchBlock;(System.Linq.Expressions.CatchBlock);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitConditional;(System.Linq.Expressions.ConditionalExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitConstant;(System.Linq.Expressions.ConstantExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitDebugInfo;(System.Linq.Expressions.DebugInfoExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitDefault;(System.Linq.Expressions.DefaultExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitDynamic;(System.Linq.Expressions.DynamicExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitElementInit;(System.Linq.Expressions.ElementInit);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitExtension;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitGoto;(System.Linq.Expressions.GotoExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitIndex;(System.Linq.Expressions.IndexExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitInvocation;(System.Linq.Expressions.InvocationExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLabel;(System.Linq.Expressions.LabelExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLabelTarget;(System.Linq.Expressions.LabelTarget);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLambda<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitListInit;(System.Linq.Expressions.ListInitExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitLoop;(System.Linq.Expressions.LoopExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMember;(System.Linq.Expressions.MemberExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberAssignment;(System.Linq.Expressions.MemberAssignment);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberBinding;(System.Linq.Expressions.MemberBinding);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberInit;(System.Linq.Expressions.MemberInitExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberListBinding;(System.Linq.Expressions.MemberListBinding);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMemberMemberBinding;(System.Linq.Expressions.MemberMemberBinding);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitMethodCall;(System.Linq.Expressions.MethodCallExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitNew;(System.Linq.Expressions.NewExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitNewArray;(System.Linq.Expressions.NewArrayExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitParameter;(System.Linq.Expressions.ParameterExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitRuntimeVariables;(System.Linq.Expressions.RuntimeVariablesExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitch;(System.Linq.Expressions.SwitchExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitSwitchCase;(System.Linq.Expressions.SwitchCase);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitTry;(System.Linq.Expressions.TryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitTypeBinary;(System.Linq.Expressions.TypeBinaryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;ExpressionVisitor;true;VisitUnary;(System.Linq.Expressions.UnaryExpression);;Argument[0];ReturnValue;taint;generated | +| System.Linq.Expressions;GotoExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;IndexExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;IndexExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;IndexExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;InvocationExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;LabelExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;LambdaExpression;false;get_Body;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;LambdaExpression;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;ListInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;LoopExpression;false;Update;(System.Linq.Expressions.LabelTarget,System.Linq.Expressions.LabelTarget,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberAssignment;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberAssignment;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MemberExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberExpression;false;get_Member;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MemberInitExpression;false;Update;(System.Linq.Expressions.NewExpression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberListBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MemberMemberBinding;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MethodCallExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;MethodCallExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;MethodCallExpression;false;get_Object;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;NewArrayExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;NewExpression;false;GetArgument;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;NewExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;NewExpression;false;get_Arguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq.Expressions;RuntimeVariablesExpression;false;Update;(System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;SwitchCase;false;Update;(System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;SwitchExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;TryExpression;false;Update;(System.Linq.Expressions.Expression,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression,System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;TypeBinaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq.Expressions;UnaryExpression;false;Update;(System.Linq.Expressions.Expression);;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Aggregate<,,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Aggregate<,>;(System.Collections.Generic.IEnumerable,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Aggregate<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue;value;manual | +| System.Linq;Enumerable;false;All<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Any<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Append<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated | +| System.Linq;Enumerable;false;AsEnumerable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Average<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Cast<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Concat<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Count<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;DefaultIfEmpty<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;value;manual | +| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Distinct<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ElementAt<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;ElementAtOrDefault<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Except<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;First<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;FirstOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;GroupJoin<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Intersect<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Join<,,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Last<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;LastOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;LongCount<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Max<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Min<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OfType<>;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderBy<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;OrderByDescending<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Prepend<>;(System.Collections.Generic.IEnumerable,TSource);;Argument[1];ReturnValue;taint;generated | +| System.Linq;Enumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Linq;Enumerable;false;Reverse<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Select<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;SelectMany<,,>;(System.Collections.Generic.IEnumerable,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SelectMany<,>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Single<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SingleOrDefault<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Enumerable;false;Skip<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SkipLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;SkipWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Sum<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Take<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;TakeLast<>;(System.Collections.Generic.IEnumerable,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;TakeWhile<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenBy<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ThenByDescending<,>;(System.Linq.IOrderedEnumerable,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToArray<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToDictionary<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToList<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,,>;(System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;ToLookup<,>;(System.Collections.Generic.IEnumerable,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Union<>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Where<>;(System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Enumerable;false;Zip<,,>;(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;EnumerableExecutor<>;false;EnumerableExecutor;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq;EnumerableQuery<>;false;CreateQuery<>;(System.Linq.Expressions.Expression);;Argument[0];ReturnValue;taint;generated | +| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Linq;EnumerableQuery<>;false;EnumerableQuery;(System.Linq.Expressions.Expression);;Argument[0];Argument[Qualifier];taint;generated | +| System.Linq;EnumerableQuery<>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Linq;EnumerableQuery<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq;EnumerableQuery<>;false;get_Expression;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq;EnumerableQuery<>;false;get_Provider;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Linq;ImmutableArrayExtensions;false;ElementAt<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;ElementAtOrDefault<>;(System.Collections.Immutable.ImmutableArray,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;First<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;FirstOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ImmutableArrayExtensions;false;Last<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;LastOrDefault<>;(System.Collections.Immutable.ImmutableArray+Builder);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ImmutableArrayExtensions;false;Single<>;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;Lookup<,>;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System.Linq;Lookup<,>;false;get_Item;(TKey);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,,>;(System.Linq.ParallelQuery,TAccumulate,System.Func,System.Func);;Argument[3].ReturnValue;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<,>;(System.Linq.ParallelQuery,TAccumulate,System.Func);;Argument[2].ReturnValue;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Aggregate<>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;All<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Any<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;AsEnumerable<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;AsOrdered;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsOrdered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsParallel;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Concurrent.Partitioner);;Argument[0];ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsParallel<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsSequential<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;AsUnordered<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Average<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Cast<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Concat<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Count<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;DefaultIfEmpty<>;(System.Linq.ParallelQuery,TSource);;Argument[1];ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Distinct<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ElementAt<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;ElementAtOrDefault<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Except<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;First<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;FirstOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[0];Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;GroupJoin<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,TResult>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Intersect<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Join<,,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Last<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;LastOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;LongCount<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Max<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Min<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OfType<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderBy<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;OrderByDescending<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Repeat<>;(TResult,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Reverse<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Select<,>;(System.Linq.ParallelQuery,System.Func);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,,>;(System.Linq.ParallelQuery,System.Func>,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SelectMany<,>;(System.Linq.ParallelQuery,System.Func>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Single<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SingleOrDefault<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;ParallelEnumerable;false;Skip<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;SkipWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Sum<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Take<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;TakeWhile<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenBy<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ThenByDescending<,>;(System.Linq.OrderedParallelQuery,System.Func,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToArray<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToDictionary<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToList<>;(System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,,>;(System.Linq.ParallelQuery,System.Func,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;ToLookup<,>;(System.Linq.ParallelQuery,System.Func,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Union<>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Where<>;(System.Linq.ParallelQuery,System.Func);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;WithCancellation<>;(System.Linq.ParallelQuery,System.Threading.CancellationToken);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;WithDegreeOfParallelism<>;(System.Linq.ParallelQuery,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;WithExecutionMode<>;(System.Linq.ParallelQuery,System.Linq.ParallelExecutionMode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;WithMergeOptions<>;(System.Linq.ParallelQuery,System.Linq.ParallelMergeOptions);;Argument[0].Element;ReturnValue;taint;generated | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Collections.Generic.IEnumerable,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;ParallelEnumerable;false;Zip<,,>;(System.Linq.ParallelQuery,System.Linq.ParallelQuery,System.Func);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;Aggregate<,,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[3].ReturnValue;ReturnValue;value;manual | +| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[1];Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Aggregate<,>;(System.Linq.IQueryable,TAccumulate,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue;value;manual | +| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[1];value;manual | +| System.Linq;Queryable;false;Aggregate<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue;value;manual | +| System.Linq;Queryable;false;All<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Any<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;AsQueryable;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;AsQueryable<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Average<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Cast<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Concat<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Count<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;DefaultIfEmpty<>;(System.Linq.IQueryable,TSource);;Argument[1];ReturnValue;value;manual | +| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Distinct<>;(System.Linq.IQueryable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ElementAt<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;ElementAtOrDefault<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Except<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;First<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;FirstOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[2].ReturnValue;Argument[3].Parameter[1].Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[3].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].ReturnValue;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;GroupJoin<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression,TResult>>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Intersect<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;Argument[4].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[3].Parameter[0];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;Argument[4].Parameter[1];value;manual | +| System.Linq;Queryable;false;Join<,,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Linq.Expressions.Expression>,System.Collections.Generic.IEqualityComparer);;Argument[4].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Last<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;LastOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;LongCount<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Max<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Min<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OfType<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderBy<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;OrderByDescending<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Reverse<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Select<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[1].ReturnValue.Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;SelectMany<,,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SelectMany<,>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[1].ReturnValue;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Single<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SingleOrDefault<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue;value;manual | +| System.Linq;Queryable;false;Skip<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;SkipWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Sum<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Take<>;(System.Linq.IQueryable,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;TakeWhile<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenBy<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;ThenByDescending<,>;(System.Linq.IOrderedQueryable,System.Linq.Expressions.Expression>,System.Collections.Generic.IComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Union<>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Collections.Generic.IEqualityComparer);;Argument[1].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System.Linq;Queryable;false;Where<>;(System.Linq.IQueryable,System.Linq.Expressions.Expression>);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[0].Element;Argument[2].Parameter[0];value;manual | +| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[1].Element;Argument[2].Parameter[1];value;manual | +| System.Linq;Queryable;false;Zip<,,>;(System.Linq.IQueryable,System.Collections.Generic.IEnumerable,System.Linq.Expressions.Expression>);;Argument[2].ReturnValue;ReturnValue.Element;value;manual | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;HttpRequestCachePolicy;(System.Net.Cache.HttpCacheAgeControl,System.TimeSpan,System.TimeSpan,System.DateTime);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_CacheSyncDate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_MaxStale;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Cache;HttpRequestCachePolicy;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;AuthenticationHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Parameter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;AuthenticationHeaderValue;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxAge;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MaxStaleLimit;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_MinFresh;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;get_SharedMaxAge;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MaxStaleLimit;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_MinFresh;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;CacheControlHeaderValue;false;set_SharedMaxAge;(System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.Net.Http.Headers.ContentDispositionHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ContentDispositionHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_FileNameStar;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentDispositionHeaderValue;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Length;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ContentRangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;EntityTagHeaderValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;EntityTagHeaderValue;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_AcceptRanges;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_ProxyAuthenticate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_Vary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;HttpResponseHeaders;false;get_WwwAuthenticate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;MediaTypeHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_CharSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;get_MediaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;MediaTypeHeaderValue;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;MediaTypeWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.MediaTypeWithQualityHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.Net.Http.Headers.NameValueHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;NameValueHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;NameValueHeaderValue;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;NameValueWithParametersHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;ProductHeaderValue;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductHeaderValue;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.Net.Http.Headers.ProductHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;ProductInfoHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.ProductInfoHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ProductInfoHeaderValue;false;get_Product;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;RangeConditionHeaderValue;(System.Net.Http.Headers.EntityTagHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeConditionHeaderValue;false;get_EntityTag;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;get_Unit;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeHeaderValue;false;set_Unit;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;RangeItemHeaderValue;(System.Nullable,System.Nullable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RangeItemHeaderValue;false;get_To;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.DateTimeOffset);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;RetryConditionHeaderValue;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;RetryConditionHeaderValue;false;get_Delta;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;StringWithQualityHeaderValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Quality;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;StringWithQualityHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;TransferCodingHeaderValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingHeaderValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;TransferCodingWithQualityHeaderValue;false;TryParse;(System.String,System.Net.Http.Headers.TransferCodingWithQualityHeaderValue);;Argument[0];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;ViaHeaderValue;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;ViaHeaderValue;false;get_ReceivedBy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;WarningHeaderValue;(System.Int32,System.String,System.String,System.DateTimeOffset);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;get_Agent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;get_Date;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Headers;WarningHeaderValue;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http.Json;JsonContent;false;Create;(System.Object,System.Type,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[3];ReturnValue;taint;generated | +| System.Net.Http.Json;JsonContent;false;Create<>;(T,System.Net.Http.Headers.MediaTypeHeaderValue,System.Text.Json.JsonSerializerOptions);;Argument[2];ReturnValue;taint;generated | +| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Http;ByteArrayContent;false;ByteArrayContent;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Http;ByteArrayContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;ByteArrayContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;DelegatingHandler;false;DelegatingHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;DelegatingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;DelegatingHandler;false;get_InnerHandler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;DelegatingHandler;false;set_InnerHandler;(System.Net.Http.HttpMessageHandler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;Send;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Net.Http.HttpCompletionOption,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpClient;false;get_DefaultRequestVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpClient;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpClient;false;set_BaseAddress;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClient;false;set_DefaultRequestVersion;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClient;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpClientHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;CopyTo;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;CopyToAsync;(System.IO.Stream,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStreamAsync;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;ReadAsStreamAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;true;CreateContentReadStream;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpContent;true;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;HttpMessageInvoker;false;HttpMessageInvoker;(System.Net.Http.HttpMessageHandler,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpMessageInvoker;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;HttpMethod;false;HttpMethod;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpMethod;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpMethod;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;HttpRequestMessage;(System.Net.Http.HttpMethod,System.Uri);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_Method;(System.Net.Http.HttpMethod);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_RequestUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Key];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Key];value;manual | +| System.Net.Http;HttpRequestOptions;false;Add;(System.Collections.Generic.KeyValuePair);;Argument[0].Property[System.Collections.Generic.KeyValuePair<,>.Value];Argument[Qualifier].Element.Property[System.Collections.Generic.KeyValuePair<,>.Value];value;manual | +| System.Net.Http;HttpResponseMessage;false;EnsureSuccessStatusCode;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net.Http;HttpResponseMessage;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;get_ReasonPhrase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;get_RequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_Content;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_ReasonPhrase;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_RequestMessage;(System.Net.Http.HttpRequestMessage);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;HttpResponseMessage;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;MessageProcessingHandler;false;SendAsync;(System.Net.Http.HttpRequestMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Http;MultipartContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Http;MultipartContent;false;MultipartContent;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Http;MultipartContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;MultipartContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;MultipartFormDataContent;false;Add;(System.Net.Http.HttpContent,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;ReadOnlyMemoryContent;false;ReadOnlyMemoryContent;(System.ReadOnlyMemory);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpConnectionContext;false;get_DnsEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpConnectionContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ConnectCallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ConnectTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_DefaultProxyCredentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Expect100ContinueTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingDelay;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_KeepAlivePingTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_PlaintextStreamFilter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionIdleTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_PooledConnectionLifetime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_RequestHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ResponseDrainTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_ResponseHeaderEncodingSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;get_SslOptions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_ConnectTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_DefaultProxyCredentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_Expect100ContinueTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingDelay;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_KeepAlivePingTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionIdleTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_PooledConnectionLifetime;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_ResponseDrainTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpHandler;false;set_SslOptions;(System.Net.Security.SslClientAuthenticationOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_InitialRequestMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_NegotiatedHttpVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;SocketsHttpPlaintextStreamFilterContext;false;get_PlaintextStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Http;StreamContent;false;SerializeToStream;(System.IO.Stream,System.Net.TransportContext,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;StreamContent;false;SerializeToStreamAsync;(System.IO.Stream,System.Net.TransportContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Http;StreamContent;false;StreamContent;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;CreateAlternateViewFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;AlternateView;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;AlternateViewCollection;false;InsertItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AlternateViewCollection;false;SetItem;(System.Int32,System.Net.Mail.AlternateView);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.IO.Stream,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;Attachment;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;CreateAttachmentFromString;(System.String,System.String,System.Text.Encoding,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;get_ContentDisposition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;get_NameEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;Attachment;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;Attachment;false;set_NameEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.IO.Stream,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;AttachmentBase;(System.String,System.Net.Mime.ContentType);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentBase;false;get_ContentId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;AttachmentBase;false;get_ContentStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;AttachmentBase;false;set_ContentType;(System.Net.Mime.ContentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentCollection;false;InsertItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;AttachmentCollection;false;SetItem;(System.Int32,System.Net.Mail.Attachment);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Net.Mime.ContentType);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;CreateLinkedResourceFromString;(System.String,System.Text.Encoding,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResource;false;get_ContentLink;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;LinkedResourceCollection;false;InsertItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;LinkedResourceCollection;false;SetItem;(System.Int32,System.Net.Mail.LinkedResource);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddress;false;MailAddress;(System.String,System.String,System.Text.Encoding);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddress;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;TryCreate;(System.String,System.String,System.Text.Encoding,System.Net.Mail.MailAddress);;Argument[2];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddress;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailAddressCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net.Mail;MailAddressCollection;false;InsertItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddressCollection;false;SetItem;(System.Int32,System.Net.Mail.MailAddress);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailAddressCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;MailMessage;(System.Net.Mail.MailAddress,System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;MailMessage;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;get_Body;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_BodyEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_From;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_HeadersEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_ReplyTo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_Sender;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;get_SubjectEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;MailMessage;false;set_Body;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_BodyEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_From;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_HeadersEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_ReplyTo;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_Sender;(System.Net.Mail.MailAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_Subject;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;MailMessage;false;set_SubjectEncoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;Send;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;Send;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendAsync;(System.Net.Mail.MailMessage,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendAsync;(System.String,System.String,System.String,System.String,System.Object);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.Net.Mail.MailMessage,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SendMailAsync;(System.String,System.String,System.String,System.String,System.Threading.CancellationToken);;Argument[4];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;SmtpClient;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;get_PickupDirectoryLocation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;get_TargetName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpClient;false;set_Credentials;(System.Net.ICredentialsByHost);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;set_PickupDirectoryLocation;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpClient;false;set_TargetName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Net.Mail.SmtpStatusCode,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;SmtpFailedRecipientException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientException;false;get_FailedRecipient;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;SmtpFailedRecipientsException;(System.String,System.Net.Mail.SmtpFailedRecipientException[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Net.Mail;SmtpFailedRecipientsException;false;get_InnerExceptions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentDisposition;false;ContentDisposition;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mime;ContentDisposition;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentDisposition;false;get_DispositionType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentDisposition;false;set_DispositionType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mime;ContentType;false;ContentType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Mime;ContentType;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_Boundary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_CharSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_MediaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;get_Parameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Mime;ContentType;false;set_MediaType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.NetworkInformation;GatewayIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.NetworkInformation;IPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.NetworkInformation;MulticastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.NetworkInformation;PhysicalAddress;false;PhysicalAddress;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.NetworkInformation;UnicastIPAddressInformationCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;AuthenticatedStream;false;AuthenticatedStream;(System.IO.Stream,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Security;AuthenticatedStream;false;get_InnerStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClient;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ChannelBinding,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsClientAsync;(System.Net.NetworkCredential,System.String,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServer;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Net.NetworkCredential,System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy,System.Net.Security.ProtectionLevel,System.Security.Principal.TokenImpersonationLevel);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;AuthenticateAsServerAsync;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Security;NegotiateStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;NegotiateStream;false;get_RemoteIdentity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslApplicationProtocol;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslApplicationProtocol;false;get_Protocol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;Write;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Security;SslStream;false;get_LocalCertificate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;get_NegotiatedApplicationProtocol;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;get_RemoteCertificate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStream;false;get_TransportContext;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Security;SslStreamCertificateContext;false;Create;(System.Security.Cryptography.X509Certificates.X509Certificate2,System.Security.Cryptography.X509Certificates.X509Certificate2Collection,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;IPPacketInformation;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;IPv6MulticastOption;(System.Net.IPAddress,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;IPv6MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;MulticastOption;(System.Net.IPAddress,System.Net.IPAddress);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;get_Group;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;MulticastOption;false;get_LocalAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;MulticastOption;false;set_Group;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;MulticastOption;false;set_LocalAddress;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;NetworkStream;false;NetworkStream;(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;ReadAsync;(System.Memory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;WriteAsync;(System.ReadOnlyMemory,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;NetworkStream;false;get_Socket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SafeSocketHandle;false;SafeSocketHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Accept;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;AcceptAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;Bind;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Connect;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;Connect;(System.Net.IPAddress[],System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ConnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;DisconnectAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.EndPoint);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFrom;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;ReceiveMessageFrom;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.Net.Sockets.IPPacketInformation);;Argument[4];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;ReceiveMessageFromAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;SendAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;SendPacketsAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[4];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.EndPoint);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendTo;(System.Byte[],System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;Socket;false;SendToAsync;(System.Net.Sockets.SocketAsyncEventArgs);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net.Sockets;Socket;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;get_LocalEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;Socket;false;get_SafeHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;SetBuffer;(System.Memory);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_AcceptSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_BufferList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectByNameError;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_ConnectSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_MemoryBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_ReceiveMessageFromPacketInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_SendPacketsElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;get_UserToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_AcceptSocket;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_BufferList;(System.Collections.Generic.IList>);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_RemoteEndPoint;(System.Net.EndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_SendPacketsElements;(System.Net.Sockets.SendPacketsElement[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketAsyncEventArgs;false;set_UserToken;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;SocketException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.EndPoint,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.Net.IPAddress,System.Int32,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ConnectAsync;(System.Net.Sockets.Socket,System.String,System.Int32,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;ReceiveAsync;(System.Net.Sockets.Socket,System.Memory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;SendAsync;(System.Net.Sockets.Socket,System.ReadOnlyMemory,System.Net.Sockets.SocketFlags,System.Threading.CancellationToken);;Argument[3];ReturnValue;taint;generated | +| System.Net.Sockets;SocketTaskExtensions;false;SendToAsync;(System.Net.Sockets.Socket,System.ArraySegment,System.Net.Sockets.SocketFlags,System.Net.EndPoint);;Argument[3];Argument[0];taint;generated | +| System.Net.Sockets;TcpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpClient;false;GetStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpClient;false;TcpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpListener;false;AcceptSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpListener;false;AcceptTcpClient;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpListener;false;TcpListener;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;TcpListener;false;get_LocalEndpoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;TcpListener;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;Connect;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;EndReceive;(System.IAsyncResult,System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;Receive;(System.Net.IPEndPoint);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;Send;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;SendAsync;(System.Byte[],System.Int32,System.Net.IPEndPoint);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;UdpClient;(System.Net.IPEndPoint);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpClient;false;get_Client;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpClient;false;set_Client;(System.Net.Sockets.Socket);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;UdpReceiveResult;(System.Byte[],System.Net.IPEndPoint);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;get_Buffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.Sockets;UdpReceiveResult;false;get_RemoteEndPoint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;SetBuffer;(System.Int32,System.Int32,System.ArraySegment);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_KeepAliveInterval;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;get_RemoteCertificateValidationCallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_Cookies;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_KeepAliveInterval;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;ClientWebSocketOptions;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_CookieCollection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_Origin;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketProtocols;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_SecWebSocketVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;HttpListenerWebSocketContext;false;get_WebSocket;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[0];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateClientWebSocket;(System.IO.Stream,System.String,System.Int32,System.Int32,System.TimeSpan,System.Boolean,System.ArraySegment);;Argument[1];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocket;false;CreateFromStream;(System.IO.Stream,System.Boolean,System.String,System.TimeSpan);;Argument[2];ReturnValue;taint;generated | +| System.Net.WebSockets;WebSocketException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;Authorization;false;get_ProtectionRealm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Authorization;false;set_ProtectionRealm;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;Cookie;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Comment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_CommentUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Domain;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Expires;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Port;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_TimeStamp;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;Cookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Net;Cookie;false;set_Comment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_CommentUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Expires;(System.DateTime);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Port;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;Cookie;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;CookieCollection;false;Add;(System.Net.CookieCollection);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net;CookieCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;CookieCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;CookieCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;CookieException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;CredentialCache;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DnsEndPoint;false;DnsEndPoint;(System.String,System.Int32,System.Net.Sockets.AddressFamily);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;DnsEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DnsEndPoint;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DownloadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;DownloadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FileWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FileWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;EndGetRequestStream;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;EndGetResponse;(System.IAsyncResult);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_ClientCertificates;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_ConnectionGroupName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_RenameTo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_ConnectionGroupName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;FtpWebRequest;false;set_RenameTo;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;FtpWebResponse;false;GetResponseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_BannerMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_ExitMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_LastModified;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_ResponseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;FtpWebResponse;false;get_WelcomeMessage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_AuthenticationSchemeSelectorDelegate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_DefaultServiceNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_ExtendedProtectionPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_ExtendedProtectionSelectorDelegate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_Prefixes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_Realm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;get_TimeoutManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListener;false;set_ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.ExtendedProtectionPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListener;false;set_Realm;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerContext;false;get_Response;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerContext;false;get_User;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerPrefixCollection;false;CopyTo;(System.Array,System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Net;HttpListenerRequest;false;EndGetClientCertificate;(System.IAsyncResult);;Argument[0];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_HttpMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_InputStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_RawUrl;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_Url;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_UrlReferrer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerRequest;false;get_UserHostName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;AppendCookie;(System.Net.Cookie);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;Close;(System.Byte[],System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;CopyFrom;(System.Net.HttpListenerResponse);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_OutputStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_ProtocolVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_RedirectLocation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;HttpListenerResponse;false;set_StatusDescription;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerTimeoutManager;false;get_DrainEntityBody;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerTimeoutManager;false;get_IdleConnection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpListenerTimeoutManager;false;set_DrainEntityBody;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpListenerTimeoutManager;false;set_IdleConnection;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;GetRequestStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;GetRequestStream;(System.Net.TransportContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;GetResponse;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Accept;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Connection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_ContentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_ContinueDelegate;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_CookieContainer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Expect;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_Referer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_RequestUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_TransferEncoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;get_UserAgent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebRequest;false;set_ClientCertificates;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_CookieContainer;(System.Net.CookieContainer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Method;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebRequest;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;HttpWebResponse;false;GetResponseHeader;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_CharacterSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_Cookies;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_Headers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_Server;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;get_StatusDescription;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;HttpWebResponse;false;set_Cookies;(System.Net.CookieCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;IPAddress;false;MapToIPv4;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;IPAddress;false;MapToIPv6;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;IPAddress;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;IPEndPoint;false;IPEndPoint;(System.Net.IPAddress,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;IPEndPoint;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;IPEndPoint;false;get_Address;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;IPEndPoint;false;set_Address;(System.Net.IPAddress);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;IPHostEntry;false;get_Aliases;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Net;IPHostEntry;false;get_HostName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Net;NetworkCredential;false;GetCredential;(System.String,System.Int32,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;NetworkCredential;false;GetCredential;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.Security.SecureString,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;NetworkCredential;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;get_Domain;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;NetworkCredential;false;get_Password;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;NetworkCredential;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;NetworkCredential;false;set_Domain;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;NetworkCredential;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;OpenReadCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;OpenWriteCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;ProtocolViolationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;UploadDataCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;UploadFileCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;UploadStringCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;UploadValuesCompletedEventArgs;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;DownloadData;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadData;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadDataTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadString;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadString;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;DownloadStringTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;GetWebRequest;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;GetWebResponse;(System.Net.WebRequest,System.IAsyncResult);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenRead;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenRead;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenReadAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenReadAsync;(System.Uri,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenReadTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenReadTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWrite;(System.Uri,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteAsync;(System.Uri,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;OpenWriteTaskAsync;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadData;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataAsync;(System.Uri,System.String,System.Byte[],System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.String,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadDataTaskAsync;(System.Uri,System.String,System.Byte[]);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFile;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadFileTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadString;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringAsync;(System.Uri,System.String,System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadStringTaskAsync;(System.Uri,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValues;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.String,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;UploadValuesTaskAsync;(System.Uri,System.String,System.Collections.Specialized.NameValueCollection);;Argument[1];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;get_BaseAddress;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_Credentials;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_Proxy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;get_ResponseHeaders;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebClient;false;set_BaseAddress;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Headers;(System.Net.WebHeaderCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Net;WebClient;false;set_QueryString;(System.Collections.Specialized.NameValueCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Net;WebException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Net;WebException;false;WebException;(System.String,System.Exception,System.Net.WebExceptionStatus,System.Net.WebResponse);;Argument[3];Argument[Qualifier];taint;generated | +| System.Net;WebException;false;get_Response;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;Add;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Net;WebHeaderCollection;false;ToByteArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_AllKeys;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpRequestHeader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebHeaderCollection;false;get_Item;(System.Net.HttpResponseHeader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebProxy;false;GetProxy;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebProxy;false;get_BypassArrayList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebProxy;false;get_BypassList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Net;WebRequest;false;Create;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;Create;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;CreateDefault;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;CreateHttp;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebRequest;false;CreateHttp;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];taint;generated | +| System.Net;WebUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Net;WebUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual | +| System.Net;WebUtility;false;UrlDecode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Net;WebUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Numerics;BigInteger;false;Abs;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;DivRem;(System.Numerics.BigInteger,System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Max;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Min;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Negate;(System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Pow;(System.Numerics.BigInteger,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;BigInteger;false;Remainder;(System.Numerics.BigInteger,System.Numerics.BigInteger);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Complex;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Complex;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Add;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Lerp;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Multiply;(System.Numerics.Matrix4x4,System.Single);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Negate;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Subtract;(System.Numerics.Matrix4x4,System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Matrix4x4;false;Transpose;(System.Numerics.Matrix4x4);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Plane;false;Normalize;(System.Numerics.Plane);;Argument[0];ReturnValue;taint;generated | +| System.Numerics;Plane;false;Plane;(System.Numerics.Vector3,System.Single);;Argument[0];Argument[Qualifier];taint;generated | +| System.Numerics;Plane;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Numerics;Vector2;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Vector3;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Vector4;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System.Numerics;Vector;false;Abs<>;(System.Numerics.Vector);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicAssembly;(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess,System.Collections.Generic.IEnumerable);;Argument[2].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;DefineDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;GetDynamicModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;GetModule;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;AssemblyBuilder;false;get_ManifestModule;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ConstructorBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;CustomAttributeBuilder;false;CustomAttributeBuilder;(System.Reflection.ConstructorInfo,System.Object[],System.Reflection.PropertyInfo[],System.Object[],System.Reflection.FieldInfo[],System.Object[]);;Argument[5].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;DynamicILInfo;false;get_DynamicMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;CreateDelegate;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;DynamicMethod;false;GetDynamicILInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_MethodHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;DynamicMethod;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;DefineLiteral;(System.String,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEnumUnderlyingType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingField;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EnumBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;EventBuilder;false;AddOtherMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetAddOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetRaiseMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;EventBuilder;false;SetRemoveOnMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;FieldBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;FieldBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_FieldType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;FieldBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetBaseTypeConstraint;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;SetInterfaceConstraints;(System.Type[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;GenericTypeParameterBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ILGenerator;false;DeclareLocal;(System.Type,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;LocalBuilder;false;get_LocalType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;DefineParameter;(System.Int32,System.Reflection.ParameterAttributes,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetBaseDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;MethodBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetGenericMethodDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetILGenerator;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;MakeGenericMethod;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetReturnType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;SetSignature;(System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Emit;MethodBuilder;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_ReturnParameter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;MethodBuilder;false;get_ReturnType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineEnum;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineGlobalMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetArrayMethod;(System.Type,System.String,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;GetType;(System.String,System.Boolean,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_FullyQualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ModuleBuilder;false;get_ScopeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;ParameterBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ParameterBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;ParameterBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;GetGetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;GetSetMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetConstant;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetGetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;SetSetMethod;(System.Reflection.Emit.MethodBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_PropertyType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;PropertyBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetFieldSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetLocalVarSigHelper;(System.Reflection.Module);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.CallingConventions,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Reflection.CallingConventions,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;SignatureHelper;false;GetMethodSigHelper;(System.Reflection.Module,System.Type,System.Type[]);;Argument[2].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;AddInterfaceImplementation;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;CreateType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;CreateTypeInfo;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineConstructor;(System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineDefaultConstructor;(System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineEvent;(System.String,System.Reflection.EventAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[2].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[3].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineField;(System.String,System.Type,System.Type[],System.Type[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineGenericParameters;(System.String[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineInitializedData;(System.String,System.Byte[],System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineMethod;(System.String,System.Reflection.MethodAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Reflection.Emit.PackingSize,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineNestedType;(System.String,System.Reflection.TypeAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefinePInvokeMethod;(System.String,System.String,System.String,System.Reflection.MethodAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][],System.Runtime.InteropServices.CallingConvention,System.Runtime.InteropServices.CharSet);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[5].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[8].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Reflection.CallingConventions,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[2];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[3].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[4].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[6].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[7].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineProperty;(System.String,System.Reflection.PropertyAttributes,System.Type,System.Type[],System.Type[],System.Type[],System.Type[][],System.Type[][]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineTypeInitializer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;DefineUninitializedData;(System.String,System.Int32,System.Reflection.FieldAttributes);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructor;(System.Type,System.Reflection.ConstructorInfo);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetField;(System.Type,System.Reflection.FieldInfo);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetGenericArguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetGenericTypeDefinition;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMethod;(System.Type,System.Reflection.MethodInfo);;Argument[1];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;MakeGenericType;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;SetCustomAttribute;(System.Reflection.Emit.CustomAttributeBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;SetParent;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Emit;TypeBuilder;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;CustomModifiersEncoder;false;AddModifier;(System.Reflection.Metadata.EntityHandle,System.Boolean);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;Add;(System.Reflection.Metadata.ExceptionRegionKind,System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddCatch;(System.Int32,System.Int32,System.Int32,System.Int32,System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFault;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFilter;(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;ExceptionRegionEncoder;false;AddFinally;(System.Int32,System.Int32,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[2];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddAssembly;(System.Reflection.Metadata.StringHandle,System.Version,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.BlobHandle,System.Reflection.AssemblyFlags,System.Reflection.AssemblyHashAlgorithm);;Argument[3];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[2];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataBuilder;false;AddModule;(System.Int32,System.Reflection.Metadata.StringHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle,System.Reflection.Metadata.GuidHandle);;Argument[4];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;MetadataRootBuilder;(System.Reflection.Metadata.Ecma335.MetadataBuilder,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;MetadataRootBuilder;false;get_Sizes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Collections.Immutable.ImmutableArray);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;PermissionSetEncoder;false;AddPermission;(System.String,System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;PortablePdbBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureDecoder<,>;false;SignatureDecoder;(System.Reflection.Metadata.ISignatureTypeProvider,System.Reflection.Metadata.MetadataReader,TGenericContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Array;(System.Reflection.Metadata.Ecma335.SignatureTypeEncoder,System.Reflection.Metadata.Ecma335.ArrayShapeEncoder);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;Pointer;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata.Ecma335;SignatureTypeEncoder;false;SZArray;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata;AssemblyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyFile;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;AssemblyReferenceHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;Blob;false;GetBytes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobBuilder+Blobs;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection.Metadata;BlobBuilder;false;GetBlobs;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkPrefix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;LinkSuffix;(System.Reflection.Metadata.BlobBuilder);;Argument[Qualifier];Argument[0];taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;ReserveBytes;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobBuilder;false;TryWriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadConstant;(System.Reflection.Metadata.ConstantTypeCode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadSerializedString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadUTF8;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;ReadUTF16;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;get_CurrentPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobReader;false;get_StartPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;BlobWriter;false;BlobWriter;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobWriter;false;WriteBytes;(System.IO.Stream,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.Metadata;BlobWriter;false;get_Blob;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;CustomAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;CustomDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;DeclarativeSecurityAttributeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;DocumentHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;EventAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;EventDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;EventDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ExportedType;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;FieldDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;FieldDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;GenericParameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;GenericParameterConstraint;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ImportDefinitionCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ImportDefinitionCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ImportScopeCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;InterfaceImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;InterfaceImplementationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalConstantHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScope;false;GetChildren;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScope;false;GetLocalConstants;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScope;false;GetLocalVariables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalScopeHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;LocalVariableHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ManifestResource;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MemberReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetAssemblyDefinition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetAssemblyFile;(System.Reflection.Metadata.AssemblyFileHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetAssemblyReference;(System.Reflection.Metadata.AssemblyReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetConstant;(System.Reflection.Metadata.ConstantHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomAttribute;(System.Reflection.Metadata.CustomAttributeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomAttributes;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.CustomDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetCustomDebugInformation;(System.Reflection.Metadata.EntityHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetDeclarativeSecurityAttribute;(System.Reflection.Metadata.DeclarativeSecurityAttributeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetDocument;(System.Reflection.Metadata.DocumentHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetEventDefinition;(System.Reflection.Metadata.EventDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetExportedType;(System.Reflection.Metadata.ExportedTypeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetFieldDefinition;(System.Reflection.Metadata.FieldDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetGenericParameter;(System.Reflection.Metadata.GenericParameterHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetGenericParameterConstraint;(System.Reflection.Metadata.GenericParameterConstraintHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetImportScope;(System.Reflection.Metadata.ImportScopeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetInterfaceImplementation;(System.Reflection.Metadata.InterfaceImplementationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalConstant;(System.Reflection.Metadata.LocalConstantHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalScope;(System.Reflection.Metadata.LocalScopeHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalScopes;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetLocalVariable;(System.Reflection.Metadata.LocalVariableHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetManifestResource;(System.Reflection.Metadata.ManifestResourceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMemberReference;(System.Reflection.Metadata.MemberReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDebugInformationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodDebugInformation;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodDefinition;(System.Reflection.Metadata.MethodDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodImplementation;(System.Reflection.Metadata.MethodImplementationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetMethodSpecification;(System.Reflection.Metadata.MethodSpecificationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetModuleDefinition;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetModuleReference;(System.Reflection.Metadata.ModuleReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetNamespaceDefinitionRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetParameter;(System.Reflection.Metadata.ParameterHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetPropertyDefinition;(System.Reflection.Metadata.PropertyDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetStandaloneSignature;(System.Reflection.Metadata.StandaloneSignatureHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetTypeDefinition;(System.Reflection.Metadata.TypeDefinitionHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetTypeReference;(System.Reflection.Metadata.TypeReferenceHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;GetTypeSpecification;(System.Reflection.Metadata.TypeSpecificationHandle);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_AssemblyReferences;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_CustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_CustomDebugInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_DebugMetadataHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_DeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_Documents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_EventDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_FieldDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_ImportScopes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_LocalConstants;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_LocalScopes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_LocalVariables;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MetadataPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MetadataVersion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MethodDebugInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_MethodDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_PropertyDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReader;false;get_StringComparer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromMetadataStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbImage;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;FromPortablePdbStream;(System.IO.Stream,System.Reflection.Metadata.MetadataStreamOptions,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataReaderProvider;false;GetMetadataReader;(System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MetadataStringDecoder;false;GetString;(System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;Create;(System.Reflection.Metadata.BlobReader);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;GetILReader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;get_ExceptionRegions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodBodyBlock;false;get_LocalSignature;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDebugInformationHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinition;false;GetParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodImplementation;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodImport;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodImport;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;MethodSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ModuleDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ModuleReference;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_ExportedTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_NamespaceDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;NamespaceDefinition;false;get_TypeDefinitions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;PEReaderExtensions;false;GetMetadataReader;(System.Reflection.PortableExecutable.PEReader,System.Reflection.Metadata.MetadataReaderOptions,System.Reflection.Metadata.MetadataStringDecoder);;Argument[0];ReturnValue;taint;generated | +| System.Reflection.Metadata;Parameter;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;ParameterHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PropertyAccessors;false;get_Others;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PropertyDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;PropertyDefinitionHandleCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;SequencePointCollection+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;SequencePointCollection;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;StandaloneSignature;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetDeclarativeSecurityAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetInterfaceImplementations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeDefinition;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.Metadata;TypeSpecification;false;GetCustomAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;ManagedPEBuilder;false;GetDirectories;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;ManagedPEBuilder;false;SerializeSection;(System.String,System.Reflection.PortableExecutable.SectionLocation);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEBuilder+Section;false;Section;(System.String,System.Reflection.PortableExecutable.SectionCharacteristics);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEBuilder;false;GetSections;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEBuilder;false;Serialize;(System.Reflection.Metadata.BlobBuilder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_CoffHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_CorHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_PEHeader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEHeaders;false;get_SectionHeaders;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEMemoryBlock;false;get_Pointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetEntireImage;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetMetadata;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;GetSectionData;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Byte*,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.Collections.Immutable.ImmutableArray);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;PEReader;(System.IO.Stream,System.Reflection.PortableExecutable.PEStreamOptions,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection.PortableExecutable;PEReader;false;get_PEHeaders;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;CreateQualifiedName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;GetAssembly;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Assembly;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;true;GetName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;true;GetType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Assembly;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;GetPublicKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;SetPublicKey;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;SetPublicKeyToken;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_CultureInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_EscapedCodeBase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;AssemblyName;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;set_CultureInfo;(System.Globalization.CultureInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;AssemblyName;false;set_Version;(System.Version);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeData;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;CustomAttributeNamedArgument;(System.Reflection.MemberInfo,System.Reflection.CustomAttributeTypedArgument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;get_MemberInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeNamedArgument;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;CustomAttributeTypedArgument;(System.Type,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;get_ArgumentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;CustomAttributeTypedArgument;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;false;GetAddMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;false;GetRaiseMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;false;GetRemoveMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;true;get_AddMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;true;get_RaiseMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfo;true;get_RemoveMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetAddMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRaiseMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;EventInfoExtensions;false;GetRemoveMethod;(System.Reflection.EventInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;ExceptionHandlingClause;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;IntrospectionExtensions;false;GetTypeInfo;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;LocalVariableInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;MethodInfo;false;CreateDelegate<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;MethodInfoExtensions;false;GetBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Module;true;GetType;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;GetRealObject;(System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;get_Member;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;ParameterInfo;false;get_ParameterType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;Pointer;false;Box;(System.Void*,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;Pointer;false;Unbox;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;false;GetAccessors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;false;GetGetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;false;GetSetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;true;get_GetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfo;true;get_SetMethod;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetAccessors;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetGetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;PropertyInfoExtensions;false;GetSetMethod;(System.Reflection.PropertyInfo,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;ReflectionTypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Reflection;ReflectionTypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetMethodInfo;(System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeBaseDefinition;(System.Reflection.MethodInfo);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvent;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeEvents;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeField;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeFields;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeInterfaceMap;(System.Reflection.TypeInfo,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeMethods;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperties;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;RuntimeReflectionExtensions;false;GetRuntimeProperty;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetConstructorImpl;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetConstructors;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetElementType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetEvent;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetEvents;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetField;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetFields;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterface;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterfaceMap;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMember;(System.String,System.Reflection.MemberTypes,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMembers;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMethodImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetMethods;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetNestedType;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetNestedTypes;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetProperties;(System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;GetPropertyImpl;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;TypeDelegator;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Reflection;TypeDelegator;false;get_Assembly;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_AssemblyQualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeDelegator;false;get_UnderlyingSystemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetConstructor;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetConstructors;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetDefaultMembers;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvent;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvents;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetEvents;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetField;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetFields;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetFields;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetGenericArguments;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetInterfaces;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMember;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMembers;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMembers;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethod;(System.Type,System.String,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethods;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetMethods;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetNestedType;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetNestedTypes;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperties;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperties;(System.Type,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Reflection.BindingFlags);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeExtensions;false;GetProperty;(System.Type,System.String,System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;false;GetTypeInfo;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection;TypeInfo;true;AsType;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Reflection;TypeInfo;true;GetDeclaredEvent;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;GetDeclaredProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredConstructors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredMembers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_DeclaredProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_GenericTypeParameters;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Reflection;TypeInfo;true;get_ImplementedInterfaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;MissingSatelliteAssemblyException;false;MissingSatelliteAssemblyException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Resources;MissingSatelliteAssemblyException;false;get_CultureName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;CreateFileBasedResourceManager;(System.String,System.String,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;GetResourceFileName;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly);;Argument[1];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.String,System.Reflection.Assembly,System.Type);;Argument[2];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;ResourceManager;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceManager;false;get_BaseName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceManager;false;get_ResourceSetType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceReader;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceReader;false;GetResourceData;(System.String,System.String,System.Byte[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Resources;ResourceReader;false;ResourceReader;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceSet;false;ResourceSet;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Resources;ResourceSet;false;ResourceSet;(System.Resources.IResourceReader);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Resources;ResourceWriter;false;ResourceWriter;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncIteratorMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;AwaitUnsafeOnCompleted<,>;(TAwaiter,TStateMachine);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;AsyncValueTaskMethodBuilder<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;CallSite;false;get_Binder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConditionalWeakTable<,>;false;GetOrCreateValue;(TKey);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;GetAsyncEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredCancelableAsyncEnumerable<>;false;WithCancellation;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>+ConfiguredTaskAwaiter;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_configured_task_awaitable].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value;manual | +| System.Runtime.CompilerServices;ConfiguredTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier].SyntheticField[m_configuredTaskAwaiter];ReturnValue;value;manual | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>+ConfiguredValueTaskAwaiter;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ConfiguredValueTaskAwaitable<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ContractHelper;false;RaiseContractFailedEvent;(System.Diagnostics.Contracts.ContractFailureKind,System.String,System.String,System.Exception);;Argument[2];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;DateTimeConstantAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;DynamicAttribute;false;DynamicAttribute;(System.Boolean[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;DynamicAttribute;false;get_TransformFlags;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;FormattableStringFactory;false;Create;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;ReadOnlyCollectionBuilder;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;Reverse;(System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System.Runtime.CompilerServices;ReadOnlyCollectionBuilder<>;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Runtime.CompilerServices;RuntimeWrappedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Runtime.CompilerServices;RuntimeWrappedException;false;RuntimeWrappedException;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;RuntimeWrappedException;false;get_WrappedException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;StrongBox<>;false;StrongBox;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;StrongBox<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;StrongBox<>;false;set_Value;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;SwitchExpressionException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Runtime.CompilerServices;SwitchExpressionException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;TaskAwaiter<>;false;GetResult;();;Argument[Qualifier].SyntheticField[m_task_task_awaiter].Property[System.Threading.Tasks.Task<>.Result];ReturnValue;value;manual | +| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;TupleElementNamesAttribute;(System.String[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Runtime.CompilerServices;TupleElementNamesAttribute;false;get_TransformNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.CompilerServices;ValueTaskAwaiter<>;false;GetResult;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;Capture;(System.Exception);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;SetCurrentStackTrace;(System.Exception);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.ExceptionServices;ExceptionDispatchInfo;false;get_SourceException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ArrayWithOffset;false;ArrayWithOffset;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;ArrayWithOffset;false;GetArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;COMException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;GetAddMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRaiseMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;GetRemoveMethod;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_DeclaringType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Module;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;ComAwareEventInfo;false;get_ReflectedType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;CriticalHandle;false;CriticalHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;CriticalHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;ExternalException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;GCHandle;false;FromIntPtr;(System.IntPtr);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;GCHandle;false;ToIntPtr;(System.Runtime.InteropServices.GCHandle);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;HandleRef;false;HandleRef;(System.Object,System.IntPtr);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;HandleRef;false;ToIntPtr;(System.Runtime.InteropServices.HandleRef);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;HandleRef;false;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;HandleRef;false;get_Wrapper;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;Marshal;false;GenerateProgIdForType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;CreateFromPinnedArray<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;TryGetMemoryManager<,>;(System.ReadOnlyMemory,TManager,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;MemoryMarshal;false;TryGetString;(System.ReadOnlyMemory,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SafeHandle;false;DangerousGetHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SafeHandle;false;SafeHandle;(System.IntPtr,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;SafeHandle;false;SetHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.InteropServices;SequenceMarshal;false;TryGetArray<>;(System.Buffers.ReadOnlySequence,System.ArraySegment);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlyMemory<>;(System.Buffers.ReadOnlySequence,System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.InteropServices;SequenceMarshal;false;TryGetReadOnlySequenceSegment<>;(System.Buffers.ReadOnlySequence,System.Buffers.ReadOnlySequenceSegment,System.Int32,System.Buffers.ReadOnlySequenceSegment,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector64;false;WithElement<>;(System.Runtime.Intrinsics.Vector64,System.Int32,T);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector128;false;WithElement<>;(System.Runtime.Intrinsics.Vector128,System.Int32,T);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector128;false;WithLower<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector128;false;WithUpper<>;(System.Runtime.Intrinsics.Vector128,System.Runtime.Intrinsics.Vector64);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector256;false;WithElement<>;(System.Runtime.Intrinsics.Vector256,System.Int32,T);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector256;false;WithLower<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Intrinsics;Vector256;false;WithUpper<>;(System.Runtime.Intrinsics.Vector256,System.Runtime.Intrinsics.Vector128);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveAssemblyToPath;(System.Reflection.AssemblyName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyDependencyResolver;false;ResolveUnmanagedDllToPath;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyLoadContext;false;EnterContextualReflection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyLoadContext;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Loader;AssemblyLoadContext;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Remoting;ObjectHandle;false;ObjectHandle;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Remoting;ObjectHandle;false;Unwrap;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;BinaryFormatter;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Binder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;get_SurrogateSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Binder;(System.Runtime.Serialization.SerializationBinder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_Context;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Formatters.Binary;BinaryFormatter;false;set_SurrogateSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;DataContractJsonSerializer;(System.Type,System.Runtime.Serialization.Json.DataContractJsonSerializerSettings);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_DateTimeFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;DataContractJsonSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Runtime.Serialization.Json;JsonReaderWriterFactory;false;CreateJsonWriter;(System.IO.Stream,System.Text.Encoding,System.Boolean,System.Boolean,System.String);;Argument[4];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ItemName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_KeyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;get_ValueName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ItemName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_KeyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;CollectionDataContractAttribute;false;set_ValueName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Runtime.Serialization.DataContractSerializerSettings);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.String,System.String,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;DataContractSerializer;(System.Type,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.Collections.Generic.IEnumerable);;Argument[3].Element;Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;ReadObject;(System.Xml.XmlDictionaryReader,System.Boolean,System.Runtime.Serialization.DataContractResolver);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;get_DataContractResolver;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializer;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializerExtensions;false;GetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataContractSerializerExtensions;false;SetSerializationSurrogateProvider;(System.Runtime.Serialization.DataContractSerializer,System.Runtime.Serialization.ISerializationSurrogateProvider);;Argument[1];Argument[0];taint;generated | +| System.Runtime.Serialization;DataMemberAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DataMemberAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;DateTimeFormat;(System.String,System.IFormatProvider);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;get_FormatProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;DateTimeFormat;false;get_FormatString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;EnumMemberAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;EnumMemberAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;ExportOptions;false;get_KnownTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;Convert;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterConverter;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetSerializableMembers;(System.Type,System.Runtime.Serialization.StreamingContext);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetSurrogateForCyclicalReference;(System.Runtime.Serialization.ISerializationSurrogate);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;GetTypeFromAssembly;(System.Reflection.Assembly,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;FormatterServices;false;PopulateObjectMembers;(System.Object,System.Reflection.MemberInfo[],System.Object[]);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;ObjectIDGenerator;false;GetId;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;ObjectManager;false;GetObject;(System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;ObjectManager;false;ObjectManager;(System.Runtime.Serialization.ISurrogateSelector,System.Runtime.Serialization.StreamingContext);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationEntry;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationEntry;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationEntry;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Byte);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Char);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.DateTime);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Decimal);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Double);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Int64);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.SByte);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.Single);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;AddValue;(System.String,System.UInt64);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetDateTime;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;GetValue;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;SerializationInfo;(System.Type,System.Runtime.Serialization.IFormatterConverter);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;SetType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;get_FullTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfo;false;set_FullTypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_ObjectType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationInfoEnumerator;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SerializationObjectManager;false;SerializationObjectManager;(System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;StreamingContext;false;StreamingContext;(System.Runtime.Serialization.StreamingContextStates,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;StreamingContext;false;get_Context;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;ChainSelector;(System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];Argument[0];taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;GetNextSelector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;SurrogateSelector;false;GetSurrogate;(System.Type,System.Runtime.Serialization.StreamingContext,System.Runtime.Serialization.ISurrogateSelector);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;XPathQueryGenerator;false;CreateFromDataContractSerializer;(System.Type,System.Reflection.MemberInfo[],System.Text.StringBuilder,System.Xml.XmlNamespaceManager);;Argument[2];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlDictionaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlObjectSerializer;true;ReadObject;(System.Xml.XmlReader,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Serialization;XmlSerializableServices;false;WriteNodes;(System.Xml.XmlWriter,System.Xml.XmlNode[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Runtime.Serialization;XsdDataContractExporter;false;XsdDataContractExporter;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Serialization;XsdDataContractExporter;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Serialization;XsdDataContractExporter;false;set_Options;(System.Runtime.Serialization.ExportOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;FrameworkName;(System.String,System.Version,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;FrameworkName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_FullName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_Identifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_Profile;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;FrameworkName;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;TargetFrameworkAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkDisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;get_FrameworkName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Runtime.Versioning;TargetFrameworkAttribute;false;set_FrameworkDisplayName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Runtime.Versioning;VersioningHelper;false;MakeVersionSafeName;(System.String,System.Runtime.Versioning.ResourceScope,System.Runtime.Versioning.ResourceScope,System.Type);;Argument[3];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ChannelBinding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ExtendedProtectionPolicy;(System.Security.Authentication.ExtendedProtection.PolicyEnforcement,System.Security.Authentication.ExtendedProtection.ProtectionScenario,System.Security.Authentication.ExtendedProtection.ServiceNameCollection);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomChannelBinding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicy;false;get_CustomServiceNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ExtendedProtectionPolicyTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.Collections.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;Merge;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Security.Authentication.ExtendedProtection;ServiceNameCollection;false;ServiceNameCollection;(System.Collections.ICollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.IO.BinaryReader,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Claim;(System.Security.Claims.Claim,System.Security.Claims.ClaimsIdentity);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Claims;Claim;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[0];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;Clone;(System.Security.Claims.ClaimsIdentity);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Security.Claims;Claim;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Issuer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_OriginalIssuer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Properties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;Claim;false;get_ValueType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;AddClaim;(System.Security.Claims.Claim);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;AddClaims;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;ClaimsIdentity;(System.Security.Principal.IIdentity,System.Collections.Generic.IEnumerable,System.String,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;CreateClaim;(System.IO.BinaryReader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Actor;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_BootstrapContext;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Label;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_NameClaimType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;get_RoleClaimType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsIdentity;false;set_Actor;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;set_BootstrapContext;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsIdentity;false;set_Label;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;AddIdentities;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;AddIdentity;(System.Security.Claims.ClaimsIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.IO.BinaryReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;ClaimsPrincipal;(System.Security.Principal.IPrincipal);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;CreateClaimsIdentity;(System.IO.BinaryReader);;Argument[0];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;FindAll;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;FindFirst;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;WriteTo;(System.IO.BinaryWriter,System.Byte[]);;Argument[1].Element;Argument[0];taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_CustomSerializationData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_Identities;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Claims;ClaimsPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.Security.Cryptography.X509Certificates.X500DistinguishedName,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.ECDsa,System.Security.Cryptography.HashAlgorithmName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;CertificateRequest;false;CertificateRequest;(System.String,System.Security.Cryptography.RSA,System.Security.Cryptography.HashAlgorithmName,System.Security.Cryptography.RSASignaturePadding);;Argument[3];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;PublicKey;false;PublicKey;(System.Security.Cryptography.Oid,System.Security.Cryptography.AsnEncodedData,System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Key;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;PublicKey;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.Security.Cryptography.X509Certificates.X500DistinguishedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;X500DistinguishedName;(System.String,System.Security.Cryptography.X509Certificates.X500DistinguishedNameFlags);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X500DistinguishedName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509BasicConstraintsExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Extensions;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_IssuerName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotAfter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_NotBefore;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PrivateKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SerialNumber;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SignatureAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_SubjectName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2;false;get_Thumbprint;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Find;(System.Security.Cryptography.X509Certificates.X509FindType,System.Object,System.Boolean);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509Certificate2Enumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;RemoveRange;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2Collection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;X509Certificate2Collection;(System.Security.Cryptography.X509Certificates.X509Certificate2[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Collection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate2);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Certificate2Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetCertHashString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetKeyAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;GetSerialNumberString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;ToString;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Issuer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Certificate;false;get_Subject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection+X509CertificateEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;AddRange;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Certificate[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509CertificateCollection+X509CertificateEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Insert;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;Remove;(System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509CertificateCollection);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;X509CertificateCollection;(System.Security.Cryptography.X509Certificates.X509Certificate[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Security.Cryptography.X509Certificates;X509CertificateCollection;false;set_Item;(System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Chain;false;get_ChainStatus;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Chain;false;set_ChainPolicy;(System.Security.Cryptography.X509Certificates.X509ChainPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509ChainElement[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ChainElementEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainElementCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography.X509Certificates;X509ChainElementEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;get_StatusInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ChainStatus;false;set_StatusInformation;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509EnhancedKeyUsageExtension;false;get_EnhancedKeyUsages;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509Extension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;Add;(System.Security.Cryptography.X509Certificates.X509Extension);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;CopyTo;(System.Security.Cryptography.X509Certificates.X509Extension[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.X509Certificates.X509ExtensionEnumerator.Current];value;manual | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography.X509Certificates;X509ExtensionEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509KeyUsageExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForECDsa;(System.Security.Cryptography.ECDsa);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;CreateForRSA;(System.Security.Cryptography.RSA,System.Security.Cryptography.RSASignaturePadding);;Argument[1];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SignatureGenerator;false;get_PublicKey;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography.X509Certificates;X509SubjectKeyIdentifierExtension;false;get_SubjectKeyIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.Security.Cryptography.Oid,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;AsnEncodedData;(System.String,System.ReadOnlySpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;CopyFrom;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;Format;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;get_RawData;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedData;false;set_Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedDataCollection;false;Add;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;AsnEncodedDataCollection;(System.Security.Cryptography.AsnEncodedData);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;AsnEncodedDataCollection;false;CopyTo;(System.Security.Cryptography.AsnEncodedData[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.AsnEncodedDataEnumerator.Current];value;manual | +| System.Security.Cryptography;AsnEncodedDataCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;AsnEncodedDataCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography;AsnEncodedDataEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;CryptoStream;false;CryptoStream;(System.IO.Stream,System.Security.Cryptography.ICryptoTransform,System.Security.Cryptography.CryptoStreamMode,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;CryptoStream;false;FlushAsync;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;CspParameters;false;get_ParentWindowHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;CspParameters;false;set_ParentWindowHandle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureDeformatter;false;DSASignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureFormatter;false;DSASignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;DSASignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;ECCurve;false;get_Oid;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;HMAC;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;HMAC;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;HashAlgorithmName;false;HashAlgorithmName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;HashAlgorithmName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;HashAlgorithmName;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.Byte[]);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;CreateHMAC;(System.Security.Cryptography.HashAlgorithmName,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;CreateHash;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;IncrementalHash;false;get_AlgorithmName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;FromFriendlyName;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;FromOidValue;(System.String,System.Security.Cryptography.OidGroup);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;Oid;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;get_FriendlyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;Oid;false;set_FriendlyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;Oid;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;OidCollection;false;Add;(System.Security.Cryptography.Oid);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Security.Cryptography;OidCollection;false;CopyTo;(System.Security.Cryptography.Oid[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Security.Cryptography;OidCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Security.Cryptography.OidEnumerator.Current];value;manual | +| System.Security.Cryptography;OidCollection;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;OidCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;OidCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security.Cryptography;OidEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;PKCS1MaskGenerationMethod;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[2];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;PasswordDeriveBytes;(System.Byte[],System.Byte[],System.String,System.Int32,System.Security.Cryptography.CspParameters);;Argument[4];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;get_HashName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;PasswordDeriveBytes;false;set_HashName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAEncryptionPadding;false;CreateOaep;(System.Security.Cryptography.HashAlgorithmName);;Argument[0];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAEncryptionPadding;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAEncryptionPadding;false;get_OaepHashAlgorithm;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;RSAOAEPKeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;RSAOAEPKeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAOAEPKeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;RSAPKCS1KeyExchangeDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;get_RNG;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeDeformatter;false;set_RNG;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;RSAPKCS1KeyExchangeFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;get_Rng;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Cryptography;RSAPKCS1KeyExchangeFormatter;false;set_Rng;(System.Security.Cryptography.RandomNumberGenerator);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;RSAPKCS1SignatureDeformatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureDeformatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;RSAPKCS1SignatureFormatter;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetHashAlgorithm;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Cryptography;RSAPKCS1SignatureFormatter;false;SetKey;(System.Security.Cryptography.AsymmetricAlgorithm);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.Security.Principal.GenericIdentity);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;GenericIdentity;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericIdentity;false;get_AuthenticationType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericIdentity;false;get_Claims;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericIdentity;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security.Principal;GenericPrincipal;false;GenericPrincipal;(System.Security.Principal.IIdentity,System.String[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security.Principal;GenericPrincipal;false;get_Identity;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;PermissionSet;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;AddAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;AddChild;(System.Security.SecurityElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;Attribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;Copy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;Escape;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;SearchForChildByTag;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;SearchForTextOfTag;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;SecurityElement;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;SecurityElement;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;get_Children;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;get_Tag;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Security;SecurityElement;false;set_Children;(System.Collections.ArrayList);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;set_Tag;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityElement;false;set_Text;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Security;SecurityException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;false;Encode;(System.IO.TextWriter,System.String);;Argument[1];Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.Char[],System.Int32,System.Int32);;Argument[1].Element;Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.IO.TextWriter,System.String,System.Int32,System.Int32);;Argument[1];Argument[0];taint;generated | +| System.Text.Encodings.Web;TextEncoder;true;Encode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json.Serialization;JsonStringEnumConverter;false;JsonStringEnumConverter;(System.Text.Json.JsonNamingPolicy,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonDocument;false;Parse;(System.Buffers.ReadOnlySequence,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;Parse;(System.IO.Stream,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;Parse;(System.ReadOnlyMemory,System.Text.Json.JsonDocumentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;ParseValue;(System.Text.Json.Utf8JsonReader);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;TryParseValue;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonDocument);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonDocument;false;get_RootElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement+ArrayEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement+ArrayEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement+ObjectEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;Clone;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text.Json;JsonElement;false;EnumerateArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;EnumerateObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;GetProperty;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;TryGetProperty;(System.ReadOnlySpan,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;TryGetProperty;(System.String,System.Text.Json.JsonElement);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonElement;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonEncodedText;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;JsonException;(System.String,System.String,System.Nullable,System.Nullable,System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonReaderState;false;JsonReaderState;(System.Text.Json.JsonReaderOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonReaderState;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializer;false;Deserialize;(System.Text.Json.Utf8JsonReader,System.Type,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializer;false;Deserialize<>;(System.Text.Json.Utf8JsonReader,System.Text.Json.JsonSerializerOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;JsonSerializerOptions;(System.Text.Json.JsonSerializerOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_DictionaryKeyPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_Encoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_PropertyNamingPolicy;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;get_ReferenceHandler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_DictionaryKeyPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_Encoder;(System.Text.Encodings.Web.JavaScriptEncoder);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_PropertyNamingPolicy;(System.Text.Json.JsonNamingPolicy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;JsonSerializerOptions;false;set_ReferenceHandler;(System.Text.Json.Serialization.ReferenceHandler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.Buffers.ReadOnlySequence,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;Utf8JsonReader;(System.ReadOnlySpan,System.Boolean,System.Text.Json.JsonReaderState);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonReader;false;get_CurrentState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;Utf8JsonReader;false;get_Position;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Reset;(System.Buffers.IBufferWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Reset;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.Buffers.IBufferWriter,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;Utf8JsonWriter;(System.IO.Stream,System.Text.Json.JsonWriterOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.Json;Utf8JsonWriter;false;get_Options;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;CaptureCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;CaptureCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Group;false;Synchronized;(System.Text.RegularExpressions.Group);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;TryGetValue;(System.String,System.Text.RegularExpressions.Group);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;GroupCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;GroupCollection;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Match;false;NextMatch;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Match;false;Synchronized;(System.Text.RegularExpressions.Match);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;MatchCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Text.RegularExpressions;MatchCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text.RegularExpressions;Regex;false;Escape;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;GroupNameFromNumber;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;IsMatch;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Match;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Match;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[1];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[1];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Matches;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[3];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Replace;(System.String,System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Split;(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;Unescape;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;get_CapNames;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;get_Caps;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;Regex;false;set_CapNames;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;Regex;false;set_Caps;(System.Collections.IDictionary);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[3];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;RegexCompilationInfo;(System.String,System.Text.RegularExpressions.RegexOptions,System.String,System.String,System.Boolean,System.TimeSpan);;Argument[5];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_MatchTimeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;get_Pattern;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_MatchTimeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexCompilationInfo;false;set_Pattern;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexMatchTimeoutException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.RegularExpressions;RegexParseException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text.RegularExpressions;RegexRunner;false;Scan;(System.Text.RegularExpressions.Regex,System.String,System.Int32,System.Int32,System.Int32,System.Int32,System.Boolean,System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Decoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Decoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Decoder;false;set_Fallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;DecoderFallbackException;false;DecoderFallbackException;(System.String,System.Byte[],System.Int32);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Text;DecoderFallbackException;false;get_BytesUnknown;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;DecoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;DecoderReplacementFallback;false;DecoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;DecoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;DecoderReplacementFallbackBuffer;false;DecoderReplacementFallbackBuffer;(System.Text.DecoderReplacementFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoder;false;get_Fallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoder;false;get_FallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoder;false;set_Fallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;EncoderReplacementFallback;false;CreateFallbackBuffer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;EncoderReplacementFallback;false;EncoderReplacementFallback;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;EncoderReplacementFallback;false;get_DefaultString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;EncoderReplacementFallbackBuffer;false;EncoderReplacementFallbackBuffer;(System.Text.EncoderReplacementFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[]);;Argument[2].Element;ReturnValue;taint;generated | +| System.Text;Encoding;false;Convert;(System.Text.Encoding,System.Text.Encoding,System.Byte[],System.Int32,System.Int32);;Argument[2].Element;ReturnValue;taint;generated | +| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Text;Encoding;false;CreateTranscodingStream;(System.IO.Stream,System.Text.Encoding,System.Text.Encoding,System.Boolean);;Argument[2];ReturnValue;taint;generated | +| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;Encoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;GetBytes;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[2];ReturnValue;taint;generated | +| System.Text;Encoding;false;GetString;(System.Byte*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;false;GetString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;false;get_DecoderFallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;false;get_EncoderFallback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;false;set_DecoderFallback;(System.Text.DecoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoding;false;set_EncoderFallback;(System.Text.EncoderFallback);;Argument[0];Argument[Qualifier];taint;generated | +| System.Text;Encoding;true;GetBytes;(System.Char*,System.Int32,System.Byte*,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.Char[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.ReadOnlySpan,System.Span);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetBytes;(System.String,System.Int32,System.Int32,System.Byte[],System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte*,System.Int32,System.Char*,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetChars;(System.ReadOnlySpan,System.Span);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetDecoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;true;GetEncoder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;Encoding;true;GetString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;Encoding;true;GetString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System.Text;EncodingProvider;true;GetEncoding;(System.Int32,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;EncodingProvider;true;GetEncoding;(System.String,System.Text.EncoderFallback,System.Text.DecoderFallback);;Argument[1];ReturnValue;taint;generated | +| System.Text;SpanRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;SpanRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder+ChunkEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder+ChunkEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Append;(System.Boolean);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Byte);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char*,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Decimal);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Double);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Int16);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Int64);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.ReadOnlyMemory);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.SByte);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Single);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;Append;(System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.Text.StringBuilder,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.UInt16);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.UInt32);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;Append;(System.UInt64);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.IFormatProvider,System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[2];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[3];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object,System.Object,System.Object);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendFormat;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.Char,System.String[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.Object[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin;(System.String,System.String[]);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendJoin<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendLine;();;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Text;StringBuilder;false;AppendLine;(System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Text;StringBuilder;false;GetChunks;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Byte);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[]);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Decimal);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Double);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int16);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Int64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.ReadOnlySpan);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.SByte);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.Single);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.String,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt16);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Insert;(System.Int32,System.UInt64);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Replace;(System.Char,System.Char,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Text;StringBuilder;false;Replace;(System.String,System.String,System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringBuilder;false;StringBuilder;(System.String);;Argument[0];ReturnValue.Element;value;manual | +| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32);;Argument[0];ReturnValue.Element;value;manual | +| System.Text;StringBuilder;false;StringBuilder;(System.String,System.Int32,System.Int32,System.Int32);;Argument[0];ReturnValue.Element;value;manual | +| System.Text;StringBuilder;false;ToString;();;Argument[Qualifier].Element;ReturnValue;taint;manual | +| System.Text;StringBuilder;false;ToString;(System.Int32,System.Int32);;Argument[Qualifier].Element;ReturnValue;taint;manual | +| System.Text;StringRuneEnumerator;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Text;StringRuneEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;BatchBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;BatchedJoinBlock;(System.Int32,System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Collections.Generic.IList>>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BatchedJoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BroadcastBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;BufferBlock;(System.Threading.Tasks.Dataflow.DataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;BufferBlock<>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObservable<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;AsObserver<>;(System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Encapsulate<,>;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];Argument[1];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;LinkTo<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Post<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput);;Argument[1];Argument[0];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;Receive<>;(System.Threading.Tasks.Dataflow.ISourceBlock,System.TimeSpan,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;SendAsync<>;(System.Threading.Tasks.Dataflow.ITargetBlock,TInput,System.Threading.CancellationToken);;Argument[1];Argument[0];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlock;false;TryReceive<>;(System.Threading.Tasks.Dataflow.IReceivableSourceBlock,TOutput);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_NameFormat;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_NameFormat;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;DataflowBlockOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,,>;false;get_Target3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;JoinBlock;(System.Threading.Tasks.Dataflow.GroupingDataflowBlockOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock>,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock>);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;JoinBlock<,>;false;get_Target2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;TransformManyBlock<,>;false;ReserveMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ConsumeMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];Argument[0];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;LinkTo;(System.Threading.Tasks.Dataflow.ITargetBlock,System.Threading.Tasks.Dataflow.DataflowLinkOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;OfferMessage;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,T,System.Threading.Tasks.Dataflow.ISourceBlock,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ReleaseReservation;(System.Threading.Tasks.Dataflow.DataflowMessageHeader,System.Threading.Tasks.Dataflow.ITargetBlock);;Argument[Qualifier];Argument[1];taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;TryReceiveAll;(System.Collections.Generic.IList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Dataflow;WriteOnceBlock<>;false;get_Completion;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;GetResult;(System.Int16);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetException;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks.Sources;ManualResetValueTaskSourceCore<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;ConcurrentExclusiveSchedulerPair;(System.Threading.Tasks.TaskScheduler,System.Int32,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ConcurrentScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ConcurrentExclusiveSchedulerPair;false;get_ExclusiveScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelLoopResult;false;get_LowestBreakIteration;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelOptions;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelOptions;false;get_TaskScheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ParallelOptions;false;set_CancellationToken;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ParallelOptions;false;set_TaskScheduler;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;Task;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith;(System.Action,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;ContinueWith<>;(System.Func,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Delay;(System.Int32,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;Delay;(System.TimeSpan,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;FromCanceled;(System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;FromResult<>;(TResult);;Argument[0];ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;Run<>;(System.Func>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Run<>;(System.Func>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Run<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Run<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;Task;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task;false;WhenAll;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAll;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAll<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAll<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny;(System.Threading.Tasks.Task[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Collections.Generic.IEnumerable>);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task,System.Threading.Tasks.Task);;Argument[1].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;WhenAny<>;(System.Threading.Tasks.Task[]);;Argument[0].Element.Property[System.Threading.Tasks.Task<>.Result];ReturnValue.Property[System.Threading.Tasks.Task<>.Result].Element;value;manual | +| System.Threading.Tasks;Task;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;Task<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue.SyntheticField[m_configuredTaskAwaiter].SyntheticField[m_task_configured_task_awaitable];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action,System.Object>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith;(System.Action>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[1];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,System.Object,TNewResult>,System.Object,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;ContinueWith<>;(System.Func,TNewResult>,System.Threading.Tasks.TaskScheduler);;Argument[Qualifier];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue.SyntheticField[m_task_task_awaiter];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;Task;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;Task<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait;(System.IAsyncDisposable,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;ConfigureAwait<>;(System.Collections.Generic.IAsyncEnumerable,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskAsyncEnumerableExtensions;false;WithCancellation<>;(System.Collections.Generic.IAsyncEnumerable,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskCanceledException;false;TaskCanceledException;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCanceledException;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskCompletionSource;false;TaskCompletionSource;(System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCompletionSource;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskCompletionSource<>;false;SetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCompletionSource<>;false;TrySetResult;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskCompletionSource<>;false;get_Task;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskExtensions;false;Unwrap;(System.Threading.Tasks.Task);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskExtensions;false;Unwrap<>;(System.Threading.Tasks.Task>);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<,>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Action[]>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<,>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Action>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew;(System.Action,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;StartNew<>;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAll<>;(System.Threading.Tasks.Task[],System.Func[],TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny;(System.Threading.Tasks.Task[],System.Func,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.CancellationToken,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[0];Argument[1].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;ContinueWhenAny<>;(System.Threading.Tasks.Task[],System.Func,TResult>,System.Threading.Tasks.TaskContinuationOptions);;Argument[1].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Object,System.Threading.Tasks.TaskCreationOptions);;Argument[1];Argument[0].Parameter[0];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;StartNew;(System.Func,System.Threading.Tasks.TaskCreationOptions);;Argument[0].ReturnValue;ReturnValue.Property[System.Threading.Tasks.Task<>.Result];value;manual | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.CancellationToken,System.Threading.Tasks.TaskCreationOptions,System.Threading.Tasks.TaskContinuationOptions,System.Threading.Tasks.TaskScheduler);;Argument[3];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;TaskFactory;(System.Threading.Tasks.TaskScheduler);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;TaskFactory<>;false;get_Scheduler;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;UnobservedTaskExceptionEventArgs;(System.AggregateException);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;UnobservedTaskExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;AsTask;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;FromResult<>;(TResult);;Argument[0];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;Preserve;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;AsTask;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ConfigureAwait;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;GetAwaiter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;Preserve;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Sources.IValueTaskSource,System.Int16);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ValueTask;(System.Threading.Tasks.Task);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;ValueTask;(TResult);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading.Tasks;ValueTask<>;false;get_Result;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.Int32,System.Threading.WaitHandle);;Argument[1];Argument[Qualifier];taint;generated | +| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Exception,System.Int32,System.Threading.WaitHandle);;Argument[3];Argument[Qualifier];taint;generated | +| System.Threading;AbandonedMutexException;false;AbandonedMutexException;(System.String,System.Int32,System.Threading.WaitHandle);;Argument[2];Argument[Qualifier];taint;generated | +| System.Threading;AbandonedMutexException;false;get_Mutex;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;CancellationToken;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;CancellationTokenSource;false;get_Token;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;CompressedStack;false;CreateCopy;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Threading;CountdownEvent;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;ExecutionContext;false;CreateCopy;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Threading;HostExecutionContextManager;false;SetHostExecutionContext;(System.Threading.HostExecutionContext);;Argument[0];ReturnValue;taint;generated | +| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T);;Argument[0];ReturnValue;taint;generated | +| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Threading;LazyInitializer;false;EnsureInitialized<>;(T,System.Boolean,System.Object);;Argument[2];ReturnValue;taint;generated | +| System.Threading;ManualResetEventSlim;false;get_WaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Int32,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;WaitAsync;(System.TimeSpan,System.Threading.CancellationToken);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;SemaphoreSlim;false;get_AvailableWaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;Thread;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;Thread;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;ThreadExceptionEventArgs;false;ThreadExceptionEventArgs;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;ThreadExceptionEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;WaitHandle;false;set_SafeWaitHandle;(Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;WaitHandle;true;get_Handle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Threading;WaitHandle;true;set_Handle;(System.IntPtr);;Argument[0];Argument[Qualifier];taint;generated | +| System.Threading;WaitHandleExtensions;false;SetSafeWaitHandle;(System.Threading.WaitHandle,Microsoft.Win32.SafeHandles.SafeWaitHandle);;Argument[1];Argument[0];taint;generated | +| System.Timers;Timer;false;get_Site;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Timers;Timer;false;get_SynchronizingObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Timers;Timer;false;set_Site;(System.ComponentModel.ISite);;Argument[0];Argument[Qualifier];taint;generated | +| System.Timers;Timer;false;set_SynchronizingObject;(System.ComponentModel.ISynchronizeInvoke);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;CommittableTransaction;false;get_AsyncState;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;CommittableTransaction;false;get_AsyncWaitHandle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistDurable;(System.Guid,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;EnlistPromotableSinglePhase;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.IEnlistmentNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;EnlistVolatile;(System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;PromoteAndEnlistDurable;(System.Guid,System.Transactions.IPromotableSinglePhaseNotification,System.Transactions.ISinglePhaseNotification,System.Transactions.EnlistmentOptions);;Argument[0];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;Rollback;(System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;SetDistributedTransactionIdentifier;(System.Transactions.IPromotableSinglePhaseNotification,System.Guid);;Argument[1];Argument[Qualifier];taint;generated | +| System.Transactions;Transaction;false;get_PromoterType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;Transaction;false;get_TransactionInformation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionEventArgs;false;get_Transaction;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionInformation;false;get_DistributedIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionOptions;false;get_Timeout;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Transactions;TransactionOptions;false;set_Timeout;(System.TimeSpan);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.EnterpriseServicesInteropOption);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.TimeSpan,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];taint;generated | +| System.Transactions;TransactionScope;false;TransactionScope;(System.Transactions.Transaction,System.Transactions.TransactionScopeAsyncFlowOption);;Argument[0];Argument[Qualifier];taint;generated | +| System.Web.UI.WebControls;TextBox;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Web;HttpCookie;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Web;HttpCookie;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Web;HttpServerUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpServerUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlAttributeEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlDecode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Web;HttpUtility;false;HtmlDecode;(System.String,System.IO.TextWriter);;Argument[0];Argument[1];taint;generated | +| System.Web;HttpUtility;false;HtmlEncode;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;HtmlEncode;(System.String,System.IO.TextWriter);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;JavaScriptStringEncode;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.Byte[]);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.Byte[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncode;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;manual | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlEncodeToBytes;(System.String,System.Text.Encoding);;Argument[0];ReturnValue;taint;generated | +| System.Web;HttpUtility;false;UrlPathEncode;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;ValueSerializerAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Windows.Markup;ValueSerializerAttribute;false;get_ValueSerializerTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Ancestors<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;AncestorsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Attributes;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantNodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantNodesAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Descendants<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;DescendantsAndSelf;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Elements<>;(System.Collections.Generic.IEnumerable,System.Xml.Linq.XName);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;InDocumentOrder<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;Extensions;false;Nodes<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;XAttribute;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;get_NextAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;get_PreviousAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XAttribute;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XCData;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XCData;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XComment;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XComment;false;XComment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XComment;false;XComment;(System.Xml.Linq.XComment);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XComment;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XComment;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;Add;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XContainer;false;AddFirst;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XContainer;false;AddFirst;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XContainer;false;CreateWriter;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;DescendantNodes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Descendants;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Descendants;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Element;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Elements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Elements;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;Nodes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XContainer;false;ReplaceNodes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XContainer;false;get_FirstNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XContainer;false;get_LastNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;XDeclaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDeclaration;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XDocument;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XDocument;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;XDocument;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDeclaration,System.Object[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;XDocument;(System.Xml.Linq.XDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocument;false;get_Declaration;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;get_Root;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocument;false;set_Declaration;(System.Xml.Linq.XDeclaration);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;XDocumentType;(System.Xml.Linq.XDocumentType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XDocumentType;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XDocumentType;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;AncestorsAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;AncestorsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Attribute;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Attributes;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;DescendantNodesAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;DescendantsAndSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;DescendantsAndSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.Stream,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.IO.TextReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Load;(System.Xml.XmlReader,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Parse;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;Parse;(System.String,System.Xml.Linq.LoadOptions);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;ReadXml;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAll;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;ReplaceAttributes;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XElement;false;SaveAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;SetAttributeValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;SetElementValue;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;SetValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XName,System.Object);;Argument[Qualifier];Argument[1];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;XElement;(System.Xml.Linq.XStreamingElement);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XElement;false;get_FirstAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;get_LastAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XElement;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XName;false;Get;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;Get;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XName;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;GetName;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNamespace;false;get_NamespaceName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XNode;false;AddAfterSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XNode;false;AddBeforeSelf;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XNode;false;Ancestors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;Ancestors;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;CreateReader;(System.Xml.Linq.ReaderOptions);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ElementsAfterSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ElementsAfterSelf;(System.Xml.Linq.XName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;NodesAfterSelf;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ReadFrom;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XNode;false;ReplaceWith;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml.Linq;XNode;false;get_NextNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;AddAnnotation;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XObject;false;Annotation;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;Annotation<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;Annotations;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;Annotations<>;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;get_BaseUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;XProcessingInstruction;(System.Xml.Linq.XProcessingInstruction);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XProcessingInstruction;false;set_Target;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;XStreamingElement;(System.Xml.Linq.XName,System.Object[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Linq;XStreamingElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XStreamingElement;false;set_Name;(System.Xml.Linq.XName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Linq;XText;false;WriteToAsync;(System.Xml.XmlWriter,System.Threading.CancellationToken);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Linq;XText;false;XText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XText;false;XText;(System.Xml.Linq.XText);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Linq;XText;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Linq;XText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;XmlPreloadedResolver;(System.Xml.XmlResolver,System.Xml.Resolvers.XmlKnownDtds,System.Collections.Generic.IEqualityComparer);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Resolvers;XmlPreloadedResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XAttribute);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;Extensions;false;GetSchemaInfo;(System.Xml.Linq.XElement);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;ValidationEventArgs;false;get_Exception;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;ValidationEventArgs;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;Clone;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml.Schema;XmlAtomicValue;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlAtomicValue;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Elements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Groups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Includes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Notations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_TargetNamespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchema;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchema;false;set_TargetNamespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchema;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchema;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAll;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotated;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnnotation;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAny;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAny;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAnyAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAnyAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;get_Markup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAppInfo;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_AttributeType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttribute;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;get_RedefinedAttributeGroup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaAttributeGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaChoice;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchema,System.Xml.XmlResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;Add;(System.Xml.Schema.XmlSchemaCollection);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaCollectionEnumerator.Current];value;manual | +| System.Xml.Schema;XmlSchemaCollection;false;XmlSchemaCollection;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml.Schema;XmlSchemaComplexContent;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentExtension;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexContentRestriction;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeUses;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_AttributeWildcard;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentModel;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_ContentTypeParticle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;set_ContentModel;(System.Xml.Schema.XmlSchemaContentModel);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaComplexType;false;set_Particle;(System.Xml.Schema.XmlSchemaParticle);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDatatype;true;ChangeType;(System.Object,System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;get_Language;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;get_Markup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;set_Language;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;set_Markup;(System.Xml.XmlNode[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaDocumentation;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_Constraints;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_DefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_ElementSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_ElementType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_FixedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_SchemaTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;get_SubstitutionGroup;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_DefaultValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_FixedValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_SchemaTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaElement;false;set_SubstitutionGroup;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaException;false;XmlSchemaException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaException;false;get_SourceSchemaObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_Schema;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_SchemaLocation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;get_UnhandledAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_Id;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_Schema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_SchemaLocation;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaExternal;false;set_UnhandledAttributes;(System.Xml.XmlAttribute[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaFacet;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaFacet;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaGroup;false;set_Particle;(System.Xml.Schema.XmlSchemaGroupBase);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaGroupRef;false;get_Particle;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroupRef;false;get_RefName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaGroupRef;false;set_RefName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Fields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;get_Selector;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaIdentityConstraint;false;set_Selector;(System.Xml.Schema.XmlSchemaXPath);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaImport;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInclude;false;get_Annotation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInclude;false;set_Annotation;(System.Xml.Schema.XmlSchemaAnnotation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];Argument[1];taint;generated | +| System.Xml.Schema;XmlSchemaInference;false;InferSchema;(System.Xml.XmlReader,System.Xml.Schema.XmlSchemaSet);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInferenceException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;get_SchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_MemberType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaAttribute;(System.Xml.Schema.XmlSchemaAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaElement;(System.Xml.Schema.XmlSchemaElement);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaInfo;false;set_SchemaType;(System.Xml.Schema.XmlSchemaType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaKeyref;false;get_Refer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaKeyref;false;set_Refer;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;get_Public;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;get_System;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;set_Public;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaNotation;false;set_System;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;get_Namespaces;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;get_Parent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;set_Namespaces;(System.Xml.Serialization.XmlSerializerNamespaces);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;set_Parent;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObject;false;set_SourceUri;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObjectCollection;false;Add;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;CopyTo;(System.Xml.Schema.XmlSchemaObject[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Xml.Schema.XmlSchemaObjectEnumerator.Current];value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;Insert;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;Remove;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObjectCollection;false;XmlSchemaObjectCollection;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaObjectCollection;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Schema;XmlSchemaObjectCollection;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchemaObject);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Schema;XmlSchemaObjectEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObjectTable;false;get_Names;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaObjectTable;false;get_Values;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_AttributeGroups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_Groups;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaRedefine;false;get_SchemaTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSequence;false;get_Items;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.String,System.Xml.XmlReader);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;Reprocess;(System.Xml.Schema.XmlSchema);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;XmlSchemaSet;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_CompilationSettings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_GlobalAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_GlobalElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_GlobalTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;set_CompilationSettings;(System.Xml.Schema.XmlSchemaCompilationSettings);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSet;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContent;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContent;false;set_Content;(System.Xml.Schema.XmlSchemaContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentExtension;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_AnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_AnyAttribute;(System.Xml.Schema.XmlSchemaAnyAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleContentRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleType;false;get_Content;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleType;false;set_Content;(System.Xml.Schema.XmlSchemaSimpleTypeContent);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_BaseItemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;get_ItemTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_BaseItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeList;false;set_ItemTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_BaseTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;get_Facets;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseType;(System.Xml.Schema.XmlSchemaSimpleType);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeRestriction;false;set_BaseTypeName;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseMemberTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_BaseTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;get_MemberTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaSimpleTypeUnion;false;set_MemberTypes;(System.Xml.XmlQualifiedName[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_BaseSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_BaseXmlSchemaType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_Datatype;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;get_QualifiedName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaType;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidationException;false;SetSourceObject;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidationException;false;get_SourceObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;AddSchema;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;GetExpectedParticles;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;Initialize;(System.Xml.Schema.XmlSchemaObject);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;SkipToEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[3];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateAttribute;(System.String,System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[2];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateElement;(System.String,System.String,System.Xml.Schema.XmlSchemaInfo,System.String,System.String,System.String,System.String);;Argument[Qualifier];Argument[2];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateEndElement;(System.Xml.Schema.XmlSchemaInfo,System.Object);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;ValidateWhitespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;XmlSchemaValidator;(System.Xml.XmlNameTable,System.Xml.Schema.XmlSchemaSet,System.Xml.IXmlNamespaceResolver,System.Xml.Schema.XmlSchemaValidationFlags);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;get_LineInfoProvider;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;get_ValidationEventSender;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_LineInfoProvider;(System.Xml.IXmlLineInfo);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_SourceUri;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_ValidationEventSender;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaValidator;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Schema;XmlSchemaXPath;false;get_XPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Schema;XmlSchemaXPath;false;set_XPath;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;Add;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;AddUnique;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;MakeUnique;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;CodeIdentifiers;false;ToArray;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;ImportContext;false;ImportContext;(System.Xml.Serialization.CodeIdentifiers,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;ImportContext;false;get_TypeIdentifiers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;ImportContext;false;get_Warnings;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;SoapAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributeOverrides;false;get_Item;(System.Type,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapDefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapEnum;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;get_SoapType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapAttribute;(System.Xml.Serialization.SoapAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapElement;(System.Xml.Serialization.SoapElementAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapEnum;(System.Xml.Serialization.SoapEnumAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapAttributes;false;set_SoapType;(System.Xml.Serialization.SoapTypeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;SoapElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapEnumAttribute;false;SoapEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapIncludeAttribute;false;SoapIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[]);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapReflectionImporter;false;SoapReflectionImporter;(System.Xml.Serialization.SoapAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapSchemaMember;false;set_MemberType;(System.Xml.XmlQualifiedName);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;SoapTypeAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;SoapTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;UnreferencedObjectEventArgs;(System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;UnreferencedObjectEventArgs;false;get_UnreferencedObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;XmlAnyElementAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttributes;false;Add;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlAnyElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;Remove;(System.Xml.Serialization.XmlAnyElementAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAnyElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlAnyElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlAnyElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlArrayAttribute;false;XmlArrayAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;XmlArrayItemAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttributes;false;Add;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;CopyTo;(System.Xml.Serialization.XmlArrayItemAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;Remove;(System.Xml.Serialization.XmlArrayItemAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlArrayItemAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlArrayItemAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlArrayItemAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;XmlAttributeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_AttributeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_AttributeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributeEventArgs;false;get_Attr;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ExpectedAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributeOverrides;false;get_Item;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlAnyElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlArray;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlArrayItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlChoiceIdentifier;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlDefaultValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlEnum;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlRoot;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlText;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlAnyAttribute;(System.Xml.Serialization.XmlAnyAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlArray;(System.Xml.Serialization.XmlArrayAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlAttribute;(System.Xml.Serialization.XmlAttributeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlDefaultValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlEnum;(System.Xml.Serialization.XmlEnumAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlRoot;(System.Xml.Serialization.XmlRootAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlText;(System.Xml.Serialization.XmlTextAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlAttributes;false;set_XmlType;(System.Xml.Serialization.XmlTypeAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;XmlChoiceIdentifierAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlChoiceIdentifierAttribute;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownAttribute;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnknownNode;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlDeserializationEvents;false;get_OnUnreferencedObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.String,System.Type);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;XmlElementAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttributes;false;Add;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;CopyTo;(System.Xml.Serialization.XmlElementAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;Insert;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;Remove;(System.Xml.Serialization.XmlElementAttribute);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlElementAttributes;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlElementAttributes;false;set_Item;(System.Int32,System.Xml.Serialization.XmlElementAttribute);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlElementEventArgs;false;get_Element;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementEventArgs;false;get_ExpectedElements;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlElementEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlEnumAttribute;false;XmlEnumAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlEnumAttribute;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlEnumAttribute;false;set_Name;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlIncludeAttribute;false;XmlIncludeAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlIncludeAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlIncludeAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlMapping;false;SetKey;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlMapping;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMapping;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMapping;false;get_XsdElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMemberMapping;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlMembersMapping;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_ObjectBeingDeserialized;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlNodeEventArgs;false;get_Text;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportMembersMapping;(System.String,System.String,System.Xml.Serialization.XmlReflectionMember[],System.Boolean,System.Boolean,System.Boolean,System.Xml.Serialization.XmlMappingAccess);;Argument[2].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;ImportTypeMapping;(System.Type,System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionImporter;false;XmlReflectionImporter;(System.Xml.Serialization.XmlAttributeOverrides,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_MemberName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_MemberType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_SoapAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;get_XmlAttributes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_MemberName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_MemberType;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_SoapAttributes;(System.Xml.Serialization.SoapAttributes);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlReflectionMember;false;set_XmlAttributes;(System.Xml.Serialization.XmlAttributes);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;XmlRootAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;get_ElementName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;set_ElementName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlRootAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaEnumerator;false;XmlSchemaEnumerator;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaEnumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportMembersMapping;(System.Xml.Serialization.XmlMembersMapping,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlMembersMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;ExportTypeMapping;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaExporter;false;XmlSchemaExporter;(System.Xml.Serialization.XmlSchemas);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaProviderAttribute;false;XmlSchemaProviderAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemaProviderAttribute;false;get_MethodName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[0];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Schema.XmlSchema,System.Uri);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Add;(System.Xml.Serialization.XmlSchemas);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;CopyTo;(System.Xml.Schema.XmlSchema[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;Find;(System.Xml.XmlQualifiedName,System.Type);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlSchemas;false;Insert;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSchemas;false;OnInsert;(System.Int32,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;OnSet;(System.Int32,System.Object,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;Remove;(System.Xml.Schema.XmlSchema);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.Int32);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlSchemas;false;get_Item;(System.String);;Argument[Qualifier].Element;ReturnValue;value;manual | +| System.Xml.Serialization;XmlSchemas;false;set_Item;(System.Int32,System.Xml.Schema.XmlSchema);;Argument[1];Argument[Qualifier].Element;value;manual | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_Collection;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+CollectionFixup;false;get_CollectionItems;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Callback;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Ids;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;get_Source;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader+Fixup;false;set_Source;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+CollectionFixup);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;AddFixup;(System.Xml.Serialization.XmlSerializationReader+Fixup);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;AddTarget;(System.String,System.Object);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;CollapseWhitespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;EnsureArrayIndex;(System.Array,System.Int32,System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;GetTarget;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadNullableString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReference;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencedElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.Boolean,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadReferencingElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadSerializable;(System.Xml.Serialization.IXmlSerializable,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadString;(System.String,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ReadTypedPrimitive;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ShrinkArray;(System.Array,System.Int32,System.Type,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToByteArrayBase64;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNCName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmToken;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;ToXmlNmTokens;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;get_Document;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayBase64;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromByteArrayHex;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[]);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromEnum;(System.Int64,System.String[],System.Int64[],System.String);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNCName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmToken;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlNmTokens;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;FromXmlQualifiedName;(System.Xml.XmlQualifiedName,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteAttribute;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementEncoded;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementLiteral;(System.Xml.XmlNode,System.String,System.String,System.Boolean,System.Boolean);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementString;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[]);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteElementStringRaw;(System.String,System.String,System.Xml.XmlQualifiedName);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncoded;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.Byte[],System.Xml.XmlQualifiedName);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringEncodedRaw;(System.String,System.String,System.String,System.Xml.XmlQualifiedName);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteral;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.Byte[]);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteNullableStringLiteralRaw;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WritePotentiallyReferencingElement;(System.String,System.String,System.Object,System.Type,System.Boolean,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteRpcResult;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteSerializable;(System.Xml.Serialization.IXmlSerializable,System.String,System.String,System.Boolean,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteTypedPrimitive;(System.String,System.String,System.Object,System.Boolean);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.Byte[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXmlAttribute;(System.Xml.XmlNode,System.Object);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;WriteXsiType;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;get_Writer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializationWriter;false;set_Writer;(System.Xml.XmlWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.String,System.Xml.Serialization.XmlDeserializationEvents);;Argument[Qualifier];Argument[2];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;Deserialize;(System.Xml.XmlReader,System.Xml.Serialization.XmlDeserializationEvents);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[]);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;FromMappings;(System.Xml.Serialization.XmlMapping[],System.Type);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializer;false;XmlSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;XmlSerializerAssemblyAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_AssemblyName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;get_CodeBase;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_AssemblyName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerAssemblyAttribute;false;set_CodeBase;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String);;Argument[4];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlAttributeOverrides,System.Type[],System.Xml.Serialization.XmlRootAttribute,System.String,System.String);;Argument[4];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Type,System.Xml.Serialization.XmlRootAttribute);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerFactory;false;CreateSerializer;(System.Xml.Serialization.XmlTypeMapping);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;XmlSerializerVersionAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_ParentAssemblyId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_ParentAssemblyId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlSerializerVersionAttribute;false;set_Version;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;XmlTextAttribute;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;get_DataType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;get_Type;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;set_DataType;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTextAttribute;false;set_Type;(System.Type);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;XmlTypeAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;get_Namespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;set_Namespace;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Serialization;XmlTypeAttribute;false;set_TypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;Extensions;false;CreateNavigator;(System.Xml.Linq.XNode,System.Xml.XmlNameTable);;Argument[1];ReturnValue;taint;generated | +| System.Xml.XPath;XDocumentExtensions;false;ToXPathNavigable;(System.Xml.Linq.XNode);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathDocument;false;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathDocument;false;XPathDocument;(System.Xml.XmlReader,System.Xml.XmlSpace);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.XPath;XPathException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.XPath;XPathException;false;XPathException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.XPath;XPathException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathExpression;false;Compile;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathExpression;false;Compile;(System.String,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.XPath;XPathItem;true;ValueAs;(System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;ValueAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;get_TypedValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;get_ValueAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;false;get_XmlType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Compile;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Evaluate;(System.Xml.XPath.XPathExpression,System.Xml.XPath.XPathNodeIterator);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;GetNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;Select;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;SelectSingleNode;(System.Xml.XPath.XPathExpression);;Argument[0];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;WriteSubtree;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.XPath;XPathNavigator;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNavigator;true;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNodeIterator;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.XPath;XPathNodeIterator;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslCompiledTransform;false;Load;(System.Reflection.MethodInfo,System.Byte[],System.Type[]);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.IXPathNavigable,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[0];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[2];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;Transform;(System.Xml.XPath.XPathNavigator,System.Xml.Xsl.XsltArgumentList,System.Xml.XmlResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XslTransform;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;GetExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;GetParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;RemoveExtensionObject;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltArgumentList;false;RemoveParam;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltCompileException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Xsl;XsltException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml.Xsl;XsltException;false;XsltException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml.Xsl;XsltException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml.Xsl;XsltException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Get;(System.Char[],System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;NameTable;false;Get;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;UniqueId;false;UniqueId;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;UniqueId;false;UniqueId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlAttribute;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlAttribute;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlAttribute;false;get_OwnerElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttribute;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;Append;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;CopyTo;(System.Xml.XmlAttribute[],System.Int32);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertAfter;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;InsertBefore;(System.Xml.XmlAttribute,System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;Prepend;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;Remove;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;RemoveAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlAttributeCollection;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_ItemOf;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlAttributeCollection;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;Add;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.String,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlBinaryReaderSession;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlCDataSection;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlCDataSection;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlCharacterData;false;XmlCharacterData;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;true;AppendData;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlCharacterData;true;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlCharacterData;true;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlCharacterData;true;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlComment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;DecodeName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;EncodeLocalName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;EncodeName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;EncodeNmToken;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyNCName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyNMTOKEN;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyPublicId;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyTOKEN;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyWhitespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlConvert;false;VerifyXmlChars;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;GetElementFromRow;(System.Data.DataRow);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;GetRowFromElement;(System.Xml.XmlElement);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;XmlDataDocument;(System.Data.DataSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDataDocument;false;get_DataSet;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;XmlDeclaration;(System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;get_Standalone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDeclaration;false;set_Encoding;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDeclaration;false;set_Standalone;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionary;false;Add;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionary;false;TryLookup;(System.Int32,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionary;false;TryLookup;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[5];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlDictionaryReaderQuotas,System.Xml.XmlBinaryReaderSession);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateBinaryReader;(System.IO.Stream,System.Xml.XmlDictionaryReaderQuotas);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateDictionaryReader;(System.Xml.XmlReader);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Int32,System.Int32,System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;CreateTextReader;(System.Byte[],System.Xml.XmlDictionaryReaderQuotas);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadContentAsString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;false;ReadString;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;GetAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;GetNonAtomizedNames;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadArray;(System.String,System.String,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.DateTime[],System.Int32,System.Int32);;Argument[Qualifier];Argument[2].Element;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsQualifiedName;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.String[],System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsString;(System.Xml.XmlDictionaryString[],System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadContentAsUniqueId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadDateTimeArray;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryReader;true;ReadElementContentAsUniqueId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryString;false;XmlDictionaryString;(System.Xml.IXmlDictionary,System.String,System.Int32);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryString;false;get_Dictionary;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryString;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateBinaryWriter;(System.IO.Stream,System.Xml.IXmlDictionary,System.Xml.XmlBinaryWriterSession,System.Boolean);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;CreateDictionaryWriter;(System.Xml.XmlWriter);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteAttributeString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteBase64Async;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteElementString;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;false;WriteStartAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteQualifiedName;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteStartAttribute;(System.String,System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteString;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteTextNode;(System.Xml.XmlDictionaryReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteValue;(System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlAttribute;(System.Xml.XmlDictionaryString,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDictionaryWriter;true;WriteXmlnsAttribute;(System.String,System.Xml.XmlDictionaryString);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocument;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateAttribute;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentFragment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateDocumentType;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateElement;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateEntityReference;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNavigator;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateNode;(System.Xml.XmlNodeType,System.String,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateProcessingInstruction;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;CreateXmlDeclaration;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;ImportNode;(System.Xml.XmlNode,System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;Load;(System.IO.Stream);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Load;(System.IO.TextReader);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Load;(System.String);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Load;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;manual | +| System.Xml;XmlDocument;false;Save;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocument;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocument;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocument;false;XmlDocument;(System.Xml.XmlImplementation);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocument;false;get_DocumentElement;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_DocumentType;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_Implementation;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;get_Schemas;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocument;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocument;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentFragment;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentFragment;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocumentFragment;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlDocumentFragment;false;XmlDocumentFragment;(System.Xml.XmlDocument);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;XmlDocumentType;(System.String,System.String,System.String,System.String,System.Xml.XmlDocument);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlDocumentType;false;get_Entities;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_Notations;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlDocumentType;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttributeNode;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetElementsByTagName;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;GetElementsByTagName;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;RemoveAttributeAt;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;RemoveAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;RemoveAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttribute;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlElement;false;SetAttributeNode;(System.Xml.XmlAttribute);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlElement;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlElement;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlElement;false;set_Prefix;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlEntity;false;get_NotationName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntity;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntity;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntityReference;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlEntityReference;false;WriteContentTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlEntityReference;false;XmlEntityReference;(System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlException;false;XmlException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlException;false;get_SourceUri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlImplementation;false;CreateDocument;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlImplementation;false;XmlImplementation;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Xml;XmlNamedNodeMap;false;GetNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;value;manual | +| System.Xml;XmlNamedNodeMap;false;Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamedNodeMap;false;RemoveNamedItem;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNamedNodeMap;false;SetNamedItem;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;XmlNamespaceManager;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlNamespaceManager;false;get_DefaultNamespace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNamespaceManager;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.IEnumerator.Current];value;manual | +| System.Xml;XmlNode;false;SelectNodes;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;false;SelectNodes;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;false;SelectSingleNode;(System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;false;SelectSingleNode;(System.String,System.Xml.XmlNamespaceManager);;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;AppendChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;CreateNavigator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;GetNamespaceOfPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;GetPrefixOfNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertAfter;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[1].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[1].Element;taint;generated | +| System.Xml;XmlNode;true;InsertBefore;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;PrependChild;(System.Xml.XmlNode);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;RemoveChild;(System.Xml.XmlNode);;Argument[0].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[1].Element;ReturnValue;taint;generated | +| System.Xml;XmlNode;true;ReplaceChild;(System.Xml.XmlNode,System.Xml.XmlNode);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System.Xml;XmlNode;true;get_Attributes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_ChildNodes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_FirstChild;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_HasChildNodes;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_InnerText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_InnerXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_IsReadOnly;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNode;true;get_LastChild;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_NextSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_NodeType;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_OuterXml;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_OwnerDocument;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_ParentNode;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_PreviousSibling;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_PreviousText;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNode;true;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[2].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;XmlNodeChangedEventArgs;(System.Xml.XmlNode,System.Xml.XmlNode,System.Xml.XmlNode,System.String,System.String,System.Xml.XmlNodeChangedAction);;Argument[4];Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_NewParent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_NewValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_Node;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_OldParent;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeChangedEventArgs;false;get_OldValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeList;true;get_ItemOf;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;GetAttribute;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;GetAttribute;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;LookupNamespace;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;XmlNodeReader;(System.Xml.XmlNode);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlNodeReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_LocalName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_NamespaceURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_Prefix;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNodeReader;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNotation;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlNotation;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[1].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[4];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[5];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[6];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[7];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;XmlParserContext;(System.Xml.XmlNameTable,System.Xml.XmlNamespaceManager,System.String,System.String,System.String,System.String,System.String,System.String,System.Xml.XmlSpace,System.Text.Encoding);;Argument[9];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_DocTypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_InternalSubset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_NamespaceManager;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_PublicId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_SystemId;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlParserContext;false;set_BaseURI;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_DocTypeName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_InternalSubset;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_NamespaceManager;(System.Xml.XmlNamespaceManager);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_PublicId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_SystemId;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlParserContext;false;set_XmlLang;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlProcessingInstruction;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;XmlProcessingInstruction;(System.String,System.String,System.Xml.XmlDocument);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;get_Data;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlProcessingInstruction;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlProcessingInstruction;false;set_Data;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;set_InnerText;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlProcessingInstruction;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlQualifiedName;false;ToString;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.Stream,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.String);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.IO.TextReader,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.String);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.String,System.Xml.XmlReaderSettings,System.Xml.XmlParserContext);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;false;Create;(System.Xml.XmlReader,System.Xml.XmlReaderSettings);;Argument[0];ReturnValue;taint;manual | +| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadContentAsObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAs;(System.Type,System.Xml.IXmlNamespaceResolver,System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsDateTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsDateTime;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsObject;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementContentAsString;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementString;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadElementString;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;ReadSubtree;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Item;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Item;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_Name;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReader;true;get_SchemaInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReaderSettings;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlReaderSettings;false;set_NameTable;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlReaderSettings;false;set_Schemas;(System.Xml.Schema.XmlSchemaSet);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlReaderSettings;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlResolver;true;ResolveUri;(System.Uri,System.String);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlSecureResolver;false;XmlSecureResolver;(System.Xml.XmlResolver,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlSecureResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlSignificantWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlSignificantWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlSignificantWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlText;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlText;false;SplitText;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlText;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlText;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;GetRemainder;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.IO.TextReader,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;XmlTextReader;(System.Xml.XmlNameTable);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextReader;false;get_BaseURI;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;get_NameTable;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextReader;false;set_XmlResolver;(System.Xml.XmlResolver);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;LookupPrefix;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextWriter;false;WriteStartAttribute;(System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.Stream,System.Text.Encoding);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;XmlTextWriter;(System.IO.TextWriter);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlTextWriter;false;get_BaseStream;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlTextWriter;false;get_XmlLang;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlUrlResolver;false;set_Credentials;(System.Net.ICredentials);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlUrlResolver;false;set_Proxy;(System.Net.IWebProxy);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;LookupNamespace;(System.String);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.IO.Stream,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.String,System.Xml.XmlNodeType,System.Xml.XmlParserContext);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;XmlValidatingReader;(System.Xml.XmlReader);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlValidatingReader;false;get_Reader;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlValidatingReader;false;get_Schemas;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWhitespace;false;CloneNode;(System.Boolean);;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWhitespace;false;WriteTo;(System.Xml.XmlWriter);;Argument[Qualifier];Argument[0];taint;generated | +| System.Xml;XmlWhitespace;false;set_Value;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.Stream);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.Stream,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.IO.TextWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.String,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Text.StringBuilder,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[0];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;Create;(System.Xml.XmlWriter,System.Xml.XmlWriterSettings);;Argument[1];ReturnValue;taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteAttributeStringAsync;(System.String,System.String,System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String);;Argument[2];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteElementString;(System.String,System.String,System.String,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;false;WriteStartAttribute;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteAttributes;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteAttributesAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNmToken;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNode;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XPath.XPathNavigator,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteNodeAsync;(System.Xml.XmlReader,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteQualifiedName;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteValue;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriter;true;WriteValue;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriterSettings;false;get_Encoding;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWriterSettings;false;get_IndentChars;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWriterSettings;false;get_NewLineChars;();;Argument[Qualifier];ReturnValue;taint;generated | +| System.Xml;XmlWriterSettings;false;set_Encoding;(System.Text.Encoding);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriterSettings;false;set_IndentChars;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System.Xml;XmlWriterSettings;false;set_NewLineChars;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;AggregateException;false;AggregateException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;AggregateException;false;AggregateException;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;AggregateException;false;GetBaseException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;AggregateException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;AggregateException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;AggregateException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;AppDomain;false;ApplyPolicy;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;ArgumentException;false;ArgumentException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;ArgumentException;false;ArgumentException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;ArgumentException;false;ArgumentException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;ArgumentException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;ArgumentException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArgumentException;false;get_ParamName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;ArgumentOutOfRangeException;false;ArgumentOutOfRangeException;(System.String,System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;ArgumentOutOfRangeException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;ArgumentOutOfRangeException;false;get_ActualValue;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArgumentOutOfRangeException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Array;false;AsReadOnly<>;(T[]);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Clone;();;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;CopyTo;(System.Array,System.Int64);;Argument[Qualifier].Element;Argument[0].Element;value;manual | +| System;Array;false;Fill<>;(T[],T);;Argument[1];Argument[0].Element;taint;generated | +| System;Array;false;Fill<>;(T[],T,System.Int32,System.Int32);;Argument[1];Argument[0].Element;taint;generated | +| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System;Array;false;Find<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual | +| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System;Array;false;FindAll<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual | +| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;Argument[1].Parameter[0];value;manual | +| System;Array;false;FindLast<>;(T[],System.Predicate);;Argument[0].Element;ReturnValue;value;manual | +| System;Array;false;Reverse;(System.Array);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Reverse;(System.Array,System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Reverse<>;(T[]);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;Reverse<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;value;manual | +| System;Array;false;get_SyncRoot;();;Argument[Qualifier];ReturnValue;value;generated | +| System;ArraySegment<>+Enumerator;false;get_Current;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;ArraySegment;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ArraySegment<>;false;ArraySegment;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ArraySegment<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;get_Array;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ArraySegment<>;false;get_Item;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;BadImageFormatException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;BadImageFormatException;false;BadImageFormatException;(System.String,System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;BadImageFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;BadImageFormatException;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;get_FileName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;get_FusionLog;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;BadImageFormatException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Boolean;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;Argument[1];taint;manual | +| System;Boolean;false;TryParse;(System.ReadOnlySpan,System.Boolean);;Argument[0].Element;ReturnValue;taint;manual | +| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];Argument[1];taint;manual | +| System;Boolean;false;TryParse;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.Type);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.Type,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.TypeCode);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ChangeType;(System.Object,System.TypeCode,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;FromBase64CharArray;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue.Element;taint;manual | +| System;Convert;false;FromBase64String;(System.String);;Argument[0];ReturnValue.Element;taint;manual | +| System;Convert;false;FromHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue.Element;taint;manual | +| System;Convert;false;FromHexString;(System.String);;Argument[0];ReturnValue.Element;taint;manual | +| System;Convert;false;GetTypeCode;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;IsDBNull;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;Argument[3].Element;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[3].Element;taint;manual | +| System;Convert;false;ToBase64CharArray;(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[],System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.Byte[],System.Int32,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBase64String;(System.ReadOnlySpan,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToBoolean;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToByte;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToChar;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDateTime;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDecimal;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToDouble;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToHexString;(System.Byte[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToHexString;(System.Byte[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToHexString;(System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt16;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt32;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToInt64;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSByte;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToSingle;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Boolean,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Byte,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Byte,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Char,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.DateTime,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Decimal,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Double,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int16,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int16,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int32,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int64,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Int64,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.SByte,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.Single,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt16,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt32,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToString;(System.UInt64,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt16;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt32;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Byte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Char);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.DateTime);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Decimal);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Double);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Int16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Int64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Object,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.SByte);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.Single);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.UInt16);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.UInt32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;ToUInt64;(System.UInt64);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[1].Element;taint;manual | +| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;Argument[2];taint;manual | +| System;Convert;false;TryFromBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[1].Element;taint;manual | +| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];Argument[2];taint;manual | +| System;Convert;false;TryFromBase64String;(System.String,System.Span,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[1].Element;taint;manual | +| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;Argument[2];taint;manual | +| System;Convert;false;TryToBase64Chars;(System.ReadOnlySpan,System.Span,System.Int32,System.Base64FormattingOptions);;Argument[0].Element;ReturnValue;taint;manual | +| System;DBNull;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;DateTime;false;GetDateTimeFormats;(System.Char,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;DateTime;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;generated | +| System;DateTime;false;ToLocalTime;();;Argument[Qualifier];ReturnValue;value;generated | +| System;DateTime;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;DateTime;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;DateTime;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;DateTime;false;ToUniversalTime;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;DateTimeOffset;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;DateTimeOffset;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;DateTimeOffset;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Decimal;false;ToDecimal;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;generated | +| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System;Delegate;false;Combine;(System.Delegate,System.Delegate);;Argument[1];ReturnValue;taint;generated | +| System;Delegate;false;Combine;(System.Delegate[]);;Argument[0].Element;ReturnValue;taint;generated | +| System;Delegate;false;CreateDelegate;(System.Type,System.Reflection.MethodInfo,System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Delegate;false;Delegate;(System.Object,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Delegate;false;Delegate;(System.Type,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;Delegate;false;DynamicInvoke;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System;Delegate;false;Remove;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System;Delegate;false;RemoveAll;(System.Delegate,System.Delegate);;Argument[0];ReturnValue;taint;generated | +| System;Delegate;false;get_Method;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;false;get_Target;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;true;DynamicInvokeImpl;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| System;Delegate;true;GetInvocationList;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;true;GetMethodImpl;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Delegate;true;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Double;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;Double;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Double;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Enum;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System;Enum;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Environment;false;ExpandEnvironmentVariables;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Exception;false;Exception;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;Exception;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;Exception;(System.String,System.Exception);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;Exception;(System.String,System.Exception);;Argument[1];Argument[Qualifier];taint;generated | +| System;Exception;false;GetBaseException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;Exception;false;get_HelpLink;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_InnerException;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_StackTrace;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;get_TargetSite;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Exception;false;set_HelpLink;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Exception;false;set_Source;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;FormattableString;false;CurrentCulture;(System.FormattableString);;Argument[0];ReturnValue;taint;generated | +| System;FormattableString;false;Invariant;(System.FormattableString);;Argument[0];ReturnValue;taint;generated | +| System;FormattableString;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;FormattableString;false;ToString;(System.String,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Half;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;Half;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Int32;false;Parse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;Parse;(System.String,System.IFormatProvider);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;Argument[3];taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;Argument[1];taint;manual | +| System;Int32;false;TryParse;(System.ReadOnlySpan,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];Argument[3];taint;manual | +| System;Int32;false;TryParse;(System.String,System.Globalization.NumberStyles,System.IFormatProvider,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];Argument[1];taint;manual | +| System;Int32;false;TryParse;(System.String,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;IntPtr;false;IntPtr;(System.Void*);;Argument[0];Argument[Qualifier];taint;generated | +| System;IntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Lazy<,>;false;Lazy;(TMetadata);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<,>;false;Lazy;(TMetadata,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<,>;false;Lazy;(TMetadata,System.Threading.LazyThreadSafetyMode);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<,>;false;get_Metadata;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Lazy<>;false;Lazy;(System.Func);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual | +| System;Lazy<>;false;Lazy;(System.Func,System.Boolean);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual | +| System;Lazy<>;false;Lazy;(System.Func,System.Threading.LazyThreadSafetyMode);;Argument[0].ReturnValue;ReturnValue.Property[System.Lazy<>.Value];value;manual | +| System;Lazy<>;false;Lazy;(T);;Argument[0];Argument[Qualifier];taint;generated | +| System;Lazy<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Lazy<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Memory<>;false;Memory;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;Memory<>;false;Memory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;Memory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Memory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Memory<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Index);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory;(System.String,System.Range);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(System.ArraySegment,System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[]);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Index);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;AsMemory<>;(T[],System.Range);;Argument[0].Element;ReturnValue;taint;generated | +| System;MemoryExtensions;false;EnumerateRunes;(System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim;(System.Memory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;Trim<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd;(System.Memory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimEnd<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart;(System.Memory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart;(System.ReadOnlyMemory);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.Memory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.Memory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlyMemory,T);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MemoryExtensions;false;TrimStart<>;(System.Span,System.ReadOnlySpan);;Argument[0];ReturnValue;taint;generated | +| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingFieldException;false;MissingFieldException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;MissingFieldException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MissingMemberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;MissingMemberException;false;MissingMemberException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingMemberException;false;MissingMemberException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;MissingMemberException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;MissingMethodException;false;MissingMethodException;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;MissingMethodException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;MulticastDelegate;false;CombineImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;value;generated | +| System;MulticastDelegate;false;RemoveImpl;(System.Delegate);;Argument[Qualifier];ReturnValue;value;generated | +| System;NotFiniteNumberException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;Nullable;false;GetUnderlyingType;(System.Type);;Argument[0];ReturnValue;taint;generated | +| System;Nullable<>;false;GetValueOrDefault;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value;manual | +| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[0];ReturnValue;value;manual | +| System;Nullable<>;false;GetValueOrDefault;(T);;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;value;manual | +| System;Nullable<>;false;Nullable;(T);;Argument[0];ReturnValue.Property[System.Nullable<>.Value];value;manual | +| System;Nullable<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Nullable<>;false;get_HasValue;();;Argument[Qualifier].Property[System.Nullable<>.Value];ReturnValue;taint;manual | +| System;Nullable<>;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;ObjectDisposedException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;ObjectDisposedException;false;ObjectDisposedException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;ObjectDisposedException;false;ObjectDisposedException;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;ObjectDisposedException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ObjectDisposedException;false;get_ObjectName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;Clone;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;get_ServicePack;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;get_Version;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperatingSystem;false;get_VersionString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Exception,System.Threading.CancellationToken);;Argument[2];Argument[Qualifier];taint;generated | +| System;OperationCanceledException;false;OperationCanceledException;(System.String,System.Threading.CancellationToken);;Argument[1];Argument[Qualifier];taint;generated | +| System;OperationCanceledException;false;OperationCanceledException;(System.Threading.CancellationToken);;Argument[0];Argument[Qualifier];taint;generated | +| System;OperationCanceledException;false;get_CancellationToken;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[]);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ReadOnlyMemory<>;false;ReadOnlyMemory;(T[],System.Int32,System.Int32);;Argument[0].Element;Argument[Qualifier];taint;generated | +| System;ReadOnlyMemory<>;false;Slice;(System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlyMemory<>;false;Slice;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlyMemory<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ReadOnlySpan<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;RuntimeFieldHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;RuntimeMethodHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;RuntimeTypeHandle;false;get_Value;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;SequencePosition;false;GetObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;SequencePosition;false;SequencePosition;(System.Object,System.Int32);;Argument[0];Argument[Qualifier];taint;generated | +| System;Single;false;ToString;(System.IFormatProvider);;Argument[0];ReturnValue;taint;generated | +| System;Single;false;ToString;(System.String,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Single;false;ToType;(System.Type,System.IFormatProvider);;Argument[1];ReturnValue;taint;generated | +| System;Span<>;false;GetEnumerator;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Clone;();;Argument[Qualifier];ReturnValue;value;manual | +| System;String;false;Concat;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Concat;(System.Object[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[2].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan,System.ReadOnlySpan);;Argument[3].Element;ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String,System.String,System.String,System.String);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Concat;(System.String[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Concat<>;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Copy;(System.String);;Argument[0];ReturnValue;value;manual | +| System;String;false;EnumerateRunes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object,System.Object,System.Object);;Argument[4];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.IFormatProvider,System.String,System.Object[]);;Argument[2].Element;ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[2];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object,System.Object,System.Object);;Argument[3];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Format;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.CharEnumerator.Current];value;manual | +| System;String;false;GetEnumerator;();;Argument[Qualifier].Element;ReturnValue.Property[System.Collections.Generic.IEnumerator<>.Current];value;manual | +| System;String;false;Insert;(System.Int32,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Insert;(System.Int32,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.Object[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.Char,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Object[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.Object[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[]);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[]);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join;(System.String,System.String[],System.Int32,System.Int32);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join<>;(System.Char,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[0];ReturnValue;taint;manual | +| System;String;false;Join<>;(System.String,System.Collections.Generic.IEnumerable);;Argument[1].Element;ReturnValue;taint;manual | +| System;String;false;Normalize;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Normalize;(System.Text.NormalizationForm);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadLeft;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadLeft;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadRight;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;PadRight;(System.Int32,System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Remove;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Remove;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Replace;(System.Char,System.Char);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Replace;(System.Char,System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Replace;(System.String,System.String);;Argument[1];ReturnValue;taint;manual | +| System;String;false;Replace;(System.String,System.String);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Replace;(System.String,System.String,System.Boolean,System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[1];ReturnValue;taint;generated | +| System;String;false;Replace;(System.String,System.String,System.StringComparison);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;Split;(System.Char,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[]);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[],System.Int32);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.Char[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String,System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String[],System.Int32,System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;Split;(System.String[],System.StringSplitOptions);;Argument[Qualifier];ReturnValue.Element;taint;manual | +| System;String;false;String;(System.Char[]);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;String;(System.Char[],System.Int32,System.Int32);;Argument[0].Element;ReturnValue;taint;manual | +| System;String;false;Substring;(System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Substring;(System.Int32,System.Int32);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToDateTime;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;ToLower;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToLower;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToLowerInvariant;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToString;();;Argument[Qualifier];ReturnValue;value;manual | +| System;String;false;ToString;(System.IFormatProvider);;Argument[Qualifier];ReturnValue;value;manual | +| System;String;false;ToType;(System.Type,System.IFormatProvider);;Argument[Qualifier];ReturnValue;taint;generated | +| System;String;false;ToUpper;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToUpper;(System.Globalization.CultureInfo);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;ToUpperInvariant;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Trim;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Trim;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;Trim;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimEnd;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimEnd;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimEnd;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimStart;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimStart;(System.Char);;Argument[Qualifier];ReturnValue;taint;manual | +| System;String;false;TrimStart;(System.Char[]);;Argument[Qualifier];ReturnValue;taint;manual | +| System;StringNormalizationExtensions;false;Normalize;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;StringNormalizationExtensions;false;Normalize;(System.String,System.Text.NormalizationForm);;Argument[0];ReturnValue;taint;generated | +| System;TimeZone;true;ToLocalTime;(System.DateTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZone;true;ToUniversalTime;(System.DateTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;CreateAdjustmentRule;(System.DateTime,System.DateTime,System.TimeSpan,System.TimeZoneInfo+TransitionTime,System.TimeZoneInfo+TransitionTime);;Argument[4];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DateEnd;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DateStart;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightDelta;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionEnd;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+AdjustmentRule;false;get_DaylightTransitionStart;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo+TransitionTime;false;CreateFixedDateRule;(System.DateTime,System.Int32,System.Int32);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+TransitionTime;false;CreateFloatingDateRule;(System.DateTime,System.Int32,System.Int32,System.DayOfWeek);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo+TransitionTime;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TimeZoneInfo+TransitionTime;false;get_TimeOfDay;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTime;(System.DateTime,System.TimeZoneInfo,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeBySystemTimeZoneId;(System.DateTime,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeFromUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ConvertTimeToUtc;(System.DateTime,System.TimeZoneInfo);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[4];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[]);;Argument[5].Element;ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[1];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[2];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[3];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[4];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;CreateCustomTimeZone;(System.String,System.TimeSpan,System.String,System.String,System.String,System.TimeZoneInfo+AdjustmentRule[],System.Boolean);;Argument[5].Element;ReturnValue;taint;generated | +| System;TimeZoneInfo;false;FindSystemTimeZoneById;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTime);;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;GetUtcOffset;(System.DateTimeOffset);;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_BaseUtcOffset;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_DaylightName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_DisplayName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_Id;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TimeZoneInfo;false;get_StandardName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value;manual | +| System;Tuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value;manual | +| System;Tuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value;manual | +| System;Tuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value;manual | +| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value;manual | +| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value;manual | +| System;Tuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value;manual | +| System;Tuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value;manual | +| System;Tuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value;manual | +| System;Tuple;false;Create<>;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value;manual | +| System;Tuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,,>.Item1];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,,>.Item2];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,,>.Item3];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,,>.Item4];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,,>.Item5];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,,>.Item6];value;manual | +| System;Tuple<,,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,,>.Item7];value;manual | +| System;Tuple<,,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item6];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,,>.Item7];ReturnValue;value;manual | +| System;Tuple<,,,,,,,>;false;get_Rest;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,,>.Item1];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,,>.Item2];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,,>.Item3];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,,>.Item4];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,,>.Item5];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,,>.Item6];value;manual | +| System;Tuple<,,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Property[System.Tuple<,,,,,,>.Item7];value;manual | +| System;Tuple<,,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item7;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item6];ReturnValue;value;manual | +| System;Tuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,,>.Item7];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Property[System.Tuple<,,,,,>.Item1];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Property[System.Tuple<,,,,,>.Item2];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Property[System.Tuple<,,,,,>.Item3];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Property[System.Tuple<,,,,,>.Item4];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Property[System.Tuple<,,,,,>.Item5];value;manual | +| System;Tuple<,,,,,>;false;Tuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Property[System.Tuple<,,,,,>.Item6];value;manual | +| System;Tuple<,,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item6;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,,>.Item6];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Property[System.Tuple<,,,,>.Item1];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Property[System.Tuple<,,,,>.Item2];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Property[System.Tuple<,,,,>.Item3];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Property[System.Tuple<,,,,>.Item4];value;manual | +| System;Tuple<,,,,>;false;Tuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Property[System.Tuple<,,,,>.Item5];value;manual | +| System;Tuple<,,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item5;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,,>.Item5];ReturnValue;value;manual | +| System;Tuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Property[System.Tuple<,,,>.Item1];value;manual | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Property[System.Tuple<,,,>.Item2];value;manual | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Property[System.Tuple<,,,>.Item3];value;manual | +| System;Tuple<,,,>;false;Tuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Property[System.Tuple<,,,>.Item4];value;manual | +| System;Tuple<,,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item4;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,,>.Item4];ReturnValue;value;manual | +| System;Tuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[0];ReturnValue.Property[System.Tuple<,,>.Item1];value;manual | +| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[1];ReturnValue.Property[System.Tuple<,,>.Item2];value;manual | +| System;Tuple<,,>;false;Tuple;(T1,T2,T3);;Argument[2];ReturnValue.Property[System.Tuple<,,>.Item3];value;manual | +| System;Tuple<,,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;get_Item3;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item1];ReturnValue;value;manual | +| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item2];ReturnValue;value;manual | +| System;Tuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,,>.Item3];ReturnValue;value;manual | +| System;Tuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[0];ReturnValue.Property[System.Tuple<,>.Item1];value;manual | +| System;Tuple<,>;false;Tuple;(T1,T2);;Argument[1];ReturnValue.Property[System.Tuple<,>.Item2];value;manual | +| System;Tuple<,>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,>;false;get_Item2;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item1];ReturnValue;value;manual | +| System;Tuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<,>.Item2];ReturnValue;value;manual | +| System;Tuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<>;false;Tuple;(T1);;Argument[0];ReturnValue.Property[System.Tuple<>.Item1];value;manual | +| System;Tuple<>;false;get_Item1;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Tuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Property[System.Tuple<>.Item1];ReturnValue;value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,,>;(System.Tuple>>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9,T10);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8,T9);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,,>;(System.Tuple>,T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0].Property[System.Tuple<,,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6,T7);;Argument[0].Property[System.Tuple<,,,,,,>.Item7];Argument[7];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,,>;(System.Tuple,T1,T2,T3,T4,T5,T6);;Argument[0].Property[System.Tuple<,,,,,>.Item6];Argument[6];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,,>;(System.Tuple,T1,T2,T3,T4,T5);;Argument[0].Property[System.Tuple<,,,,>.Item5];Argument[5];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,,,>;(System.Tuple,T1,T2,T3,T4);;Argument[0].Property[System.Tuple<,,,>.Item4];Argument[4];value;manual | +| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<,,>;(System.Tuple,T1,T2,T3);;Argument[0].Property[System.Tuple<,,>.Item3];Argument[3];value;manual | +| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;Deconstruct<,>;(System.Tuple,T1,T2);;Argument[0].Property[System.Tuple<,>.Item2];Argument[2];value;manual | +| System;TupleExtensions;false;Deconstruct<>;(System.Tuple,T1);;Argument[0].Property[System.Tuple<>.Item1];Argument[1];value;manual | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,,>;(System.Tuple>>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,,>;(System.Tuple>);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<,>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;TupleExtensions;false;ToValueTuple<>;(System.Tuple);;Argument[0];ReturnValue;taint;generated | +| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetConstructor;(System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetConstructor;(System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetConstructors;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetEvent;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetField;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetFields;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetInterface;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMember;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMembers;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Int32,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethod;(System.String,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetMethods;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetNestedType;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetNestedTypes;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperties;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type,System.Type[],System.Reflection.ParameterModifier[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;GetProperty;(System.String,System.Type[]);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;MakeGenericSignatureType;(System.Type,System.Type[]);;Argument[0];ReturnValue;taint;generated | +| System;Type;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;false;get_TypeInitializer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;true;GetEvents;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;true;GetMember;(System.String,System.Reflection.BindingFlags);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Type;true;get_GenericTypeArguments;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TypeInitializationException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TypeInitializationException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TypeLoadException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;TypeLoadException;false;TypeLoadException;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;TypeLoadException;false;get_Message;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;TypeLoadException;false;get_TypeName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UIntPtr;false;ToPointer;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UIntPtr;false;UIntPtr;(System.Void*);;Argument[0];Argument[Qualifier];taint;generated | +| System;UnhandledExceptionEventArgs;false;UnhandledExceptionEventArgs;(System.Object,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System;UnhandledExceptionEventArgs;false;get_ExceptionObject;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;EscapeDataString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;EscapeString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;EscapeUriString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;GetComponents;(System.UriComponents,System.UriFormat);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;GetLeftPart;(System.UriPartial);;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;Uri;false;MakeRelative;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;MakeRelativeUri;(System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;ToString;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;TryCreate;(System.String,System.UriKind,System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.String,System.Uri);;Argument[1];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;TryCreate;(System.Uri,System.Uri,System.Uri);;Argument[1];ReturnValue;taint;generated | +| System;Uri;false;UnescapeDataString;(System.String);;Argument[0];ReturnValue;taint;generated | +| System;Uri;false;Uri;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.String);;Argument[0];ReturnValue;taint;manual | +| System;Uri;false;Uri;(System.String,System.Boolean);;Argument[0];ReturnValue;taint;manual | +| System;Uri;false;Uri;(System.String,System.UriKind);;Argument[0];ReturnValue;taint;manual | +| System;Uri;false;Uri;(System.Uri,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.String,System.Boolean);;Argument[1];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System;Uri;false;Uri;(System.Uri,System.Uri);;Argument[1];Argument[Qualifier];taint;generated | +| System;Uri;false;get_Authority;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_DnsSafeHost;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_IdnHost;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_LocalPath;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_OriginalString;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;get_PathAndQuery;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;get_Query;();;Argument[Qualifier];ReturnValue;taint;manual | +| System;Uri;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;Uri;false;get_UserInfo;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String);;Argument[1];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String);;Argument[3];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.String,System.String,System.Int32,System.String,System.String);;Argument[4];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;UriBuilder;(System.Uri);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;get_Fragment;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Host;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Password;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Path;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Query;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Scheme;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_Uri;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;get_UserName;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;UriBuilder;false;set_Fragment;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Host;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Password;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Path;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Query;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_Scheme;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriBuilder;false;set_UserName;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| System;UriFormatException;false;GetObjectData;(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext);;Argument[Qualifier];Argument[0];taint;generated | +| System;UriParser;false;Register;(System.UriParser,System.String,System.Int32);;Argument[1];Argument[0];taint;generated | +| System;UriParser;true;GetComponents;(System.Uri,System.UriComponents,System.UriFormat);;Argument[0];ReturnValue;taint;generated | +| System;UriParser;true;OnNewUri;();;Argument[Qualifier];ReturnValue;value;generated | +| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[0];ReturnValue;taint;generated | +| System;UriParser;true;Resolve;(System.Uri,System.Uri,System.UriFormatException);;Argument[1];ReturnValue;taint;generated | +| System;UriTypeConverter;false;ConvertFrom;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object);;Argument[2];ReturnValue;taint;generated | +| System;UriTypeConverter;false;ConvertTo;(System.ComponentModel.ITypeDescriptorContext,System.Globalization.CultureInfo,System.Object,System.Type);;Argument[2];ReturnValue;taint;generated | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value;manual | +| System;ValueTuple;false;Create<,,,,,,,>;(T1,T2,T3,T4,T5,T6,T7,T8);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value;manual | +| System;ValueTuple;false;Create<,,,,,,>;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,,,>;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,,,>;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,,,>;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value;manual | +| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value;manual | +| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value;manual | +| System;ValueTuple;false;Create<,,>;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value;manual | +| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value;manual | +| System;ValueTuple;false;Create<,>;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value;manual | +| System;ValueTuple;false;Create<>;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value;manual | +| System;ValueTuple<,,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item6];value;manual | +| System;ValueTuple<,,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7,TRest);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,,>.Item7];value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item6];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,,>.Item7];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item6];value;manual | +| System;ValueTuple<,,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6,T7);;Argument[6];ReturnValue.Field[System.ValueTuple<,,,,,,>.Item7];value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item6];ReturnValue;value;manual | +| System;ValueTuple<,,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,,>.Item7];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5,T6);;Argument[5];ReturnValue.Field[System.ValueTuple<,,,,,>.Item6];value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,,>.Item6];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,,>.Item1];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,,>.Item2];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,,>.Item3];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,,>.Item4];value;manual | +| System;ValueTuple<,,,,>;false;ValueTuple;(T1,T2,T3,T4,T5);;Argument[4];ReturnValue.Field[System.ValueTuple<,,,,>.Item5];value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,,>.Item5];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[0];ReturnValue.Field[System.ValueTuple<,,,>.Item1];value;manual | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[1];ReturnValue.Field[System.ValueTuple<,,,>.Item2];value;manual | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[2];ReturnValue.Field[System.ValueTuple<,,,>.Item3];value;manual | +| System;ValueTuple<,,,>;false;ValueTuple;(T1,T2,T3,T4);;Argument[3];ReturnValue.Field[System.ValueTuple<,,,>.Item4];value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,,>.Item4];ReturnValue;value;manual | +| System;ValueTuple<,,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[0];ReturnValue.Field[System.ValueTuple<,,>.Item1];value;manual | +| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[1];ReturnValue.Field[System.ValueTuple<,,>.Item2];value;manual | +| System;ValueTuple<,,>;false;ValueTuple;(T1,T2,T3);;Argument[2];ReturnValue.Field[System.ValueTuple<,,>.Item3];value;manual | +| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<,,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,,>.Item3];ReturnValue;value;manual | +| System;ValueTuple<,>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[0];ReturnValue.Field[System.ValueTuple<,>.Item1];value;manual | +| System;ValueTuple<,>;false;ValueTuple;(T1,T2);;Argument[1];ReturnValue.Field[System.ValueTuple<,>.Item2];value;manual | +| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item1];ReturnValue;value;manual | +| System;ValueTuple<,>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<,>.Item2];ReturnValue;value;manual | +| System;ValueTuple<>;false;ToString;();;Argument[Qualifier];ReturnValue;taint;generated | +| System;ValueTuple<>;false;ValueTuple;(T1);;Argument[0];ReturnValue.Field[System.ValueTuple<>.Item1];value;manual | +| System;ValueTuple<>;false;get_Item;(System.Int32);;Argument[Qualifier].Field[System.ValueTuple<>.Item1];ReturnValue;value;manual | diff --git a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected index 9fb5be26eeb..8045c2b5c37 100644 --- a/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected +++ b/csharp/ql/test/library-tests/frameworks/EntityFramework/FlowSummaries.expected @@ -1,136 +1,136 @@ summary -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;AddAsync;(T);;Argument[0];Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;AddRangeAsync;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;Attach;(T);;Argument[0];Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;AttachRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;Update;(T);;Argument[0];Argument[Qualifier].Element;value | -| Microsoft.EntityFrameworkCore;DbSet<>;false;UpdateRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value | -| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value | -| System.Data.Entity;DbSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;AddAsync;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;AddRangeAsync;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;Attach;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;AttachRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;Update;(T);;Argument[0];Argument[Qualifier].Element;value | -| System.Data.Entity;DbSet<>;false;UpdateRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.AddressId];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.PersonId];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Address].Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Addresses].Element.Property[EFCoreTests.Address.Street];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Id];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFCoreTests.PersonAddressMap.Person].Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFCoreTests.MyContext.Persons].Element.Property[EFCoreTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFCoreTests.Person.Name];value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;AddAsync;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;AddRangeAsync;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;Attach;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;AttachRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;Update;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| Microsoft.EntityFrameworkCore;DbSet<>;false;UpdateRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChanges;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.AddressId];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.PersonId];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Address].Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Addresses].Element.Property[EFTests.Address.Street];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Id];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Id];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_PersonAddresses].Element.Property[EFTests.PersonAddressMap.Person].Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbContext;false;SaveChangesAsync;();;Argument[Qualifier].Property[EFTests.MyContext.Persons].Element.Property[EFTests.Person.Name];ReturnValue[jump to get_Persons].Element.Property[EFTests.Person.Name];value;manual | +| System.Data.Entity;DbSet<>;false;Add;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;AddAsync;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;AddRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;AddRangeAsync;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;Attach;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;AttachRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;Update;(T);;Argument[0];Argument[Qualifier].Element;value;manual | +| System.Data.Entity;DbSet<>;false;UpdateRange;(System.Collections.Generic.IEnumerable);;Argument[0].Element;Argument[Qualifier].Element;value;manual | sourceNode sinkNode | EntityFrameworkCore.cs:72:36:72:40 | "sql" | sql | diff --git a/csharp/ql/test/query-tests/Security Features/CWE-079/XSS/options b/csharp/ql/test/query-tests/Security Features/CWE-079/XSS/options index 30e0700f84f..da79d489c9b 100644 --- a/csharp/ql/test/query-tests/Security Features/CWE-079/XSS/options +++ b/csharp/ql/test/query-tests/Security Features/CWE-079/XSS/options @@ -1,3 +1,4 @@ semmle-extractor-options: /nostdlib /noconfig semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/_frameworks/Microsoft.NETCore.App/Microsoft.NETCore.App.csproj -semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj \ No newline at end of file +semmle-extractor-options: --load-sources-from-project:${testdir}/../../../../resources/stubs/Microsoft.Extensions.Primitives/6.0.0/Microsoft.Extensions.Primitives.csproj +semmle-extractor-options: ${testdir}/../../../../resources/stubs/AspNetCore.cs \ No newline at end of file diff --git a/csharp/ql/test/query-tests/Security Features/CWE-079/XSS/corestubs.cs b/csharp/ql/test/resources/stubs/AspNetCore.cs similarity index 100% rename from csharp/ql/test/query-tests/Security Features/CWE-079/XSS/corestubs.cs rename to csharp/ql/test/resources/stubs/AspNetCore.cs diff --git a/csharp/ql/test/utils/model-generator/CaptureSinkModels.expected b/csharp/ql/test/utils/model-generator/CaptureSinkModels.expected index 63cbcbb9cc0..c0d51b37e87 100644 --- a/csharp/ql/test/utils/model-generator/CaptureSinkModels.expected +++ b/csharp/ql/test/utils/model-generator/CaptureSinkModels.expected @@ -1,4 +1,4 @@ -| Sinks;NewSinks;false;WrapFieldResponseWriteFile;();;Argument[Qualifier];generated:html | -| Sinks;NewSinks;false;WrapPropResponseWriteFile;();;Argument[Qualifier];generated:html | -| Sinks;NewSinks;false;WrapResponseWrite;(System.Object);;Argument[0];generated:html | -| Sinks;NewSinks;false;WrapResponseWriteFile;(System.String);;Argument[0];generated:html | +| Sinks;NewSinks;false;WrapFieldResponseWriteFile;();;Argument[Qualifier];html;generated | +| Sinks;NewSinks;false;WrapPropResponseWriteFile;();;Argument[Qualifier];html;generated | +| Sinks;NewSinks;false;WrapResponseWrite;(System.Object);;Argument[0];html;generated | +| Sinks;NewSinks;false;WrapResponseWriteFile;(System.String);;Argument[0];html;generated | diff --git a/csharp/ql/test/utils/model-generator/CaptureSourceModels.expected b/csharp/ql/test/utils/model-generator/CaptureSourceModels.expected index f1cbc0bb151..c0f0687116d 100644 --- a/csharp/ql/test/utils/model-generator/CaptureSourceModels.expected +++ b/csharp/ql/test/utils/model-generator/CaptureSourceModels.expected @@ -1,3 +1,3 @@ -| Sources;NewSources;false;WrapConsoleReadKey;();;ReturnValue;generated:local | -| Sources;NewSources;false;WrapConsoleReadLine;();;ReturnValue;generated:local | -| Sources;NewSources;false;WrapConsoleReadLineAndProcees;(System.String);;ReturnValue;generated:local | +| Sources;NewSources;false;WrapConsoleReadKey;();;ReturnValue;local;generated | +| Sources;NewSources;false;WrapConsoleReadLine;();;ReturnValue;local;generated | +| Sources;NewSources;false;WrapConsoleReadLineAndProcees;(System.String);;ReturnValue;local;generated | diff --git a/csharp/ql/test/utils/model-generator/CaptureSummaryModels.expected b/csharp/ql/test/utils/model-generator/CaptureSummaryModels.expected index 2d8e53ab14e..0ac6acd9147 100644 --- a/csharp/ql/test/utils/model-generator/CaptureSummaryModels.expected +++ b/csharp/ql/test/utils/model-generator/CaptureSummaryModels.expected @@ -1,33 +1,33 @@ -| NoSummaries;PublicClassFlow;false;PublicReturn;(System.Object);;Argument[0];ReturnValue;generated:taint | -| Summaries;BaseClassFlow;true;ReturnParam;(System.Object);;Argument[0];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnField;();;Argument[Qualifier];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnParam0;(System.String,System.Object);;Argument[0];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnParam1;(System.String,System.Object);;Argument[1];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnParamMultiple;(System.Object,System.Object);;Argument[0];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnParamMultiple;(System.Object,System.Object);;Argument[1];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnSubstring;(System.String);;Argument[0];ReturnValue;generated:taint | -| Summaries;BasicFlow;false;ReturnThis;(System.Object);;Argument[Qualifier];ReturnValue;generated:value | -| Summaries;BasicFlow;false;SetField;(System.String);;Argument[0];Argument[Qualifier];generated:taint | -| Summaries;CollectionFlow;false;AddFieldToList;(System.Collections.Generic.List);;Argument[Qualifier];Argument[0].Element;generated:taint | -| Summaries;CollectionFlow;false;AddToList;(System.Collections.Generic.List,System.Object);;Argument[1];Argument[0].Element;generated:taint | -| Summaries;CollectionFlow;false;AssignFieldToArray;(System.Object[]);;Argument[Qualifier];Argument[0].Element;generated:taint | -| Summaries;CollectionFlow;false;AssignToArray;(System.Object,System.Object[]);;Argument[0];Argument[1].Element;generated:taint | -| Summaries;CollectionFlow;false;ReturnArrayElement;(System.Object[]);;Argument[0].Element;ReturnValue;generated:taint | -| Summaries;CollectionFlow;false;ReturnFieldInAList;();;Argument[Qualifier];ReturnValue;generated:taint | -| Summaries;CollectionFlow;false;ReturnListElement;(System.Collections.Generic.List);;Argument[0].Element;ReturnValue;generated:taint | -| Summaries;DerivedClass1Flow;false;ReturnParam1;(System.String,System.String);;Argument[1];ReturnValue;generated:taint | -| Summaries;DerivedClass2Flow;false;ReturnParam0;(System.String,System.Int32);;Argument[0];ReturnValue;generated:taint | -| Summaries;DerivedClass2Flow;false;ReturnParam;(System.Object);;Argument[0];ReturnValue;generated:taint | -| Summaries;EqualsGetHashCodeNoFlow;false;Equals;(System.String);;Argument[0];ReturnValue;generated:taint | -| Summaries;GenericFlow<>;false;AddFieldToGenericList;(System.Collections.Generic.List);;Argument[Qualifier];Argument[0].Element;generated:taint | -| Summaries;GenericFlow<>;false;AddToGenericList<>;(System.Collections.Generic.List,S);;Argument[1];Argument[0].Element;generated:taint | -| Summaries;GenericFlow<>;false;ReturnFieldInGenericList;();;Argument[Qualifier];ReturnValue;generated:taint | -| Summaries;GenericFlow<>;false;ReturnGenericElement<>;(System.Collections.Generic.List);;Argument[0].Element;ReturnValue;generated:taint | -| Summaries;GenericFlow<>;false;ReturnGenericField;();;Argument[Qualifier];ReturnValue;generated:taint | -| Summaries;GenericFlow<>;false;ReturnGenericParam<>;(S);;Argument[0];ReturnValue;generated:taint | -| Summaries;GenericFlow<>;false;SetGenericField;(T);;Argument[0];Argument[Qualifier];generated:taint | -| Summaries;IEnumerableFlow;false;ReturnFieldInIEnumerable;();;Argument[Qualifier];ReturnValue;generated:taint | -| Summaries;IEnumerableFlow;false;ReturnIEnumerable;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| Summaries;IEnumerableFlow;false;ReturnIEnumerableElement;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;generated:taint | -| Summaries;OperatorFlow;false;OperatorFlow;(System.Object);;Argument[0];Argument[Qualifier];generated:taint | -| Summaries;OperatorFlow;false;op_Addition;(Summaries.OperatorFlow,Summaries.OperatorFlow);;Argument[0];ReturnValue;generated:taint | +| NoSummaries;PublicClassFlow;false;PublicReturn;(System.Object);;Argument[0];ReturnValue;taint;generated | +| Summaries;BaseClassFlow;true;ReturnParam;(System.Object);;Argument[0];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnField;();;Argument[Qualifier];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnParam0;(System.String,System.Object);;Argument[0];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnParam1;(System.String,System.Object);;Argument[1];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnParamMultiple;(System.Object,System.Object);;Argument[0];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnParamMultiple;(System.Object,System.Object);;Argument[1];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnSubstring;(System.String);;Argument[0];ReturnValue;taint;generated | +| Summaries;BasicFlow;false;ReturnThis;(System.Object);;Argument[Qualifier];ReturnValue;value;generated | +| Summaries;BasicFlow;false;SetField;(System.String);;Argument[0];Argument[Qualifier];taint;generated | +| Summaries;CollectionFlow;false;AddFieldToList;(System.Collections.Generic.List);;Argument[Qualifier];Argument[0].Element;taint;generated | +| Summaries;CollectionFlow;false;AddToList;(System.Collections.Generic.List,System.Object);;Argument[1];Argument[0].Element;taint;generated | +| Summaries;CollectionFlow;false;AssignFieldToArray;(System.Object[]);;Argument[Qualifier];Argument[0].Element;taint;generated | +| Summaries;CollectionFlow;false;AssignToArray;(System.Object,System.Object[]);;Argument[0];Argument[1].Element;taint;generated | +| Summaries;CollectionFlow;false;ReturnArrayElement;(System.Object[]);;Argument[0].Element;ReturnValue;taint;generated | +| Summaries;CollectionFlow;false;ReturnFieldInAList;();;Argument[Qualifier];ReturnValue;taint;generated | +| Summaries;CollectionFlow;false;ReturnListElement;(System.Collections.Generic.List);;Argument[0].Element;ReturnValue;taint;generated | +| Summaries;DerivedClass1Flow;false;ReturnParam1;(System.String,System.String);;Argument[1];ReturnValue;taint;generated | +| Summaries;DerivedClass2Flow;false;ReturnParam0;(System.String,System.Int32);;Argument[0];ReturnValue;taint;generated | +| Summaries;DerivedClass2Flow;false;ReturnParam;(System.Object);;Argument[0];ReturnValue;taint;generated | +| Summaries;EqualsGetHashCodeNoFlow;false;Equals;(System.String);;Argument[0];ReturnValue;taint;generated | +| Summaries;GenericFlow<>;false;AddFieldToGenericList;(System.Collections.Generic.List);;Argument[Qualifier];Argument[0].Element;taint;generated | +| Summaries;GenericFlow<>;false;AddToGenericList<>;(System.Collections.Generic.List,S);;Argument[1];Argument[0].Element;taint;generated | +| Summaries;GenericFlow<>;false;ReturnFieldInGenericList;();;Argument[Qualifier];ReturnValue;taint;generated | +| Summaries;GenericFlow<>;false;ReturnGenericElement<>;(System.Collections.Generic.List);;Argument[0].Element;ReturnValue;taint;generated | +| Summaries;GenericFlow<>;false;ReturnGenericField;();;Argument[Qualifier];ReturnValue;taint;generated | +| Summaries;GenericFlow<>;false;ReturnGenericParam<>;(S);;Argument[0];ReturnValue;taint;generated | +| Summaries;GenericFlow<>;false;SetGenericField;(T);;Argument[0];Argument[Qualifier];taint;generated | +| Summaries;IEnumerableFlow;false;ReturnFieldInIEnumerable;();;Argument[Qualifier];ReturnValue;taint;generated | +| Summaries;IEnumerableFlow;false;ReturnIEnumerable;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| Summaries;IEnumerableFlow;false;ReturnIEnumerableElement;(System.Collections.Generic.IEnumerable);;Argument[0].Element;ReturnValue;taint;generated | +| Summaries;OperatorFlow;false;OperatorFlow;(System.Object);;Argument[0];Argument[Qualifier];taint;generated | +| Summaries;OperatorFlow;false;op_Addition;(Summaries.OperatorFlow,Summaries.OperatorFlow);;Argument[0];ReturnValue;taint;generated | diff --git a/csharp/tools/tracing-config.lua b/csharp/tools/tracing-config.lua index b4ff0206b02..efa936b41dd 100644 --- a/csharp/tools/tracing-config.lua +++ b/csharp/tools/tracing-config.lua @@ -2,7 +2,54 @@ function RegisterExtractorPack(id) local extractor = GetPlatformToolsDirectory() .. 'Semmle.Extraction.CSharp.Driver' if OperatingSystem == 'windows' then extractor = extractor .. '.exe' end + + function DotnetMatcherBuild(compilerName, compilerPath, compilerArguments, + _languageId) + if compilerName ~= 'dotnet' and compilerName ~= 'dotnet.exe' then + return nil + end + + -- The dotnet CLI has the following usage instructions: + -- dotnet [sdk-options] [command] [command-options] [arguments] + -- we are interested in dotnet build, which has the following usage instructions: + -- dotnet [options] build [...] + -- For now, parse the command line as follows: + -- Everything that starts with `-` (or `/`) will be ignored. + -- The first non-option argument is treated as the command. + -- if that's `build`, we append `/p:UseSharedCompilation=false` to the command line, + -- otherwise we do nothing. + local match = false + local argv = compilerArguments.argv + if OperatingSystem == 'windows' then + -- let's hope that this split matches the escaping rules `dotnet` applies to command line arguments + -- or, at least, that it is close enough + argv = + NativeArgumentsToArgv(compilerArguments.nativeArgumentPointer) + end + for i, arg in ipairs(argv) do + -- dotnet options start with either - or / (both are legal) + local firstCharacter = string.sub(arg, 1, 1) + if not (firstCharacter == '-') and not (firstCharacter == '/') then + Log(1, 'Dotnet subcommand detected: %s', arg) + if arg == 'build' or arg == 'msbuild' then match = true end + break + end + end + if match then + return { + order = ORDER_REPLACE, + invocation = BuildExtractorInvocation(id, compilerPath, + compilerPath, + compilerArguments, nil, { + '/p:UseSharedCompilation=false' + }) + } + end + return nil + end + local windowsMatchers = { + DotnetMatcherBuild, CreatePatternMatcher({'^dotnet%.exe$'}, MatchCompilerName, extractor, { prepend = {'--dotnetexec', '--cil'}, order = ORDER_BEFORE @@ -10,22 +57,21 @@ function RegisterExtractorPack(id) CreatePatternMatcher({'^csc.*%.exe$'}, MatchCompilerName, extractor, { prepend = {'--compiler', '"${compiler}"', '--cil'}, order = ORDER_BEFORE - }), CreatePatternMatcher({'^fakes.*%.exe$', 'moles.*%.exe'}, MatchCompilerName, nil, {trace = false}) } local posixMatchers = { - CreatePatternMatcher({'^mcs%.exe$', '^csc%.exe$'}, MatchCompilerName, - extractor, { - prepend = {'--compiler', '"${compiler}"', '--cil'}, - order = ORDER_BEFORE - - }), + DotnetMatcherBuild, CreatePatternMatcher({'^mono', '^dotnet$'}, MatchCompilerName, extractor, { prepend = {'--dotnetexec', '--cil'}, order = ORDER_BEFORE + }), + CreatePatternMatcher({'^mcs%.exe$', '^csc%.exe$'}, MatchCompilerName, + extractor, { + prepend = {'--compiler', '"${compiler}"', '--cil'}, + order = ORDER_BEFORE }), function(compilerName, compilerPath, compilerArguments, _languageId) if MatchCompilerName('^msbuild$', compilerName, compilerPath, compilerArguments) or @@ -49,7 +95,6 @@ function RegisterExtractorPack(id) else return posixMatchers end - end -- Return a list of minimum supported versions of the configuration file format diff --git a/docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst b/docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst index d3b04a32a0b..bb428f2c00d 100644 --- a/docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst +++ b/docs/codeql/codeql-cli/analyzing-databases-with-the-codeql-cli.rst @@ -135,6 +135,47 @@ pack names and use the ``--download`` flag:: The ``analyze`` command above runs the default suite from ``microsoft/coding-standards v1.0.0`` and the latest version of ``github/security-queries`` on the specified database. For further information about default suites, see ":ref:`Publishing and using CodeQL packs `". +Running a subset of queries in a CodeQL pack +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If you are using CodeQL CLI v2.8.1 or later, you can include a path at the end of a pack specification to run a subset of queries inside the pack. This applies to any command that locates or runs queries within a pack. + +The complete way to specify a set of queries is in the form ``scope/name@range:path``, where: + +- ``scope/name`` is the qualified name of a CodeQL pack. +- ``range`` is a `semver range `_. +- ``path`` is a file system path to a single query, a directory containing queries, or a query suite file. + +When you specify a ``scope/name``, the ``range`` and ``path`` are +optional. If you omit a ``range`` then the latest version of the +specified pack is used. If you omit a ``path`` then the default query suite +of the specified pack is used. + +The ``path`` can be one of a ``*.ql`` query file, a directory +containing one or more queries, or a ``.qls`` query suite file. If +you omit a pack name, then you must provide a ``path``, +which will be interpreted relative to the working directory +of the current process. + +If you specify a ``scope/name`` and ``path``, then the ``path`` cannot +be absolute. It is considered relative to the root of the CodeQL +pack. + +To analyze a database using all queries in the `experimental/Security` folder within the `codeql/cpp-queries` CodeQL pack you can use:: + + codeql database analyze --format=sarif-latest --output=results \ + codeql/cpp-queries:experimental/Security + +To run the `RedundantNullCheckParam.ql` query in the `codeql/cpp-queries` CodeQL pack use:: + + codeql database analyze --format=sarif-latest --output=results \ + 'codeql/cpp-queries:experimental/Likely Bugs/RedundantNullCheckParam.ql' + +To analyze your database using the `cpp-security-and-quality.qls` query suite from a version of the `codeql/cpp-queries` CodeQL pack that is >= 0.0.3 and < 0.1.0 (the highest compatible version will be chosen) you can use:: + + codeql database analyze --format=sarif-latest --output=results \ + 'codeql/cpp-queries@~0.0.3:codeql-suites/cpp-security-and-quality.qls' + For more information about CodeQL packs, see :doc:`About CodeQL Packs `. Running query suites @@ -223,7 +264,7 @@ you can include the query help for your custom queries in SARIF files generated After uploading the SARIF file to GitHub, the query help is shown in the code scanning UI for any alerts generated by the custom queries. -From CodeQL CLI 2.7.1 onwards, you can include markdown-rendered query help in SARIF files +From CodeQL CLI v2.7.1 onwards, you can include markdown-rendered query help in SARIF files by providing the ``--sarif-add-query-help`` option when running ``codeql database analyze``. For more information, see `Configuring CodeQL CLI in your CI system `__ diff --git a/docs/codeql/codeql-cli/creating-and-working-with-codeql-packs.rst b/docs/codeql/codeql-cli/creating-and-working-with-codeql-packs.rst index 6373440bcbb..da7a0872803 100644 --- a/docs/codeql/codeql-cli/creating-and-working-with-codeql-packs.rst +++ b/docs/codeql/codeql-cli/creating-and-working-with-codeql-packs.rst @@ -68,3 +68,11 @@ This command downloads all dependencies to the shared cache on the local disk. Note Running the ``codeql pack add`` and ``codeql pack install`` commands will generate or update the ``qlpack.lock.yml`` file. This file should be checked-in to version control. The ``qlpack.lock.yml`` file contains the precise version numbers used by the pack. + +.. pull-quote:: + + Note + + By default ``codeql pack install`` will install dependencies from the Container registry on GitHub.com. + You can install dependencies from a GitHub Enterprise Server Container registry by creating a ``qlconfig.yml`` file. + For more information, see ":doc:`Publishing and using CodeQL packs `." diff --git a/docs/codeql/codeql-cli/exit-codes.rst b/docs/codeql/codeql-cli/exit-codes.rst index 5d9a0d434b6..86a1dfc12dd 100644 --- a/docs/codeql/codeql-cli/exit-codes.rst +++ b/docs/codeql/codeql-cli/exit-codes.rst @@ -71,4 +71,4 @@ Other ----- In the case of really severe problems within the JVM that runs ``codeql``, it might return a nonzero exit code of its own choosing. -This should only happen if something is severely wrong with the CodeQL installation. \ No newline at end of file +This should only happen if something is severely wrong with the CodeQL installation, or if there is a memory issue with the host system running the CodeQL process. For example, Unix systems may return `Exit Code 137` to indicate that the kernel has killed a process that CodeQL has started. One way to troubleshoot this is to modify your `--ram=` flag for the `codeql database analyze` step and re-run your workflow. diff --git a/docs/codeql/codeql-cli/publishing-and-using-codeql-packs.rst b/docs/codeql/codeql-cli/publishing-and-using-codeql-packs.rst index d28e27e10d7..985ca2659f3 100644 --- a/docs/codeql/codeql-cli/publishing-and-using-codeql-packs.rst +++ b/docs/codeql/codeql-cli/publishing-and-using-codeql-packs.rst @@ -72,3 +72,53 @@ The ``analyze`` command will run the default suite of any specified CodeQL packs :: codeql analyze / / + +Working with CodeQL packs on GitHub Enterprise Server +----------------------------------------------------- + +.. pull-quote:: + + Note + + The Container registry for GitHub Enterprise Server supports CodeQL query packs from GitHub Enterprise Server 3.6 onward. + +By default, the CodeQL CLI expects to download CodeQL packs from and publish packs to the Container registry on GitHub.com. However, you can also work with CodeQL packs in a Container registry on GitHub Enterprise Server 3.6, and later, by creating a ``qlconfig.yml`` file to tell the CLI which Container registry to use for each pack. + +Create a ``~/.codeql/qlconfig.yml`` file using your preferred text editor, and add entries to specify which registry to use for one or more package name patterns. +For example, the following ``qlconfig.yml`` file associates all packs with the Container registry for the GitHub Enterprise Server at ``GHE_HOSTNAME``, except packs matching ``codeql/*``, which are associated with the Container registry on GitHub.com: + +.. code-block:: yaml + + registries: + - packages: 'codeql/*' + url: https://ghcr.io/v2/ + - packages: '*' + url: https://containers.GHE_HOSTNAME/v2/ + +The CodeQL CLI will determine which registry to use for a given package name by finding the first item in the ``registries`` list with a ``packages`` property that matches that package name. +This means that you'll generally want to define the most specific package name patterns first. + +You can now use ``codeql pack publish``, ``codeql pack download``, and ``codeql database analyze`` to manage packs on GitHub Enterprise Server. + +Authenticating to GitHub Container registries +--------------------------------------------- + +You can publish packs and download private packs by authenticating to the appropriate GitHub Container registry. + +You can authenticate to the Container registry on GitHub.com in two ways: + +1. Pass the ``--github-auth-stdin`` option to the CodeQL CLI, then supply a GitHub Apps token or personal access token via standard input. +2. Set the ``GITHUB_TOKEN`` environment variable to a GitHub Apps token or personal access token. + +Similarly, you can authenticate to a GHES Container registry, or authenticate to multiple registries simultaneously (for example, to download or run private packs from multiple registries) in two ways: + +1. Pass the ``--registries-auth-stdin`` option to the CodeQL CLI, then supply a registry authentication string via standard input. +2. Set the ``CODEQL_REGISTRIES_AUTH`` environment variable to a registry authentication string. + +A registry authentication string is a comma-separated list of ``=`` pairs, where ``registry-url`` is a GitHub Container registry URL, such as ``https://containers.GHE_HOSTNAME/v2/``, and ``token`` is a GitHub Apps token or personal access token for that GitHub Container registry. +This ensures that each token is only passed to the Container registry you specify. +For instance, the following registry authentication string specifies that the CodeQL CLI should authenticate to the Container registry on GitHub.com using the token ```` and to the Container registry for the GHES instance at ``GHE_HOSTNAME`` using the token ````: + +.. code-block:: none + + https://ghcr.io/v2/=,https://containers.GHE_HOSTNAME/v2/= diff --git a/docs/codeql/codeql-language-guides/basic-query-for-cpp-code.rst b/docs/codeql/codeql-language-guides/basic-query-for-cpp-code.rst index 8fb681caf8f..91cbab4cd07 100644 --- a/docs/codeql/codeql-language-guides/basic-query-for-cpp-code.rst +++ b/docs/codeql/codeql-language-guides/basic-query-for-cpp-code.rst @@ -110,7 +110,7 @@ Browsing the results of our basic query shows that it could be improved. Among t if (...) { ... - } else if (!strcmp(option, "-verbose") { + } else if (!strcmp(option, "-verbose")) { // nothing to do - handled earlier } else { error("unrecognized option"); diff --git a/docs/codeql/codeql-overview/supported-languages-and-frameworks.rst b/docs/codeql/codeql-overview/supported-languages-and-frameworks.rst index 4353f9402b7..be66125846a 100644 --- a/docs/codeql/codeql-overview/supported-languages-and-frameworks.rst +++ b/docs/codeql/codeql-overview/supported-languages-and-frameworks.rst @@ -11,14 +11,17 @@ CodeQL. Languages and compilers ####################### -CodeQL supports the following languages and compilers. +The current versions of the CodeQL CLI (`changelog `__, `releases `__), +CodeQL library packs (`source `__), +and CodeQL bundle (`releases `__) +support the following languages and compilers. .. include:: ../support/reusables/versions-compilers.rst Frameworks and libraries ######################## -The libraries and queries in the current version of CodeQL have been explicitly checked against the libraries and frameworks listed below. +The current versions of the CodeQL library and query packs (`source `__) have been explicitly checked against the libraries and frameworks listed below. .. pull-quote:: diff --git a/docs/codeql/query-help/cpp.rst b/docs/codeql/query-help/cpp.rst index 7c3cbe304d7..12d2dfbf53e 100644 --- a/docs/codeql/query-help/cpp.rst +++ b/docs/codeql/query-help/cpp.rst @@ -3,7 +3,9 @@ CodeQL query help for C and C++ .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/cpp-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-cpp.rst \ No newline at end of file diff --git a/docs/codeql/query-help/csharp.rst b/docs/codeql/query-help/csharp.rst index 9c5c6351ce3..5d7f732a588 100644 --- a/docs/codeql/query-help/csharp.rst +++ b/docs/codeql/query-help/csharp.rst @@ -3,6 +3,8 @@ CodeQL query help for C# .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/csharp-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-csharp.rst \ No newline at end of file diff --git a/docs/codeql/query-help/go.rst b/docs/codeql/query-help/go.rst index 9e3050f74d0..bcd4aba9b51 100644 --- a/docs/codeql/query-help/go.rst +++ b/docs/codeql/query-help/go.rst @@ -3,6 +3,8 @@ CodeQL query help for Go .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/go-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-go.rst diff --git a/docs/codeql/query-help/java.rst b/docs/codeql/query-help/java.rst index 8af2ee52890..4876546d2dc 100644 --- a/docs/codeql/query-help/java.rst +++ b/docs/codeql/query-help/java.rst @@ -3,6 +3,8 @@ CodeQL query help for Java .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/java-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-java.rst diff --git a/docs/codeql/query-help/javascript.rst b/docs/codeql/query-help/javascript.rst index d7cf6797852..58fe97eb3b0 100644 --- a/docs/codeql/query-help/javascript.rst +++ b/docs/codeql/query-help/javascript.rst @@ -3,6 +3,8 @@ CodeQL query help for JavaScript .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/javascript-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-javascript.rst \ No newline at end of file diff --git a/docs/codeql/query-help/python.rst b/docs/codeql/query-help/python.rst index da68c1caa9b..9d915d443f3 100644 --- a/docs/codeql/query-help/python.rst +++ b/docs/codeql/query-help/python.rst @@ -3,6 +3,8 @@ CodeQL query help for Python .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/python-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-python.rst \ No newline at end of file diff --git a/docs/codeql/query-help/ruby.rst b/docs/codeql/query-help/ruby.rst index 3ce1304ba76..e733aecaf79 100644 --- a/docs/codeql/query-help/ruby.rst +++ b/docs/codeql/query-help/ruby.rst @@ -3,6 +3,8 @@ CodeQL query help for Ruby .. include:: ../reusables/query-help-overview.rst -For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. +These queries are published in the CodeQL query pack ``codeql/ruby-queries`` (`changelog `__, `source `__). + +For shorter queries that you can use as building blocks when writing your own queries, see the `example queries in the CodeQL repository `__. .. include:: toc-ruby.rst diff --git a/docs/codeql/reusables/beta-note-package-management.rst b/docs/codeql/reusables/beta-note-package-management.rst index a4fd362a70c..7697c9a47d9 100644 --- a/docs/codeql/reusables/beta-note-package-management.rst +++ b/docs/codeql/reusables/beta-note-package-management.rst @@ -2,4 +2,4 @@ Note - The CodeQL package management functionality, including CodeQL packs, is currently available as a beta release and is subject to change. During the beta release, CodeQL packs are available only using GitHub Packages - the GitHub Container registry. To use this beta functionality, install version 2.6.0 or higher of the CodeQL CLI bundle from: https://github.com/github/codeql-action/releases. \ No newline at end of file + The CodeQL package management functionality, including CodeQL packs, is currently available as a beta release and is subject to change. During the beta release, CodeQL packs are available only using GitHub Packages - the GitHub Container registry. To use this beta functionality, install the latest version of the CodeQL CLI bundle from: https://github.com/github/codeql-action/releases. diff --git a/docs/codeql/support/reusables/frameworks.rst b/docs/codeql/support/reusables/frameworks.rst index 12bcd5af8e6..fc5410648cf 100644 --- a/docs/codeql/support/reusables/frameworks.rst +++ b/docs/codeql/support/reusables/frameworks.rst @@ -1,6 +1,10 @@ C and C++ built-in support ================================ +Provided by the current versions of the +CodeQL query pack ``codeql/cpp-queries`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/cpp-all`` (`changelog `__, `source `__). + .. csv-table:: :header-rows: 1 :class: fullWidthTable @@ -14,6 +18,10 @@ C and C++ built-in support C# built-in support ================================ +Provided by the current versions of the +CodeQL query pack ``codeql/csharp-queries`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/csharp-all`` (`changelog `__, `source `__). + .. csv-table:: :header-rows: 1 :class: fullWidthTable @@ -33,6 +41,10 @@ C# built-in support Go built-in support ================================ +Provided by the current versions of the +CodeQL query pack ``codeql/go-queries`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/go-all`` (`changelog `__, `source `__). + .. csv-table:: :header-rows: 1 :class: fullWidthTable @@ -84,6 +96,10 @@ Go built-in support Java built-in support ================================== +Provided by the current versions of the +CodeQL query pack ``codeql/java-queries`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/java-all`` (`changelog `__, `source `__). + .. csv-table:: :header-rows: 1 :class: fullWidthTable @@ -113,6 +129,10 @@ Java built-in support JavaScript and TypeScript built-in support ======================================================= +Provided by the current versions of the +CodeQL query pack ``codeql/javascript-queries`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/javascript-all`` (`changelog `__, `source `__). + .. csv-table:: :header-rows: 1 :class: fullWidthTable @@ -156,6 +176,10 @@ JavaScript and TypeScript built-in support Python built-in support ==================================== +Provided by the current versions of the +CodeQL query pack ``codeql/python-queries`` (`changelog `__, `source `__) +and the CodeQL library pack ``codeql/python-all`` (`changelog `__, `source `__). + .. csv-table:: :header-rows: 1 :class: fullWidthTable diff --git a/go/codeql-tools/tracing-config.lua b/go/codeql-tools/tracing-config.lua index 8554d545ce0..ea1af7734e0 100644 --- a/go/codeql-tools/tracing-config.lua +++ b/go/codeql-tools/tracing-config.lua @@ -1,7 +1,7 @@ function RegisterExtractorPack() local goExtractor = GetPlatformToolsDirectory() .. 'go-extractor' local patterns = { - CreatePatternMatcher({'^go-autobuilder$'}, MatchCompilerName, nil, + CreatePatternMatcher({'^go%-autobuilder$'}, MatchCompilerName, nil, {trace = false}), CreatePatternMatcher({'^go$'}, MatchCompilerName, goExtractor, { prepend = {'--mimic', '${compiler}'}, @@ -12,7 +12,7 @@ function RegisterExtractorPack() if OperatingSystem == 'windows' then goExtractor = goExtractor .. 'go-extractor.exe' patterns = { - CreatePatternMatcher({'^go-autobuilder%.exe$'}, MatchCompilerName, + CreatePatternMatcher({'^go%-autobuilder%.exe$'}, MatchCompilerName, nil, {trace = false}), CreatePatternMatcher({'^go%.exe$'}, MatchCompilerName, goExtractor, { diff --git a/go/extractor/cli/go-autobuilder/go-autobuilder.go b/go/extractor/cli/go-autobuilder/go-autobuilder.go index 07b8a6cb478..6a82db94ddf 100644 --- a/go/extractor/cli/go-autobuilder/go-autobuilder.go +++ b/go/extractor/cli/go-autobuilder/go-autobuilder.go @@ -291,7 +291,7 @@ func main() { } // Go 1.16 and later won't automatically attempt to update go.mod / go.sum during package loading, so try to update them here: - if depMode == GoGetWithModules && semver.Compare(getEnvGoSemVer(), "1.16") >= 0 { + if modMode != ModVendor && depMode == GoGetWithModules && semver.Compare(getEnvGoSemVer(), "1.16") >= 0 { // stat go.mod and go.sum beforeGoModFileInfo, beforeGoModErr := os.Stat("go.mod") if beforeGoModErr != nil { diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index c6902d6e28a..a4ead0ef794 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.2.2 + +## 0.2.1 + +## 0.2.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. + +## 0.1.4 + ## 0.1.3 ## 0.1.2 diff --git a/go/ql/lib/change-notes/released/0.1.4.md b/go/ql/lib/change-notes/released/0.1.4.md new file mode 100644 index 00000000000..49899666aec --- /dev/null +++ b/go/ql/lib/change-notes/released/0.1.4.md @@ -0,0 +1 @@ +## 0.1.4 diff --git a/go/ql/lib/change-notes/released/0.2.0.md b/go/ql/lib/change-notes/released/0.2.0.md new file mode 100644 index 00000000000..ded60d11b7e --- /dev/null +++ b/go/ql/lib/change-notes/released/0.2.0.md @@ -0,0 +1,5 @@ +## 0.2.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. diff --git a/go/ql/lib/change-notes/released/0.2.1.md b/go/ql/lib/change-notes/released/0.2.1.md new file mode 100644 index 00000000000..c260de2a9ee --- /dev/null +++ b/go/ql/lib/change-notes/released/0.2.1.md @@ -0,0 +1 @@ +## 0.2.1 diff --git a/go/ql/lib/change-notes/released/0.2.2.md b/go/ql/lib/change-notes/released/0.2.2.md new file mode 100644 index 00000000000..fc31cbd3d6f --- /dev/null +++ b/go/ql/lib/change-notes/released/0.2.2.md @@ -0,0 +1 @@ +## 0.2.2 diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index b79d8f9d00a..16a06790aa8 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.3 +lastReleaseVersion: 0.2.2 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index d41ea83a94d..789f504c667 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 0.1.4-dev +version: 0.2.3-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/lib/semmle/go/Errors.qll b/go/ql/lib/semmle/go/Errors.qll index cf83a87ff15..58ec4388f33 100644 --- a/go/ql/lib/semmle/go/Errors.qll +++ b/go/ql/lib/semmle/go/Errors.qll @@ -26,7 +26,7 @@ class Error extends @error { * The location spans column `startcolumn` of line `startline` to * column `endcolumn` of line `endline` in file `filepath`. * For more information, see - * [LGTM locations](https://lgtm.com/help/ql/locations). + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn diff --git a/go/ql/lib/semmle/go/Files.qll b/go/ql/lib/semmle/go/Files.qll index 825b40f8b44..12f70bb4469 100644 --- a/go/ql/lib/semmle/go/Files.qll +++ b/go/ql/lib/semmle/go/Files.qll @@ -33,7 +33,7 @@ abstract class Container extends @container { /** * Gets a URL representing the location of this container. * - * For more information see https://lgtm.com/help/ql/locations#providing-urls. + * For more information see https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/#providing-urls. */ abstract string getURL(); diff --git a/go/ql/lib/semmle/go/Locations.qll b/go/ql/lib/semmle/go/Locations.qll index 4fb69be21c1..c1daa7534bf 100644 --- a/go/ql/lib/semmle/go/Locations.qll +++ b/go/ql/lib/semmle/go/Locations.qll @@ -6,7 +6,7 @@ import go * A location as given by a file, a start line, a start column, * an end line, and an end column. * - * For more information about locations see [LGTM locations](https://lgtm.com/help/ql/locations). + * For more information about locations see [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ class Location extends @location { /** Gets the file for this location. */ @@ -40,7 +40,7 @@ class Location extends @location { * The location spans column `startcolumn` of line `startline` to * column `endcolumn` of line `endline` in file `filepath`. * For more information, see - * [LGTM locations](https://lgtm.com/help/ql/locations). + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn @@ -68,7 +68,7 @@ class Locatable extends @locatable { * The location spans column `startcolumn` of line `startline` to * column `endcolumn` of line `endline` in file `filepath`. * For more information, see - * [LGTM locations](https://lgtm.com/help/ql/locations). + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn diff --git a/go/ql/lib/semmle/go/Scopes.qll b/go/ql/lib/semmle/go/Scopes.qll index 02ead4b9468..b14d558fabb 100644 --- a/go/ql/lib/semmle/go/Scopes.qll +++ b/go/ql/lib/semmle/go/Scopes.qll @@ -130,7 +130,7 @@ class Entity extends @object { * The location spans column `startcolumn` of line `startline` to * column `endcolumn` of line `endline` in file `filepath`. * For more information, see - * [LGTM locations](https://lgtm.com/help/ql/locations). + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo( string filepath, int startline, int startcolumn, int endline, int endcolumn @@ -632,7 +632,7 @@ class Callable extends TCallable { * The location spans column `sc` of line `sl` to * column `ec` of line `el` in file `fp`. * For more information, see - * [Locations](https://help.semmle.com/QL/learn-ql/ql/locations.html). + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo(string fp, int sl, int sc, int el, int ec) { this.asFunction().hasLocationInfo(fp, sl, sc, el, ec) or diff --git a/go/ql/lib/semmle/go/dataflow/barrierguardutil/RedirectCheckBarrierGuard.qll b/go/ql/lib/semmle/go/dataflow/barrierguardutil/RedirectCheckBarrierGuard.qll index 6ce0f9014fa..506873d498c 100644 --- a/go/ql/lib/semmle/go/dataflow/barrierguardutil/RedirectCheckBarrierGuard.qll +++ b/go/ql/lib/semmle/go/dataflow/barrierguardutil/RedirectCheckBarrierGuard.qll @@ -4,11 +4,30 @@ import go +private predicate redirectCheckGuard(DataFlow::Node g, Expr e, boolean outcome) { + g.(DataFlow::CallNode) + .getCalleeName() + .regexpMatch("(?i)(is_?)?(local_?url|valid_?redir(ect)?)(ur[li])?") and + // `isLocalUrl(e)` is a barrier for `e` if it evaluates to `true` + g.(DataFlow::CallNode).getAnArgument().asExpr() = e and + outcome = true +} + /** * A call to a function called `isLocalUrl`, `isValidRedirect`, or similar, which is * considered a barrier guard for sanitizing untrusted URLs. */ -class RedirectCheckBarrierGuard extends DataFlow::BarrierGuard, DataFlow::CallNode { +class RedirectCheckBarrier extends DataFlow::Node { + RedirectCheckBarrier() { this = DataFlow::BarrierGuard::getABarrierNode() } +} + +/** + * DEPRECATED: Use `RedirectCheckBarrier` instead. + * + * A call to a function called `isLocalUrl`, `isValidRedirect`, or similar, which is + * considered a barrier guard for sanitizing untrusted URLs. + */ +deprecated class RedirectCheckBarrierGuard extends DataFlow::BarrierGuard, DataFlow::CallNode { RedirectCheckBarrierGuard() { this.getCalleeName().regexpMatch("(?i)(is_?)?(local_?url|valid_?redir(ect)?)(ur[li])?") } diff --git a/go/ql/lib/semmle/go/dataflow/barrierguardutil/RegexpCheck.qll b/go/ql/lib/semmle/go/dataflow/barrierguardutil/RegexpCheck.qll index 64cff45ab62..47593dcf537 100644 --- a/go/ql/lib/semmle/go/dataflow/barrierguardutil/RegexpCheck.qll +++ b/go/ql/lib/semmle/go/dataflow/barrierguardutil/RegexpCheck.qll @@ -10,7 +10,7 @@ import go * This is overapproximate: we do not attempt to reason about the correctness of the regexp. * * Use this if you want to define a derived `DataFlow::BarrierGuard` without - * make the type recursive. Otherwise use `RegexpCheck`. + * make the type recursive. Otherwise use `RegexpCheckBarrier`. */ predicate regexpFunctionChecksExpr(DataFlow::Node resultNode, Expr checked, boolean branch) { exists(RegexpMatchFunction matchfn, DataFlow::CallNode call | @@ -26,7 +26,20 @@ predicate regexpFunctionChecksExpr(DataFlow::Node resultNode, Expr checked, bool * * This is overapproximate: we do not attempt to reason about the correctness of the regexp. */ -class RegexpCheck extends DataFlow::BarrierGuard { +class RegexpCheckBarrier extends DataFlow::Node { + RegexpCheckBarrier() { + this = DataFlow::BarrierGuard::getABarrierNode() + } +} + +/** + * DEPRECATED: Use `RegexpCheckBarrier` instead. + * + * A call to a regexp match function, considered as a barrier guard for sanitizing untrusted URLs. + * + * This is overapproximate: we do not attempt to reason about the correctness of the regexp. + */ +deprecated class RegexpCheck extends DataFlow::BarrierGuard { RegexpCheck() { regexpFunctionChecksExpr(this, _, _) } override predicate checks(Expr e, boolean branch) { regexpFunctionChecksExpr(this, e, branch) } diff --git a/go/ql/lib/semmle/go/dataflow/barrierguardutil/UrlCheck.qll b/go/ql/lib/semmle/go/dataflow/barrierguardutil/UrlCheck.qll index 8aefc67ee38..d84badee3d9 100644 --- a/go/ql/lib/semmle/go/dataflow/barrierguardutil/UrlCheck.qll +++ b/go/ql/lib/semmle/go/dataflow/barrierguardutil/UrlCheck.qll @@ -4,6 +4,23 @@ import go +private predicate urlCheck(DataFlow::Node g, Expr e, boolean outcome) { + exists(DataFlow::Node url, DataFlow::EqualityTestNode eq | + g = eq and + exists(eq.getAnOperand().getStringValue()) and + ( + url = eq.getAnOperand() + or + exists(DataFlow::MethodCallNode mc | mc = eq.getAnOperand() | + mc.getTarget().getName() = "Hostname" and + url = mc.getReceiver() + ) + ) and + e = url.asExpr() and + outcome = eq.getPolarity() + ) +} + /** * An equality check comparing a data-flow node against a constant string, considered as * a barrier guard for sanitizing untrusted URLs. @@ -11,7 +28,20 @@ import go * Additionally, a check comparing `url.Hostname()` against a constant string is also * considered a barrier guard for `url`. */ -class UrlCheck extends DataFlow::BarrierGuard, DataFlow::EqualityTestNode { +class UrlCheckBarrier extends DataFlow::Node { + UrlCheckBarrier() { this = DataFlow::BarrierGuard::getABarrierNode() } +} + +/** + * DEPRECATED: Use `UrlCheckBarrier` instead. + * + * An equality check comparing a data-flow node against a constant string, considered as + * a barrier guard for sanitizing untrusted URLs. + * + * Additionally, a check comparing `url.Hostname()` against a constant string is also + * considered a barrier guard for `url`. + */ +deprecated class UrlCheck extends DataFlow::BarrierGuard, DataFlow::EqualityTestNode { DataFlow::Node url; UrlCheck() { diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll index f535bef3231..bf150f191ed 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl.qll @@ -73,8 +73,12 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** * Holds if the additional flow step from `node1` to `node2` must be taken @@ -289,6 +293,20 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -300,10 +318,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { config.isBarrierOut(n) and not config.isSink(n) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll index 42d7e89f20b..65408c9915a 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowImpl2.qll @@ -73,8 +73,12 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** * Holds if the additional flow step from `node1` to `node2` must be taken @@ -289,6 +293,20 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -300,10 +318,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { config.isBarrierOut(n) and not config.isSink(n) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll index 47fa923aa08..1ad9e6fb6ac 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowUtil.qll @@ -158,7 +158,7 @@ class Content extends TContent { * The location spans column `startcolumn` of line `startline` to * column `endcolumn` of line `endline` in file `filepath`. * For more information, see - * [Locations](https://help.semmle.com/QL/learn-ql/ql/locations.html). + * [Locations](https://codeql.github.com/docs/writing-codeql-queries/providing-locations-in-codeql-queries/). */ predicate hasLocationInfo(string path, int sl, int sc, int el, int ec) { path = "" and sl = 0 and sc = 0 and el = 0 and ec = 0 @@ -231,27 +231,39 @@ class SyntheticFieldContent extends Content, TSyntheticFieldContent { } /** - * A guard that validates some expression. + * Holds if the guard `g` validates the expression `e` upon evaluating to `branch`. * - * To use this in a configuration, extend the class and provide a - * characteristic predicate precisely specifying the guard, and override - * `checks` to specify what is being validated and in which branch. - * - * When using a data-flow or taint-flow configuration `cfg`, it is important - * that any classes extending BarrierGuard in scope which are not used in `cfg` - * are disjoint from any classes extending BarrierGuard in scope which are used - * in `cfg`. + * The expression `e` is expected to be a syntactic part of the guard `g`. + * For example, the guard `g` might be a call `isSafe(x)` and the expression `e` + * the argument `x`. */ -abstract class BarrierGuard extends Node { - /** Holds if this guard validates `e` upon evaluating to `branch`. */ - abstract predicate checks(Expr e, boolean branch); +signature predicate guardChecksSig(Node g, Expr e, boolean branch); - /** Gets a node guarded by this guard. */ - final Node getAGuardedNode() { +/** + * Provides a set of barrier nodes for a guard that validates an expression. + * + * This is expected to be used in `isBarrier`/`isSanitizer` definitions + * in data flow and taint tracking. + */ +module BarrierGuard { + /** Gets a node that is safely guarded by the given guard check. */ + Node getABarrierNode() { + exists(Node g, ControlFlow::ConditionGuardNode guard, Node nd, SsaWithFields var | + result = var.getAUse() + | + guards(g, guard, nd, var) and + guard.dominates(result.getBasicBlock()) + ) + } + + /** + * Gets a node that is safely guarded by the given guard check. + */ + Node getABarrierNodeForGuard(Node guardCheck) { exists(ControlFlow::ConditionGuardNode guard, Node nd, SsaWithFields var | result = var.getAUse() | - this.guards(guard, nd, var) and + guards(guardCheck, guard, nd, var) and guard.dominates(result.getBasicBlock()) ) } @@ -263,25 +275,25 @@ abstract class BarrierGuard extends Node { * This predicate exists to enforce a good join order in `getAGuardedNode`. */ pragma[noinline] - private predicate guards(ControlFlow::ConditionGuardNode guard, Node nd, SsaWithFields ap) { - this.guards(guard, nd) and nd = ap.getAUse() + private predicate guards(Node g, ControlFlow::ConditionGuardNode guard, Node nd, SsaWithFields ap) { + guards(g, guard, nd) and nd = ap.getAUse() } /** * Holds if `guard` markes a point in the control-flow graph where this node * is known to validate `nd`. */ - private predicate guards(ControlFlow::ConditionGuardNode guard, Node nd) { + private predicate guards(Node g, ControlFlow::ConditionGuardNode guard, Node nd) { exists(boolean branch | - this.checks(nd.asExpr(), branch) and - guard.ensures(this, branch) + guardChecks(g, nd.asExpr(), branch) and + guard.ensures(g, branch) ) or exists( Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p, CallNode c, Node resNode, Node check, boolean outcome | - this.guardingCall(f, inp, outp, p, c, nd, resNode) and + guardingCall(g, f, inp, outp, p, c, nd, resNode) and p.checkOn(check, outcome, resNode) and guard.ensures(pragma[only_bind_into](check), outcome) ) @@ -289,10 +301,10 @@ abstract class BarrierGuard extends Node { pragma[noinline] private predicate guardingCall( - Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p, CallNode c, Node nd, - Node resNode + Node g, Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p, CallNode c, + Node nd, Node resNode ) { - this.guardingFunction(f, inp, outp, p) and + guardingFunction(g, f, inp, outp, p) and c = f.getACall() and nd = inp.getNode(c) and localFlow(pragma[only_bind_out](outp.getNode(c)), resNode) @@ -308,7 +320,7 @@ abstract class BarrierGuard extends Node { * `false`, `nil` or a non-`nil` value.) */ private predicate guardingFunction( - Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p + Node g, Function f, FunctionInput inp, FunctionOutput outp, DataFlow::Property p ) { exists(FuncDecl fd, Node arg, Node ret | fd.getFunction() = f and @@ -317,7 +329,7 @@ abstract class BarrierGuard extends Node { ( // Case: a function like "if someBarrierGuard(arg) { return true } else { return false }" exists(ControlFlow::ConditionGuardNode guard | - this.guards(guard, arg) and + guards(g, guard, arg) and guard.dominates(ret.getBasicBlock()) | exists(boolean b | @@ -336,12 +348,12 @@ abstract class BarrierGuard extends Node { // or "return !someBarrierGuard(arg) && otherCond(...)" exists(boolean outcome | ret = getUniqueOutputNode(fd, outp) and - this.checks(arg.asExpr(), outcome) and + guardChecks(g, arg.asExpr(), outcome) and // This predicate's contract is (p holds of ret ==> arg is checked), // (and we have (this has outcome ==> arg is checked)) // but p.checkOn(ret, outcome, this) gives us (ret has outcome ==> p holds of this), // so we need to swap outcome and (specifically boolean) p: - DataFlow::booleanProperty(outcome).checkOn(ret, p.asBoolean(), this) + DataFlow::booleanProperty(outcome).checkOn(ret, p.asBoolean(), g) ) or // Case: a function like "return guardProxy(arg)" @@ -351,7 +363,7 @@ abstract class BarrierGuard extends Node { DataFlow::Property outpProp | ret = getUniqueOutputNode(fd, outp) and - this.guardingFunction(f2, inp2, outp2, outpProp) and + guardingFunction(g, f2, inp2, outp2, outpProp) and c = f2.getACall() and arg = inp2.getNode(c) and ( @@ -368,6 +380,34 @@ abstract class BarrierGuard extends Node { } } +/** + * DEPRECATED: Use `BarrierGuard` module instead. + * + * A guard that validates some expression. + * + * To use this in a configuration, extend the class and provide a + * characteristic predicate precisely specifying the guard, and override + * `checks` to specify what is being validated and in which branch. + * + * When using a data-flow or taint-flow configuration `cfg`, it is important + * that any classes extending BarrierGuard in scope which are not used in `cfg` + * are disjoint from any classes extending BarrierGuard in scope which are used + * in `cfg`. + */ +abstract deprecated class BarrierGuard extends Node { + /** Holds if this guard validates `e` upon evaluating to `branch`. */ + abstract predicate checks(Expr e, boolean branch); + + /** Gets a node guarded by this guard. */ + final Node getAGuardedNode() { + result = BarrierGuard::getABarrierNodeForGuard(this) + } +} + +deprecated private predicate barrierGuardChecks(Node g, Expr e, boolean branch) { + g.(BarrierGuard).checks(e, branch) +} + DataFlow::Node getUniqueOutputNode(FuncDecl fd, FunctionOutput outp) { result = unique(DataFlow::Node n | n = outp.getEntryNode(fd) | n) } diff --git a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll index f33048ed08a..801f5847525 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/TaintTrackingUtil.qll @@ -228,16 +228,22 @@ abstract class DefaultTaintSanitizer extends DataFlow::Node { } predicate defaultTaintSanitizer(DataFlow::Node node) { node instanceof DefaultTaintSanitizer } /** + * DEPRECATED: Use `DefaultTaintSanitizer` instead. + * * A sanitizer guard in all global taint flow configurations but not in local taint. */ -abstract class DefaultTaintSanitizerGuard extends DataFlow::BarrierGuard { } +abstract deprecated class DefaultTaintSanitizerGuard extends DataFlow::BarrierGuard { } -/** - * Holds if `guard` should be a sanitizer guard in all global taint flow configurations - * but not in local taint. - */ -predicate defaultTaintSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof DefaultTaintSanitizerGuard +private predicate equalityTestGuard(DataFlow::Node g, Expr e, boolean outcome) { + exists(DataFlow::EqualityTestNode eq, DataFlow::Node nonConstNode | + eq = g and + eq.getAnOperand().isConst() and + nonConstNode = eq.getAnOperand() and + not nonConstNode.isConst() and + not eq.getAnOperand() = Builtin::nil().getARead() and + e = nonConstNode.asExpr() and + outcome = eq.getPolarity() + ) } /** @@ -247,20 +253,8 @@ predicate defaultTaintSanitizerGuard(DataFlow::BarrierGuard guard) { * Note that comparisons to `nil` are excluded. This is needed for performance * reasons. */ -class EqualityTestGuard extends DefaultTaintSanitizerGuard, DataFlow::EqualityTestNode { - DataFlow::Node nonConstNode; - - EqualityTestGuard() { - this.getAnOperand().isConst() and - nonConstNode = this.getAnOperand() and - not nonConstNode.isConst() and - not this.getAnOperand() = Builtin::nil().getARead() - } - - override predicate checks(Expr e, boolean outcome) { - e = nonConstNode.asExpr() and - outcome = this.getPolarity() - } +class EqualityTestBarrier extends DefaultTaintSanitizer { + EqualityTestBarrier() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** @@ -398,6 +392,16 @@ predicate inputIsConstantIfOutputHasProperty( ) } +private predicate listOfConstantsComparisonSanitizerGuard(DataFlow::Node g, Expr e, boolean outcome) { + exists(DataFlow::Node guardedExpr | + exists(DataFlow::Node outputNode, DataFlow::Property p | + inputIsConstantIfOutputHasProperty(guardedExpr, outputNode, p) and + p.checkOn(g, outcome, outputNode) + ) and + e = guardedExpr.asExpr() + ) +} + /** * A comparison against a list of constants, acting as a sanitizer guard for * `guardedExpr` by restricting it to a known value. @@ -406,18 +410,8 @@ predicate inputIsConstantIfOutputHasProperty( * it could equally look for a check for membership of a constant map or * constant array, which does not need to be in its own function. */ -class ListOfConstantsComparisonSanitizerGuard extends TaintTracking::DefaultTaintSanitizerGuard { - DataFlow::Node guardedExpr; - boolean outcome; - +class ListOfConstantsComparisonSanitizerGuard extends TaintTracking::DefaultTaintSanitizer { ListOfConstantsComparisonSanitizerGuard() { - exists(DataFlow::Node outputNode, DataFlow::Property p | - inputIsConstantIfOutputHasProperty(guardedExpr, outputNode, p) and - p.checkOn(this, outcome, outputNode) - ) - } - - override predicate checks(Expr e, boolean branch) { - e = guardedExpr.asExpr() and branch = outcome + this = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/go/ql/lib/semmle/go/dataflow/internal/tainttracking1/TaintTrackingImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/tainttracking1/TaintTrackingImpl.qll index 7f7d5bbb883..4e613ba727e 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/tainttracking1/TaintTrackingImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/tainttracking1/TaintTrackingImpl.qll @@ -89,11 +89,15 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** diff --git a/go/ql/lib/semmle/go/dataflow/internal/tainttracking2/TaintTrackingImpl.qll b/go/ql/lib/semmle/go/dataflow/internal/tainttracking2/TaintTrackingImpl.qll index 7f7d5bbb883..4e613ba727e 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/tainttracking2/TaintTrackingImpl.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/tainttracking2/TaintTrackingImpl.qll @@ -89,11 +89,15 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** diff --git a/go/ql/lib/semmle/go/security/AllocationSizeOverflow.qll b/go/ql/lib/semmle/go/security/AllocationSizeOverflow.qll index ff55b887bc3..0cd2ff2bc79 100644 --- a/go/ql/lib/semmle/go/security/AllocationSizeOverflow.qll +++ b/go/ql/lib/semmle/go/security/AllocationSizeOverflow.qll @@ -23,7 +23,7 @@ module AllocationSizeOverflow { override predicate isSink(DataFlow::Node nd) { nd = Builtin::len().getACall().getArgument(0) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } @@ -64,7 +64,7 @@ module AllocationSizeOverflow { ) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } diff --git a/go/ql/lib/semmle/go/security/AllocationSizeOverflowCustomizations.qll b/go/ql/lib/semmle/go/security/AllocationSizeOverflowCustomizations.qll index 229fd0d38d3..7de78de31e6 100644 --- a/go/ql/lib/semmle/go/security/AllocationSizeOverflowCustomizations.qll +++ b/go/ql/lib/semmle/go/security/AllocationSizeOverflowCustomizations.qll @@ -25,9 +25,11 @@ module AllocationSizeOverflow { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A guard node that prevents allocation-size overflow. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** * A sanitizer node that prevents allocation-size overflow. @@ -73,12 +75,18 @@ module AllocationSizeOverflow { } } + private predicate allocationSizeCheck(DataFlow::Node g, Expr e, boolean branch) { + exists(DataFlow::Node lesser | + g.(DataFlow::RelationalComparisonNode).leq(branch, lesser, _, _) and + not lesser.isConst() and + globalValueNumber(DataFlow::exprNode(e)) = globalValueNumber(lesser) + ) + } + /** A check of the allocation size, acting as a guard to prevent allocation-size overflow. */ - class AllocationSizeCheck extends DataFlow::BarrierGuard, DataFlow::RelationalComparisonNode { - override predicate checks(Expr e, boolean branch) { - exists(DataFlow::Node lesser | this.leq(branch, lesser, _, _) and not lesser.isConst() | - globalValueNumber(DataFlow::exprNode(e)) = globalValueNumber(lesser) - ) + class AllocationSizeCheckBarrier extends DataFlow::Node { + AllocationSizeCheckBarrier() { + this = DataFlow::BarrierGuard::getABarrierNode() } } @@ -92,20 +100,24 @@ module AllocationSizeOverflow { DefaultSink() { this instanceof OverflowProneOperand and localStep*(this, allocsz) and - not exists(AllocationSizeCheck g | allocsz = g.getAGuardedNode()) + not allocsz instanceof AllocationSizeCheckBarrier } override DataFlow::Node getAllocationSize() { result = allocsz } } + private predicate lengthCheck(DataFlow::Node g, Expr e, boolean branch) { + exists(DataFlow::CallNode lesser | + g.(DataFlow::RelationalComparisonNode).leq(branch, lesser, _, _) + | + lesser = Builtin::len().getACall() and + globalValueNumber(DataFlow::exprNode(e)) = globalValueNumber(lesser.getArgument(0)) + ) + } + /** A length check, acting as a guard to prevent allocation-size overflow. */ - class LengthCheck extends SanitizerGuard, DataFlow::RelationalComparisonNode { - override predicate checks(Expr e, boolean branch) { - exists(DataFlow::CallNode lesser | this.leq(branch, lesser, _, _) | - lesser = Builtin::len().getACall() and - globalValueNumber(DataFlow::exprNode(e)) = globalValueNumber(lesser.getArgument(0)) - ) - } + class LengthCheckSanitizer extends Sanitizer { + LengthCheckSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** diff --git a/go/ql/lib/semmle/go/security/CommandInjection.qll b/go/ql/lib/semmle/go/security/CommandInjection.qll index 6f36760b3b4..a3bc2747e7a 100644 --- a/go/ql/lib/semmle/go/security/CommandInjection.qll +++ b/go/ql/lib/semmle/go/security/CommandInjection.qll @@ -34,7 +34,7 @@ module CommandInjection { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } @@ -97,7 +97,7 @@ module CommandInjection { node = any(ArgumentArrayWithDoubleDash array).getASanitizedElement() } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll index f28f9452014..1550d68dc03 100644 --- a/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/CommandInjectionCustomizations.qll @@ -30,9 +30,11 @@ module CommandInjection { abstract class Sanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for command-injection vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A source of untrusted data, considered as a taint source for command injection. */ class UntrustedFlowAsSource extends Source { diff --git a/go/ql/lib/semmle/go/security/IncorrectIntegerConversionLib.qll b/go/ql/lib/semmle/go/security/IncorrectIntegerConversionLib.qll index cee6eda56f6..2ef5814c9fa 100644 --- a/go/ql/lib/semmle/go/security/IncorrectIntegerConversionLib.qll +++ b/go/ql/lib/semmle/go/security/IncorrectIntegerConversionLib.qll @@ -127,11 +127,14 @@ class ConversionWithoutBoundsCheckConfig extends TaintTracking::Configuration { override predicate isSink(DataFlow::Node sink) { this.isSink(sink, sinkBitSize) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + override predicate isSanitizer(DataFlow::Node node) { // To catch flows that only happen on 32-bit architectures we // consider an architecture-dependent sink bit size to be 32. - exists(int bitSize | if sinkBitSize != 0 then bitSize = sinkBitSize else bitSize = 32 | - guard.(UpperBoundCheckGuard).isBoundFor(bitSize, sourceIsSigned) + exists(UpperBoundCheckGuard g, int bitSize | + if sinkBitSize != 0 then bitSize = sinkBitSize else bitSize = 32 + | + node = DataFlow::BarrierGuard::getABarrierNodeForGuard(g) and + g.isBoundFor(bitSize, sourceIsSigned) ) } @@ -142,8 +145,12 @@ class ConversionWithoutBoundsCheckConfig extends TaintTracking::Configuration { } } +private predicate upperBoundCheckGuard(DataFlow::Node g, Expr e, boolean branch) { + g.(UpperBoundCheckGuard).checks(e, branch) +} + /** An upper bound check that compares a variable to a constant value. */ -class UpperBoundCheckGuard extends DataFlow::BarrierGuard, DataFlow::RelationalComparisonNode { +class UpperBoundCheckGuard extends DataFlow::RelationalComparisonNode { UpperBoundCheckGuard() { count(expr.getAnOperand().getExactValue()) = 1 and expr.getAnOperand().getType().getUnderlyingType() instanceof IntegerType @@ -180,7 +187,8 @@ class UpperBoundCheckGuard extends DataFlow::BarrierGuard, DataFlow::RelationalC ) } - override predicate checks(Expr e, boolean branch) { + /** Holds if this guard validates `e` upon evaluating to `branch`. */ + predicate checks(Expr e, boolean branch) { this.leq(branch, DataFlow::exprNode(e), _, _) and not e.isConst() } diff --git a/go/ql/lib/semmle/go/security/LogInjection.qll b/go/ql/lib/semmle/go/security/LogInjection.qll index a44825fe659..12f64c87e4a 100644 --- a/go/ql/lib/semmle/go/security/LogInjection.qll +++ b/go/ql/lib/semmle/go/security/LogInjection.qll @@ -26,7 +26,7 @@ module LogInjection { override predicate isSanitizer(DataFlow::Node sanitizer) { sanitizer instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/LogInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/LogInjectionCustomizations.qll index af0d07f288b..d408da95331 100644 --- a/go/ql/lib/semmle/go/security/LogInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/LogInjectionCustomizations.qll @@ -27,9 +27,11 @@ module LogInjection { abstract class Sanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for log injection vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A source of untrusted data, considered as a taint source for log injection. */ class UntrustedFlowAsSource extends Source { diff --git a/go/ql/lib/semmle/go/security/OpenUrlRedirect.qll b/go/ql/lib/semmle/go/security/OpenUrlRedirect.qll index f2d5210d952..c0df90197c5 100644 --- a/go/ql/lib/semmle/go/security/OpenUrlRedirect.qll +++ b/go/ql/lib/semmle/go/security/OpenUrlRedirect.qll @@ -59,7 +59,7 @@ module OpenUrlRedirect { hostnameSanitizingPrefixEdge(node, _) } - override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { guard instanceof BarrierGuard } } diff --git a/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll b/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll index 429bb9ecbf9..d883c3c0101 100644 --- a/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll +++ b/go/ql/lib/semmle/go/security/OpenUrlRedirectCustomizations.qll @@ -32,9 +32,11 @@ module OpenUrlRedirect { abstract class Barrier extends DataFlow::Node { } /** + * DEPRECATED: Use `Barrier` instead. + * * A barrier guard for unvalidated URL redirect vulnerabilities. */ - abstract class BarrierGuard extends DataFlow::BarrierGuard { } + abstract deprecated class BarrierGuard extends DataFlow::BarrierGuard { } /** * An additional taint propagation step specific to this query. @@ -98,20 +100,20 @@ module OpenUrlRedirect { * A call to a function called `isLocalUrl`, `isValidRedirect`, or similar, which is * considered a barrier guard for sanitizing untrusted URLs. */ - class RedirectCheckBarrierGuardAsBarrierGuard extends RedirectCheckBarrierGuard, BarrierGuard { } + class RedirectCheckBarrierGuardAsBarrierGuard extends RedirectCheckBarrier, Barrier { } /** * A call to a regexp match function, considered as a barrier guard for sanitizing untrusted URLs. * * This is overapproximate: we do not attempt to reason about the correctness of the regexp. */ - class RegexpCheckAsBarrierGuard extends RegexpCheck, BarrierGuard { } + class RegexpCheckAsBarrierGuard extends RegexpCheckBarrier, Barrier { } /** * A check against a constant value or the `Hostname` function, * considered a barrier guard for url flow. */ - class UrlCheckAsBarrierGuard extends UrlCheck, BarrierGuard { } + class UrlCheckAsBarrierGuard extends UrlCheckBarrier, Barrier { } } /** A sink for an open redirect, considered as a sink for safe URL flow. */ diff --git a/go/ql/lib/semmle/go/security/ReflectedXss.qll b/go/ql/lib/semmle/go/security/ReflectedXss.qll index e4e476e801b..ba5d253c066 100644 --- a/go/ql/lib/semmle/go/security/ReflectedXss.qll +++ b/go/ql/lib/semmle/go/security/ReflectedXss.qll @@ -31,7 +31,7 @@ module ReflectedXss { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/ReflectedXssCustomizations.qll b/go/ql/lib/semmle/go/security/ReflectedXssCustomizations.qll index 86642d9c72c..82233a1e79b 100644 --- a/go/ql/lib/semmle/go/security/ReflectedXssCustomizations.qll +++ b/go/ql/lib/semmle/go/security/ReflectedXssCustomizations.qll @@ -20,9 +20,11 @@ module ReflectedXss { abstract class Sanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for reflected XSS vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A shared XSS sanitizer as a sanitizer for reflected XSS. */ private class SharedXssSanitizer extends Sanitizer { @@ -30,7 +32,7 @@ module ReflectedXss { } /** A shared XSS sanitizer guard as a sanitizer guard for reflected XSS. */ - private class SharedXssSanitizerGuard extends SanitizerGuard { + deprecated private class SharedXssSanitizerGuard extends SanitizerGuard { SharedXss::SanitizerGuard self; SharedXssSanitizerGuard() { this = self } diff --git a/go/ql/lib/semmle/go/security/RequestForgery.qll b/go/ql/lib/semmle/go/security/RequestForgery.qll index 374bdf4a738..a4cea3efd8d 100644 --- a/go/ql/lib/semmle/go/security/RequestForgery.qll +++ b/go/ql/lib/semmle/go/security/RequestForgery.qll @@ -43,7 +43,7 @@ module RequestForgery { node instanceof SanitizerEdge } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { super.isSanitizerGuard(guard) or guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll b/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll index 5d294aa74f3..b75b3503d55 100644 --- a/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll +++ b/go/ql/lib/semmle/go/security/RequestForgeryCustomizations.qll @@ -33,9 +33,11 @@ module RequestForgery { abstract class SanitizerEdge extends DataFlow::Node { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for request forgery vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** * A third-party controllable input, considered as a flow source for request forgery. @@ -80,15 +82,14 @@ module RequestForgery { * A call to a function called `isLocalUrl`, `isValidRedirect`, or similar, which is * considered a barrier guard. */ - class RedirectCheckBarrierGuardAsBarrierGuard extends RedirectCheckBarrierGuard, SanitizerGuard { - } + class RedirectCheckBarrierGuardAsBarrierGuard extends RedirectCheckBarrier, Sanitizer { } /** * A call to a regexp match function, considered as a barrier guard for sanitizing untrusted URLs. * * This is overapproximate: we do not attempt to reason about the correctness of the regexp. */ - class RegexpCheckAsBarrierGuard extends RegexpCheck, SanitizerGuard { } + class RegexpCheckAsBarrierGuard extends RegexpCheckBarrier, Sanitizer { } /** * An equality check comparing a data-flow node against a constant string, considered as @@ -97,7 +98,7 @@ module RequestForgery { * Additionally, a check comparing `url.Hostname()` against a constant string is also * considered a barrier guard for `url`. */ - class UrlCheckAsBarrierGuard extends UrlCheck, SanitizerGuard { } + class UrlCheckAsBarrierGuard extends UrlCheckBarrier, Sanitizer { } } /** A sink for request forgery, considered as a sink for safe URL flow. */ diff --git a/go/ql/lib/semmle/go/security/SqlInjection.qll b/go/ql/lib/semmle/go/security/SqlInjection.qll index 82ea9a2a232..665b55fca09 100644 --- a/go/ql/lib/semmle/go/security/SqlInjection.qll +++ b/go/ql/lib/semmle/go/security/SqlInjection.qll @@ -32,7 +32,7 @@ module SqlInjection { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll index 006c308ed4f..23e46ee3180 100644 --- a/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/SqlInjectionCustomizations.qll @@ -26,9 +26,11 @@ module SqlInjection { abstract class Sanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for SQL-injection vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A source of untrusted data, considered as a taint source for SQL injection. */ class UntrustedFlowAsSource extends Source { diff --git a/go/ql/lib/semmle/go/security/StoredCommand.qll b/go/ql/lib/semmle/go/security/StoredCommand.qll index 114f772b614..fde23a26650 100644 --- a/go/ql/lib/semmle/go/security/StoredCommand.qll +++ b/go/ql/lib/semmle/go/security/StoredCommand.qll @@ -35,7 +35,7 @@ module StoredCommand { node instanceof CommandInjection::Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof CommandInjection::SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/StoredXss.qll b/go/ql/lib/semmle/go/security/StoredXss.qll index 2f81ba90dbf..970e931ff81 100644 --- a/go/ql/lib/semmle/go/security/StoredXss.qll +++ b/go/ql/lib/semmle/go/security/StoredXss.qll @@ -31,7 +31,7 @@ module StoredXss { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/StoredXssCustomizations.qll b/go/ql/lib/semmle/go/security/StoredXssCustomizations.qll index 973635b754f..e48f17181ca 100644 --- a/go/ql/lib/semmle/go/security/StoredXssCustomizations.qll +++ b/go/ql/lib/semmle/go/security/StoredXssCustomizations.qll @@ -16,8 +16,12 @@ module StoredXss { /** A sanitizer for stored XSS vulnerabilities. */ abstract class Sanitizer extends DataFlow::Node { } - /** A sanitizer guard for stored XSS vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + /** + * DEPRECATED: Use `Sanitizer` instead. + * + * A sanitizer guard for stored XSS vulnerabilities. + */ + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A shared XSS sanitizer as a sanitizer for stored XSS. */ private class SharedXssSanitizer extends Sanitizer { @@ -25,7 +29,7 @@ module StoredXss { } /** A shared XSS sanitizer guard as a sanitizer guard for stored XSS. */ - private class SharedXssSanitizerGuard extends SanitizerGuard { + deprecated private class SharedXssSanitizerGuard extends SanitizerGuard { SharedXss::SanitizerGuard self; SharedXssSanitizerGuard() { this = self } diff --git a/go/ql/lib/semmle/go/security/StringBreakCustomizations.qll b/go/ql/lib/semmle/go/security/StringBreakCustomizations.qll index 489ffb2d426..c042fbdaa76 100644 --- a/go/ql/lib/semmle/go/security/StringBreakCustomizations.qll +++ b/go/ql/lib/semmle/go/security/StringBreakCustomizations.qll @@ -40,9 +40,11 @@ module StringBreak { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for unsafe-quoting vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** Holds if `l` contains a `quote` (either single or double). */ private predicate containsQuote(StringOps::ConcatenationLeaf l, Quote quote) { diff --git a/go/ql/lib/semmle/go/security/TaintedPath.qll b/go/ql/lib/semmle/go/security/TaintedPath.qll index 6a1dc4c65e1..c753b039c15 100644 --- a/go/ql/lib/semmle/go/security/TaintedPath.qll +++ b/go/ql/lib/semmle/go/security/TaintedPath.qll @@ -25,9 +25,5 @@ module TaintedPath { super.isSanitizer(node) or node instanceof Sanitizer } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof SanitizerGuardAsBarrierGuard - } } } diff --git a/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll b/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll index 5d138e3b018..61499340de3 100644 --- a/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll +++ b/go/ql/lib/semmle/go/security/TaintedPathCustomizations.qll @@ -28,24 +28,31 @@ module TaintedPath { /** * A sanitizer guard for path-traversal vulnerabilities. - * - * Note this class should be extended to define more taint-path sanitizer guards, but isn't itself a - * `DataFlow::BarrierGuard` so that other queries can use this to define `BarrierGuard`s without - * introducing recursion. The class `SanitizerGuardAsBarrierGuard` plugs all instances of this class - * into the `DataFlow::BarrierGuard` type hierarchy. */ abstract class SanitizerGuard extends DataFlow::Node { abstract predicate checks(Expr e, boolean branch); } + private predicate sanitizerGuard(DataFlow::Node g, Expr e, boolean branch) { + g.(SanitizerGuard).checks(e, branch) + } + + private class SanitizerGuardAsSanitizer extends Sanitizer { + SanitizerGuardAsSanitizer() { + this = DataFlow::BarrierGuard::getABarrierNode() + } + } + /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for path-traversal vulnerabilities, as a `DataFlow::BarrierGuard`. * * Use this class if you want all `TaintedPath::SanitizerGuard`s as a `DataFlow::BarrierGuard`, * e.g. to use directly in a `DataFlow::Configuration::isSanitizerGuard` method. If you want to * provide a new instance of a tainted path sanitizer, extend `TaintedPath::SanitizerGuard` instead. */ - class SanitizerGuardAsBarrierGuard extends DataFlow::BarrierGuard { + deprecated class SanitizerGuardAsBarrierGuard extends DataFlow::BarrierGuard { SanitizerGuard guardImpl; SanitizerGuardAsBarrierGuard() { this = guardImpl } @@ -63,6 +70,15 @@ module TaintedPath { PathAsSink() { this = any(FileSystemAccess fsa).getAPathArgument() } } + /** + * A numeric- or boolean-typed node, considered a sanitizer for path traversal. + */ + class NumericOrBooleanSanitizer extends Sanitizer { + NumericOrBooleanSanitizer() { + this.getType() instanceof NumericType or this.getType() instanceof BoolType + } + } + /** * A call to `filepath.Rel`, considered as a sanitizer for path traversal. */ diff --git a/go/ql/lib/semmle/go/security/UnsafeUnzipSymlink.qll b/go/ql/lib/semmle/go/security/UnsafeUnzipSymlink.qll index 1c9de66d720..976b3bc1c0e 100644 --- a/go/ql/lib/semmle/go/security/UnsafeUnzipSymlink.qll +++ b/go/ql/lib/semmle/go/security/UnsafeUnzipSymlink.qll @@ -28,7 +28,7 @@ module UnsafeUnzipSymlink { node instanceof EvalSymlinksInvalidator } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof EvalSymlinksInvalidatorGuard } } @@ -59,7 +59,7 @@ module UnsafeUnzipSymlink { node instanceof SymlinkSanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SymlinkSanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll b/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll index 9e257745da0..901366fe1b9 100644 --- a/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll +++ b/go/ql/lib/semmle/go/security/UnsafeUnzipSymlinkCustomizations.qll @@ -37,12 +37,14 @@ module UnsafeUnzipSymlink { abstract class EvalSymlinksInvalidator extends DataFlow::Node { } /** + * DEPRECATED: Use `EvalSymlinksInvalidator` instead. + * * A sanitizer guard that prevents reaching an `EvalSymlinksSink`. * * This is called an invalidator instead of a sanitizer because reaching a EvalSymlinksSink * is a good thing from a security perspective. */ - abstract class EvalSymlinksInvalidatorGuard extends DataFlow::BarrierGuard { } + abstract deprecated class EvalSymlinksInvalidatorGuard extends DataFlow::BarrierGuard { } /** * A sanitizer for an unsafe symbolic-link unzip vulnerability. @@ -54,13 +56,15 @@ module UnsafeUnzipSymlink { abstract class SymlinkSanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `SymlinkSanitizer` instead. + * * A sanitizer guard for an unsafe symbolic-link unzip vulnerability. * * Extend this to mark a particular path as safe for use in an `os.Symlink` or similar call. * To exclude a source from the query entirely if it reaches a particular node, extend * `EvalSymlinksSink` instead. */ - abstract class SymlinkSanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SymlinkSanitizerGuard extends DataFlow::BarrierGuard { } /** A file name from a zip or tar entry, as a source for unsafe unzipping of symlinks. */ class FileNameSource extends FilenameWithSymlinks, DataFlow::FieldReadNode { diff --git a/go/ql/lib/semmle/go/security/XPathInjection.qll b/go/ql/lib/semmle/go/security/XPathInjection.qll index dedaa16575f..c158a95442e 100644 --- a/go/ql/lib/semmle/go/security/XPathInjection.qll +++ b/go/ql/lib/semmle/go/security/XPathInjection.qll @@ -28,7 +28,7 @@ module XPathInjection { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll b/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll index 1164c4c9761..d16c6cc1312 100644 --- a/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll +++ b/go/ql/lib/semmle/go/security/XPathInjectionCustomizations.qll @@ -25,9 +25,11 @@ module XPathInjection { abstract class Sanitizer extends DataFlow::ExprNode { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for untrusted user input used in an XPath expression. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** A source of untrusted data, used in an XPath expression. */ class UntrustedFlowAsSource extends Source { diff --git a/go/ql/lib/semmle/go/security/Xss.qll b/go/ql/lib/semmle/go/security/Xss.qll index 0d1e3cd5ed7..234007e4390 100644 --- a/go/ql/lib/semmle/go/security/Xss.qll +++ b/go/ql/lib/semmle/go/security/Xss.qll @@ -31,8 +31,12 @@ module SharedXss { /** A sanitizer for XSS vulnerabilities. */ abstract class Sanitizer extends DataFlow::Node { } - /** A sanitizer guard for XSS vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + /** + * DEPRECATED: Use `Sanitizer` instead. + * + * A sanitizer guard for XSS vulnerabilities. + */ + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** * An expression that is sent as part of an HTTP response body, considered as an diff --git a/go/ql/lib/semmle/go/security/ZipSlip.qll b/go/ql/lib/semmle/go/security/ZipSlip.qll index d17e7aba8c4..3b8ed8e359d 100644 --- a/go/ql/lib/semmle/go/security/ZipSlip.qll +++ b/go/ql/lib/semmle/go/security/ZipSlip.qll @@ -26,7 +26,7 @@ module ZipSlip { node instanceof Sanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof SanitizerGuard } } diff --git a/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll b/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll index 6a4e17d9860..da2c25aae28 100644 --- a/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll +++ b/go/ql/lib/semmle/go/security/ZipSlipCustomizations.qll @@ -28,9 +28,11 @@ module ZipSlip { abstract class Sanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `Sanitizer` instead. + * * A sanitizer guard for zip-slip vulnerabilities. */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } + abstract deprecated class SanitizerGuard extends DataFlow::BarrierGuard { } /** * A tar file header, as a source for zip slip. @@ -107,6 +109,17 @@ module ZipSlip { ) } + private predicate taintedPathSanitizerGuardAsBacktrackingSanitizerGuard( + DataFlow::Node g, Expr e, boolean branch + ) { + exists(DataFlow::Node source, DataFlow::Node checked | + taintedPathGuardChecks(g, checked, branch) and + taintFlowsToCheckedNode(source, checked) + | + e = source.asExpr() + ) + } + /** * A sanitizer guard for zip-slip vulnerabilities which backtracks to sanitize expressions * that locally flow into a guarded expression. For example, an ordinary sanitizer guard @@ -120,18 +133,10 @@ module ZipSlip { * (e.g. `hdr.Filename` to `hdr`), increasing the chances that a future reference to `hdr.Filename` * will also be regarded as clean (though SSA catches some cases of this). */ - class TaintedPathSanitizerGuardAsBacktrackingSanitizerGuard extends SanitizerGuard { - TaintedPath::SanitizerGuard taintedPathGuard; - - TaintedPathSanitizerGuardAsBacktrackingSanitizerGuard() { this = taintedPathGuard } - - override predicate checks(Expr e, boolean branch) { - exists(DataFlow::Node source, DataFlow::Node checked | - taintedPathGuardChecks(taintedPathGuard, checked, branch) and - taintFlowsToCheckedNode(source, checked) - | - e = source.asExpr() - ) + class TaintedPathSanitizerGuardAsBacktrackingSanitizerGuard extends Sanitizer { + TaintedPathSanitizerGuardAsBacktrackingSanitizerGuard() { + this = + DataFlow::BarrierGuard::getABarrierNode() } } } diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index a7fea1aae53..c981e074fad 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.2.2 + +## 0.2.1 + +## 0.2.0 + +## 0.1.4 + ## 0.1.3 ## 0.1.2 diff --git a/go/ql/src/InconsistentCode/WrappedErrorAlwaysNil.ql b/go/ql/src/InconsistentCode/WrappedErrorAlwaysNil.ql index ebc11284cd9..c846ef16303 100644 --- a/go/ql/src/InconsistentCode/WrappedErrorAlwaysNil.ql +++ b/go/ql/src/InconsistentCode/WrappedErrorAlwaysNil.ql @@ -18,19 +18,15 @@ string packagePath() { result = package("github.com/pkg/errors", "") } /** * An equality test which guarantees that an expression is always `nil`. */ -class NilTestGuard extends DataFlow::BarrierGuard, DataFlow::EqualityTestNode { - DataFlow::Node otherNode; - - NilTestGuard() { - this.getAnOperand() = Builtin::nil().getARead() and - otherNode = this.getAnOperand() and - not otherNode = Builtin::nil().getARead() - } - - override predicate checks(Expr e, boolean outcome) { +predicate nilTestGuard(DataFlow::Node g, Expr e, boolean outcome) { + exists(DataFlow::EqualityTestNode eq, DataFlow::Node otherNode | + g = eq and + eq.getAnOperand() = Builtin::nil().getARead() and + otherNode = eq.getAnOperand() and + not otherNode = Builtin::nil().getARead() and e = otherNode.asExpr() and - outcome = this.getPolarity() - } + outcome = eq.getPolarity() + ) } /** Gets a use of a local variable that has the value `nil`. */ @@ -63,6 +59,6 @@ where // if ok2, _ := f2(input); !ok2 { // return errors.Wrap(err, "") // } - n = any(NilTestGuard ntg).getAGuardedNode() + n = DataFlow::BarrierGuard::getABarrierNode() ) select n, "The first argument to 'errors.Wrap' is always nil" diff --git a/go/ql/src/Security/CWE-326/InsufficientKeySize.ql b/go/ql/src/Security/CWE-326/InsufficientKeySize.ql index 4f8be78e663..038a42b4971 100644 --- a/go/ql/src/Security/CWE-326/InsufficientKeySize.ql +++ b/go/ql/src/Security/CWE-326/InsufficientKeySize.ql @@ -28,27 +28,25 @@ class RsaKeyTrackingConfiguration extends DataFlow::Configuration { ) } - override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - guard instanceof ComparisonBarrierGuard + override predicate isBarrier(DataFlow::Node node) { + node = DataFlow::BarrierGuard::getABarrierNode() } } /** - * A comparison which guarantees that an expression is at least 2048, + * Holds if `g` is a comparison which guarantees that `e` is at least 2048 on `branch`, * considered as a barrier guard for key sizes. */ -class ComparisonBarrierGuard extends DataFlow::BarrierGuard instanceof DataFlow::RelationalComparisonNode { - override predicate checks(Expr e, boolean branch) { - exists(DataFlow::Node lesser, DataFlow::Node greater, int bias | - super.leq(branch, lesser, greater, bias) - | - // Force join order: find comparisons checking x >= 2048, then take the global value - // number of x. Otherwise this can be realised by starting from all pairs of matching value - // numbers, which can be huge. - pragma[only_bind_into](globalValueNumber(DataFlow::exprNode(e))) = globalValueNumber(greater) and - lesser.getIntValue() - bias >= 2048 - ) - } +predicate comparisonBarrierGuard(DataFlow::Node g, Expr e, boolean branch) { + exists(DataFlow::Node lesser, DataFlow::Node greater, int bias | + g.(DataFlow::RelationalComparisonNode).leq(branch, lesser, greater, bias) + | + // Force join order: find comparisons checking x >= 2048, then take the global value + // number of x. Otherwise this can be realised by starting from all pairs of matching value + // numbers, which can be huge. + pragma[only_bind_into](globalValueNumber(DataFlow::exprNode(e))) = globalValueNumber(greater) and + lesser.getIntValue() - bias >= 2048 + ) } from RsaKeyTrackingConfiguration cfg, DataFlow::PathNode source, DataFlow::PathNode sink diff --git a/go/ql/src/change-notes/2022-08-02-path-injection-sanitizer.md b/go/ql/src/change-notes/2022-08-02-path-injection-sanitizer.md new file mode 100644 index 00000000000..1c45e8d14e5 --- /dev/null +++ b/go/ql/src/change-notes/2022-08-02-path-injection-sanitizer.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The query `go/path-injection` no longer considers user-controlled numeric or boolean-typed data as potentially dangerous. diff --git a/go/ql/src/change-notes/released/0.1.4.md b/go/ql/src/change-notes/released/0.1.4.md new file mode 100644 index 00000000000..49899666aec --- /dev/null +++ b/go/ql/src/change-notes/released/0.1.4.md @@ -0,0 +1 @@ +## 0.1.4 diff --git a/go/ql/src/change-notes/released/0.2.0.md b/go/ql/src/change-notes/released/0.2.0.md new file mode 100644 index 00000000000..79a5f33514f --- /dev/null +++ b/go/ql/src/change-notes/released/0.2.0.md @@ -0,0 +1 @@ +## 0.2.0 diff --git a/go/ql/src/change-notes/released/0.2.1.md b/go/ql/src/change-notes/released/0.2.1.md new file mode 100644 index 00000000000..c260de2a9ee --- /dev/null +++ b/go/ql/src/change-notes/released/0.2.1.md @@ -0,0 +1 @@ +## 0.2.1 diff --git a/go/ql/src/change-notes/released/0.2.2.md b/go/ql/src/change-notes/released/0.2.2.md new file mode 100644 index 00000000000..fc31cbd3d6f --- /dev/null +++ b/go/ql/src/change-notes/released/0.2.2.md @@ -0,0 +1 @@ +## 0.2.2 diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index b79d8f9d00a..16a06790aa8 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.3 +lastReleaseVersion: 0.2.2 diff --git a/go/ql/lib/definitions.ql b/go/ql/src/definitions.ql similarity index 100% rename from go/ql/lib/definitions.ql rename to go/ql/src/definitions.ql diff --git a/go/ql/src/experimental/CWE-321/HardcodedKeysLib.qll b/go/ql/src/experimental/CWE-321/HardcodedKeysLib.qll index 2eef4108bf6..5dc65a15098 100644 --- a/go/ql/src/experimental/CWE-321/HardcodedKeysLib.qll +++ b/go/ql/src/experimental/CWE-321/HardcodedKeysLib.qll @@ -29,11 +29,6 @@ module HardcodedKeys { */ abstract class Sanitizer extends DataFlow::Node { } - /** - * A sanitizer guard for JWT token signing vulnerabilities. - */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } - private predicate isTestCode(Expr e) { e.getFile().getAbsolutePath().toLowerCase().matches("%test%") and not e.getFile().getAbsolutePath().toLowerCase().matches("%ql/test%") @@ -315,9 +310,5 @@ module HardcodedKeys { override predicate isSink(DataFlow::Node sink) { sink instanceof Sink } override predicate isSanitizer(DataFlow::Node sanitizer) { sanitizer instanceof Sanitizer } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof SanitizerGuard - } } } diff --git a/go/ql/src/experimental/CWE-369/DivideByZero.ql b/go/ql/src/experimental/CWE-369/DivideByZero.ql index 5b4518b1c6e..8aa12f7f66e 100644 --- a/go/ql/src/experimental/CWE-369/DivideByZero.ql +++ b/go/ql/src/experimental/CWE-369/DivideByZero.ql @@ -13,25 +13,18 @@ import DataFlow::PathGraph import semmle.go.dataflow.internal.TaintTrackingUtil /** - * A barrier-guard, which represents comparison and equality with zero. + * Holds if `g` is a barrier-guard which checks `e` is nonzero on `branch`. */ -class DivideByZeroSanitizerGuard extends DataFlow::BarrierGuard { - DivideByZeroSanitizerGuard() { - this.(DataFlow::EqualityTestNode).getAnOperand().getNumericValue() = 0 or - this.(DataFlow::RelationalComparisonNode).getAnOperand().getNumericValue() = 0 - } - - override predicate checks(Expr e, boolean branch) { - exists(DataFlow::Node zero, DataFlow::Node checked | - zero.getNumericValue() = 0 and - e = checked.asExpr() and - checked.getType().getUnderlyingType() instanceof IntegerType and - ( - this.(DataFlow::EqualityTestNode).eq(branch.booleanNot(), checked, zero) or - this.(DataFlow::RelationalComparisonNode).leq(branch.booleanNot(), checked, zero, 0) - ) +predicate divideByZeroSanitizerGuard(DataFlow::Node g, Expr e, boolean branch) { + exists(DataFlow::Node zero, DataFlow::Node checked | + zero.getNumericValue() = 0 and + e = checked.asExpr() and + checked.getType().getUnderlyingType() instanceof IntegerType and + ( + g.(DataFlow::EqualityTestNode).eq(branch.booleanNot(), checked, zero) or + g.(DataFlow::RelationalComparisonNode).leq(branch.booleanNot(), checked, zero, 0) ) - } + ) } /** @@ -50,8 +43,8 @@ class DivideByZeroCheckConfig extends TaintTracking::Configuration { ) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof DivideByZeroSanitizerGuard + override predicate isSanitizer(DataFlow::Node node) { + node = DataFlow::BarrierGuard::getABarrierNode() } override predicate isSink(DataFlow::Node sink) { diff --git a/go/ql/src/experimental/CWE-918/SSRF.qll b/go/ql/src/experimental/CWE-918/SSRF.qll index 4d1d0ebe2cb..b7a408902d0 100644 --- a/go/ql/src/experimental/CWE-918/SSRF.qll +++ b/go/ql/src/experimental/CWE-918/SSRF.qll @@ -42,10 +42,6 @@ module ServerSideRequestForgery { super.isSanitizerOut(node) or node instanceof SanitizerEdge } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - super.isSanitizerGuard(guard) or guard instanceof SanitizerGuard - } } /** A data flow source for request forgery vulnerabilities. */ @@ -69,11 +65,6 @@ module ServerSideRequestForgery { /** An outgoing sanitizer edge for request forgery vulnerabilities. */ abstract class SanitizerEdge extends DataFlow::Node { } - /** - * A sanitizer guard for request forgery vulnerabilities. - */ - abstract class SanitizerGuard extends DataFlow::BarrierGuard { } - /** * An user controlled input, considered as a flow source for request forgery. */ @@ -118,22 +109,25 @@ module ServerSideRequestForgery { * * This is overapproximate: we do not attempt to reason about the correctness of the regexp. */ - class RegexpCheckAsBarrierGuard extends RegexpCheck, SanitizerGuard { } + class RegexpCheckAsBarrierGuard extends RegexpCheckBarrier, Sanitizer { } + + private predicate equalityAsSanitizerGuard(DataFlow::Node g, Expr e, boolean outcome) { + exists(DataFlow::Node url, DataFlow::EqualityTestNode eq | + g = eq and + exists(eq.getAnOperand().getStringValue()) and + url = eq.getAnOperand() and + e = url.asExpr() and + outcome = eq.getPolarity() + ) + } /** * An equality check comparing a data-flow node against a constant string, considered as * a barrier guard for sanitizing untrusted URLs. */ - class EqualityAsSanitizerGuard extends SanitizerGuard, DataFlow::EqualityTestNode { - DataFlow::Node url; - + class EqualityAsSanitizerGuard extends Sanitizer { EqualityAsSanitizerGuard() { - exists(this.getAnOperand().getStringValue()) and - url = this.getAnOperand() - } - - override predicate checks(Expr e, boolean outcome) { - e = url.asExpr() and outcome = this.getPolarity() + this = DataFlow::BarrierGuard::getABarrierNode() } } @@ -158,7 +152,5 @@ module ServerSideRequestForgery { * The method Var of package validator is a sanitizer guard only if the check * of the error binding exists, and the tag to check is one of "alpha", "alphanum", "alphaunicode", "alphanumunicode", "number", "numeric". */ - class ValidatorAsSanitizer extends SanitizerGuard instanceof ValidatorVarCheck { - override predicate checks(Expr e, boolean branch) { this.checks(e, branch) } - } + class ValidatorAsSanitizer extends Sanitizer, ValidatorVarCheckBarrier { } } diff --git a/go/ql/src/experimental/CWE-918/validator.qll b/go/ql/src/experimental/CWE-918/validator.qll index b813e50b9bf..5b9840b8494 100644 --- a/go/ql/src/experimental/CWE-918/validator.qll +++ b/go/ql/src/experimental/CWE-918/validator.qll @@ -69,20 +69,25 @@ class AlphanumericStructFieldRead extends DataFlow::Node { class CheckedAlphanumericStructFieldRead extends AlphanumericStructFieldRead { CheckedAlphanumericStructFieldRead() { exists(StructValidationFunction guard, SelectorExpr selector | - guard.getAGuardedNode().asExpr() = selector.getBase() and + DataFlow::BarrierGuard::getABarrierNodeForGuard(guard).asExpr() = + selector.getBase() and selector = this.asExpr() and this.getKey() = guard.getValidationKindKey() ) } } +private predicate structValidationFunction(DataFlow::Node g, Expr e, boolean branch) { + g.(StructValidationFunction).checks(e, branch) +} + /** * A function that validates a struct, checking that fields conform to restrictions given as a tag. * * The Gin `Context.Bind` family of functions apply checks according to a `binding:` tag, and the * Go-Playground Validator checks fields that have a `validate:` tag. */ -private class StructValidationFunction extends DataFlow::BarrierGuard, DataFlow::EqualityTestNode { +private class StructValidationFunction extends DataFlow::EqualityTestNode { Expr checked; boolean safeOutcome; string validationKindKey; @@ -113,7 +118,7 @@ private class StructValidationFunction extends DataFlow::BarrierGuard, DataFlow: ) } - override predicate checks(Expr e, boolean branch) { e = checked and branch = safeOutcome } + predicate checks(Expr e, boolean branch) { e = checked and branch = safeOutcome } /** * Returns the struct tag key from which this validation function draws its validation kind. @@ -133,27 +138,25 @@ private Expr dereference(DataFlow::Node nd) { nd.asExpr() = result } +private predicate validatorVarCheck(DataFlow::Node g, Expr e, boolean outcome) { + exists(DataFlow::CallNode callToValidator, Method validatorMethod, DataFlow::Node resultErr | + g instanceof DataFlow::EqualityTestNode and + validatorMethod.hasQualifiedName("github.com/go-playground/validator", "Validate", "Var") and + callToValidator = validatorMethod.getACall() and + isAlphanumericValidationKind(callToValidator.getArgument(1).getStringValue()) and + resultErr = callToValidator.getResult().getASuccessor*() and + nilProperty().checkOn(g, outcome, resultErr) and + callToValidator.getArgument(0).asExpr() = e + ) +} + /** * A validation performed by package `validator`'s method `Var` to check that an expression is * alphanumeric (see `isAlphanumericValidationKind` for more information) sanitizes guarded uses * of the same variable. */ -class ValidatorVarCheck extends DataFlow::BarrierGuard, DataFlow::EqualityTestNode { - DataFlow::CallNode callToValidator; - boolean outcome; - - ValidatorVarCheck() { - exists(Method validatorMethod, DataFlow::Node resultErr | - validatorMethod.hasQualifiedName("github.com/go-playground/validator", "Validate", "Var") and - callToValidator = validatorMethod.getACall() and - isAlphanumericValidationKind(callToValidator.getArgument(1).getStringValue()) and - resultErr = callToValidator.getResult().getASuccessor*() and - nilProperty().checkOn(this, outcome, resultErr) - ) - } - - override predicate checks(Expr e, boolean branch) { - callToValidator.getArgument(0).asExpr() = e and - branch = outcome +class ValidatorVarCheckBarrier extends DataFlow::Node { + ValidatorVarCheckBarrier() { + this = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 96fa44d2339..b19c723b9c7 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 0.1.4-dev +version: 0.2.3-dev groups: - go - queries @@ -8,4 +8,4 @@ extractor: go defaultSuiteFile: codeql-suites/go-code-scanning.qls dependencies: codeql/go-all: "*" - codeql/suite-helpers: ~0.0.2 + codeql/suite-helpers: "*" diff --git a/go/ql/test/TestUtilities/InlineExpectationsTest.qll b/go/ql/test/TestUtilities/InlineExpectationsTest.qll index 3891fcf13a1..4b4a31d6950 100644 --- a/go/ql/test/TestUtilities/InlineExpectationsTest.qll +++ b/go/ql/test/TestUtilities/InlineExpectationsTest.qll @@ -239,12 +239,24 @@ private string getColumnString(TColumn column) { /** * RegEx pattern to match a single expected result, not including the leading `$`. It consists of one or - * more comma-separated tags containing only letters, digits, `-` and `_` (note that the first character - * must not be a digit), optionally followed by `=` and the expected value. + * more comma-separated tags optionally followed by `=` and the expected value. + * + * Tags must be only letters, digits, `-` and `_` (note that the first character + * must not be a digit), but can contain anything enclosed in a single set of + * square brackets. + * + * Examples: + * - `tag` + * - `tag=value` + * - `tag,tag2=value` + * - `tag[foo bar]=value` + * + * Not allowed: + * - `tag[[[foo bar]` */ private string expectationPattern() { exists(string tag, string tags, string value | - tag = "[A-Za-z-_][A-Za-z-_0-9]*" and + tag = "[A-Za-z-_](?:[A-Za-z-_0-9]|\\[[^\\]\\]]*\\])*" and tags = "((?:" + tag + ")(?:\\s*,\\s*" + tag + ")*)" and // In Python, we allow both `"` and `'` for strings, as well as the prefixes `bru`. // For example, `b"foo"`. diff --git a/go/ql/test/library-tests/semmle/go/dataflow/GuardingFunctions/test.ql b/go/ql/test/library-tests/semmle/go/dataflow/GuardingFunctions/test.ql index 627ac254ec9..2b11d284076 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/GuardingFunctions/test.ql +++ b/go/ql/test/library-tests/semmle/go/dataflow/GuardingFunctions/test.ql @@ -1,12 +1,10 @@ import go import TestUtilities.InlineExpectationsTest -class IsBad extends DataFlow::BarrierGuard, DataFlow::CallNode { - IsBad() { this.getTarget().getName() = "isBad" } - - override predicate checks(Expr e, boolean branch) { - e = this.getAnArgument().asExpr() and branch = false - } +predicate isBad(DataFlow::Node g, Expr e, boolean branch) { + g.(DataFlow::CallNode).getTarget().getName() = "isBad" and + e = g.(DataFlow::CallNode).getAnArgument().asExpr() and + branch = false } class TestConfig extends DataFlow::Configuration { @@ -20,7 +18,9 @@ class TestConfig extends DataFlow::Configuration { sink = any(DataFlow::CallNode c | c.getTarget().getName() = "sink").getAnArgument() } - override predicate isBarrierGuard(DataFlow::BarrierGuard bg) { bg instanceof IsBad } + override predicate isBarrier(DataFlow::Node node) { + node = DataFlow::BarrierGuard::getABarrierNode() + } } class DataFlowTest extends InlineExpectationsTest { diff --git a/java/documentation/library-coverage/coverage.csv b/java/documentation/library-coverage/coverage.csv index b9d52d9d75e..598035e03c3 100644 --- a/java/documentation/library-coverage/coverage.csv +++ b/java/documentation/library-coverage/coverage.csv @@ -1,121 +1,121 @@ -package,sink,source,summary,sink:bean-validation,sink:create-file,sink:groovy,sink:header-splitting,sink:information-leak,sink:intent-start,sink:jdbc-url,sink:jexl,sink:jndi-injection,sink:ldap,sink:logging,sink:mvel,sink:ognl-injection,sink:open-url,sink:pending-intent-sent,sink:regex-use[-1],sink:regex-use[0],sink:regex-use[],sink:regex-use[f-1],sink:regex-use[f1],sink:regex-use[f],sink:set-hostname-verifier,sink:sql,sink:url-open-stream,sink:url-redirect,sink:write-file,sink:xpath,sink:xslt,sink:xss,source:android-widget,source:contentprovider,source:remote,summary:taint,summary:value -android.app,16,,103,,,,,,7,,,,,,,,,9,,,,,,,,,,,,,,,,,,18,85 -android.content,24,27,108,,,,,,16,,,,,,,,,,,,,,,,,8,,,,,,,,27,,31,77 -android.database,59,,30,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,30, -android.net,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,15 -android.os,,,122,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,41,81 -android.util,6,16,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,16,, -android.webkit,3,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,2,, -android.widget,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1, -androidx.slice,2,5,88,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,5,,27,61 -cn.hutool.core.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.esotericsoftware.kryo.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.esotericsoftware.kryo5.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.fasterxml.jackson.core,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -com.fasterxml.jackson.databind,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, -com.google.common.base,4,,85,,,,,,,,,,,,,,,,,3,1,,,,,,,,,,,,,,,62,23 -com.google.common.cache,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17 -com.google.common.collect,,,553,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,551 -com.google.common.flogger,29,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,,, -com.google.common.io,6,,73,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,72,1 -com.opensymphony.xwork2.ognl,3,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,, -com.rabbitmq.client,,21,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,7, -com.unboundid.ldap.sdk,17,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,, -com.zaxxer.hikari,2,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,, -flexjson,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 -groovy.lang,26,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -groovy.util,5,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -jakarta.faces.context,2,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,7,, -jakarta.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 -jakarta.ws.rs.client,1,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,, -jakarta.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, -jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,94,55 -java.beans,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -java.io,37,,39,,15,,,,,,,,,,,,,,,,,,,,,,,,22,,,,,,,39, -java.lang,13,,58,,,,,,,,,,,8,,,,,4,,,1,,,,,,,,,,,,,,46,12 -java.net,10,3,7,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,3,7, -java.nio,15,,6,,13,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,6, -java.sql,11,,,,,,,,,4,,,,,,,,,,,,,,,,7,,,,,,,,,,, -java.util,44,,438,,,,,,,,,,,34,,,,,,5,2,,1,2,,,,,,,,,,,,24,414 -javax.faces.context,2,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,7,, -javax.jms,,9,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,57, -javax.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 -javax.management.remote,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,, -javax.naming,7,,,,,,,,,,,6,1,,,,,,,,,,,,,,,,,,,,,,,, -javax.net.ssl,2,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,, -javax.script,1,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,, -javax.servlet,4,21,2,,,,3,1,,,,,,,,,,,,,,,,,,,,,,,,,,,21,2, -javax.validation,1,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, -javax.ws.rs.client,1,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,, -javax.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, -javax.ws.rs.core,3,,149,,,,1,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,94,55 -javax.xml.transform,1,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,6, -javax.xml.xpath,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,, -jodd.json,,,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10 -kotlin.jvm.internal,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 -net.sf.saxon.s9api,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,, -ognl,6,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,, -okhttp3,2,,47,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,22,25 -org.apache.commons.codec,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, -org.apache.commons.collections,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 -org.apache.commons.collections4,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 -org.apache.commons.io,104,,561,,89,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,547,14 -org.apache.commons.jexl2,15,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.jexl3,15,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.lang3,,,424,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,293,131 -org.apache.commons.logging,6,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.ognl,6,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,, -org.apache.commons.text,,,272,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,220,52 -org.apache.directory.ldap.client.api,1,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,, -org.apache.hc.core5.function,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.hc.core5.http,1,2,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,2,39, -org.apache.hc.core5.net,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2, -org.apache.hc.core5.util,,,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18,6 -org.apache.http,27,3,70,,,,,,,,,,,,,,25,,,,,,,,,,,,,,,2,,,3,62,8 -org.apache.ibatis.jdbc,6,,57,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,57, -org.apache.log4j,11,,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,, -org.apache.logging.log4j,359,,8,,,,,,,,,,,359,,,,,,,,,,,,,,,,,,,,,,4,4 -org.apache.shiro.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.apache.shiro.jndi,1,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.codehaus.groovy.control,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.dom4j,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,, -org.hibernate,7,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,, -org.jboss.logging,324,,,,,,,,,,,,,324,,,,,,,,,,,,,,,,,,,,,,, -org.jdbi.v3.core,6,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.jooq,1,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,, -org.json,,,236,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,198,38 -org.mvel2,16,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,,, -org.scijava.log,13,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,, -org.slf4j,55,,6,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,2,4 -org.springframework.beans,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30 -org.springframework.boot.jdbc,1,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.cache,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13 -org.springframework.context,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -org.springframework.http,14,,70,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,,,,,60,10 -org.springframework.jdbc.core,10,,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,, -org.springframework.jdbc.datasource,4,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.jdbc.object,9,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,, -org.springframework.jndi,1,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.ldap,47,,,,,,,,,,,33,14,,,,,,,,,,,,,,,,,,,,,,,, -org.springframework.security.web.savedrequest,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,, -org.springframework.ui,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32 -org.springframework.util,,,139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,87,52 -org.springframework.validation,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13, -org.springframework.web.client,13,3,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,3,, -org.springframework.web.context.request,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,, -org.springframework.web.multipart,,12,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,13, -org.springframework.web.reactive.function.client,2,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,, -org.springframework.web.util,,,163,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,138,25 -org.xml.sax,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, -org.xmlpull.v1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,, -play.mvc,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,, -ratpack.core.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -ratpack.core.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, -ratpack.core.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, -ratpack.exec,,,48,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48 -ratpack.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, -ratpack.func,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 -ratpack.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, -ratpack.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, -ratpack.util,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 -retrofit2,1,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,, +package,sink,source,summary,sink:bean-validation,sink:create-file,sink:groovy,sink:header-splitting,sink:information-leak,sink:intent-start,sink:jdbc-url,sink:jexl,sink:jndi-injection,sink:ldap,sink:logging,sink:mvel,sink:ognl-injection,sink:open-url,sink:pending-intent-sent,sink:regex-use[-1],sink:regex-use[0],sink:regex-use[],sink:regex-use[f-1],sink:regex-use[f1],sink:regex-use[f],sink:set-hostname-verifier,sink:sql,sink:url-open-stream,sink:url-redirect,sink:write-file,sink:xpath,sink:xslt,sink:xss,source:android-external-storage-dir,source:android-widget,source:contentprovider,source:remote,summary:taint,summary:value +android.app,16,,103,,,,,,7,,,,,,,,,9,,,,,,,,,,,,,,,,,,,18,85 +android.content,24,31,108,,,,,,16,,,,,,,,,,,,,,,,,8,,,,,,,4,,27,,31,77 +android.database,59,,30,,,,,,,,,,,,,,,,,,,,,,,59,,,,,,,,,,,30, +android.net,,,60,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,45,15 +android.os,,2,122,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,41,81 +android.util,6,16,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,16,, +android.webkit,3,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,2,, +android.widget,,1,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,1, +androidx.slice,2,5,88,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,5,,27,61 +cn.hutool.core.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.esotericsoftware.kryo.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.esotericsoftware.kryo5.io,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.fasterxml.jackson.core,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +com.fasterxml.jackson.databind,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, +com.google.common.base,4,,85,,,,,,,,,,,,,,,,,3,1,,,,,,,,,,,,,,,,62,23 +com.google.common.cache,,,17,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17 +com.google.common.collect,,,553,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,551 +com.google.common.flogger,29,,,,,,,,,,,,,29,,,,,,,,,,,,,,,,,,,,,,,, +com.google.common.io,6,,73,,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,72,1 +com.opensymphony.xwork2.ognl,3,,,,,,,,,,,,,,,3,,,,,,,,,,,,,,,,,,,,,, +com.rabbitmq.client,,21,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,7, +com.unboundid.ldap.sdk,17,,,,,,,,,,,,17,,,,,,,,,,,,,,,,,,,,,,,,, +com.zaxxer.hikari,2,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,, +flexjson,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 +groovy.lang,26,,,,,26,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +groovy.util,5,,,,,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +jakarta.faces.context,2,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,7,, +jakarta.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 +jakarta.ws.rs.client,1,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,, +jakarta.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, +jakarta.ws.rs.core,2,,149,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55 +java.beans,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +java.io,37,,39,,15,,,,,,,,,,,,,,,,,,,,,,,,22,,,,,,,,39, +java.lang,13,,58,,,,,,,,,,,8,,,,,4,,,1,,,,,,,,,,,,,,,46,12 +java.net,10,3,7,,,,,,,,,,,,,,10,,,,,,,,,,,,,,,,,,,3,7, +java.nio,15,,6,,13,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,6, +java.sql,11,,,,,,,,,4,,,,,,,,,,,,,,,,7,,,,,,,,,,,, +java.util,44,,458,,,,,,,,,,,34,,,,,,5,2,,1,2,,,,,,,,,,,,,36,422 +javax.faces.context,2,7,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2,,,,7,, +javax.jms,,9,57,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,57, +javax.json,,,123,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,100,23 +javax.management.remote,2,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,,,,,,, +javax.naming,7,,,,,,,,,,,6,1,,,,,,,,,,,,,,,,,,,,,,,,, +javax.net.ssl,2,,,,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,,,,, +javax.script,1,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,, +javax.servlet,4,21,2,,,,3,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,21,2, +javax.validation,1,1,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,, +javax.ws.rs.client,1,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,, +javax.ws.rs.container,,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,9,, +javax.ws.rs.core,3,,149,,,,1,,,,,,,,,,,,,,,,,,,,,2,,,,,,,,,94,55 +javax.xml.transform,1,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,6, +javax.xml.xpath,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,,,,,,,, +jodd.json,,,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10 +kotlin.jvm.internal,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 +net.sf.saxon.s9api,5,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,5,,,,,,, +ognl,6,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,, +okhttp3,2,,47,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,22,25 +org.apache.commons.codec,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6, +org.apache.commons.collections,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 +org.apache.commons.collections4,,,800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,17,783 +org.apache.commons.io,104,,561,,89,,,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,547,14 +org.apache.commons.jexl2,15,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.jexl3,15,,,,,,,,,,15,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.lang3,,,424,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,293,131 +org.apache.commons.logging,6,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.ognl,6,,,,,,,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,, +org.apache.commons.text,,,272,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,220,52 +org.apache.directory.ldap.client.api,1,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.hc.core5.function,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.hc.core5.http,1,2,39,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,2,39, +org.apache.hc.core5.net,,,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2, +org.apache.hc.core5.util,,,24,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,18,6 +org.apache.http,27,3,70,,,,,,,,,,,,,,25,,,,,,,,,,,,,,,2,,,,3,62,8 +org.apache.ibatis.jdbc,6,,57,,,,,,,,,,,,,,,,,,,,,,,6,,,,,,,,,,,57, +org.apache.log4j,11,,,,,,,,,,,,,11,,,,,,,,,,,,,,,,,,,,,,,, +org.apache.logging.log4j,359,,8,,,,,,,,,,,359,,,,,,,,,,,,,,,,,,,,,,,4,4 +org.apache.shiro.codec,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.apache.shiro.jndi,1,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.codehaus.groovy.control,1,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.dom4j,20,,,,,,,,,,,,,,,,,,,,,,,,,,,,,20,,,,,,,, +org.hibernate,7,,,,,,,,,,,,,,,,,,,,,,,,,7,,,,,,,,,,,, +org.jboss.logging,324,,,,,,,,,,,,,324,,,,,,,,,,,,,,,,,,,,,,,, +org.jdbi.v3.core,6,,,,,,,,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.jooq,1,,,,,,,,,,,,,,,,,,,,,,,,,1,,,,,,,,,,,, +org.json,,,236,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,198,38 +org.mvel2,16,,,,,,,,,,,,,,16,,,,,,,,,,,,,,,,,,,,,,, +org.scijava.log,13,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,,,,,, +org.slf4j,55,,6,,,,,,,,,,,55,,,,,,,,,,,,,,,,,,,,,,,2,4 +org.springframework.beans,,,30,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,30 +org.springframework.boot.jdbc,1,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.cache,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13 +org.springframework.context,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +org.springframework.http,14,,70,,,,,,,,,,,,,,14,,,,,,,,,,,,,,,,,,,,60,10 +org.springframework.jdbc.core,10,,,,,,,,,,,,,,,,,,,,,,,,,10,,,,,,,,,,,, +org.springframework.jdbc.datasource,4,,,,,,,,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.jdbc.object,9,,,,,,,,,,,,,,,,,,,,,,,,,9,,,,,,,,,,,, +org.springframework.jndi,1,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.ldap,47,,,,,,,,,,,33,14,,,,,,,,,,,,,,,,,,,,,,,,, +org.springframework.security.web.savedrequest,,6,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,, +org.springframework.ui,,,32,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,32 +org.springframework.util,,,139,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,87,52 +org.springframework.validation,,,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,13, +org.springframework.web.client,13,3,,,,,,,,,,,,,,,13,,,,,,,,,,,,,,,,,,,3,, +org.springframework.web.context.request,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,, +org.springframework.web.multipart,,12,13,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,12,13, +org.springframework.web.reactive.function.client,2,,,,,,,,,,,,,,,,2,,,,,,,,,,,,,,,,,,,,, +org.springframework.web.util,,,163,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,138,25 +org.xml.sax,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1, +org.xmlpull.v1,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3,, +play.mvc,,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,4,, +ratpack.core.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +ratpack.core.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, +ratpack.core.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, +ratpack.exec,,,48,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,48 +ratpack.form,,,3,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,3, +ratpack.func,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 +ratpack.handling,,6,4,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,6,4, +ratpack.http,,10,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,10,10, +ratpack.util,,,35,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,35 +retrofit2,1,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,, diff --git a/java/documentation/library-coverage/coverage.rst b/java/documentation/library-coverage/coverage.rst index cd8995b77d5..06101b6633d 100644 --- a/java/documentation/library-coverage/coverage.rst +++ b/java/documentation/library-coverage/coverage.rst @@ -7,7 +7,7 @@ Java framework & library support :widths: auto Framework / library,Package,Flow sources,Taint & value steps,Sinks (total),`CWE‑022` :sub:`Path injection`,`CWE‑036` :sub:`Path traversal`,`CWE‑079` :sub:`Cross-site scripting`,`CWE‑089` :sub:`SQL injection`,`CWE‑090` :sub:`LDAP injection`,`CWE‑094` :sub:`Code injection`,`CWE‑319` :sub:`Cleartext transmission` - Android,``android.*``,46,424,108,,,3,67,,, + Android,``android.*``,52,424,108,,,3,67,,, `Apache Commons Collections `_,"``org.apache.commons.collections``, ``org.apache.commons.collections4``",,1600,,,,,,,, `Apache Commons IO `_,``org.apache.commons.io``,,561,104,89,,,,,,15 `Apache Commons Lang `_,``org.apache.commons.lang3``,,424,,,,,,,, @@ -15,9 +15,9 @@ Java framework & library support `Apache HttpComponents `_,"``org.apache.hc.core5.*``, ``org.apache.http``",5,136,28,,,3,,,,25 `Google Guava `_,``com.google.common.*``,,728,39,,6,,,,, `JSON-java `_,``org.json``,,236,,,,,,,, - Java Standard Library,``java.*``,3,549,130,28,,,7,,,10 + Java Standard Library,``java.*``,3,569,130,28,,,7,,,10 Java extensions,"``javax.*``, ``jakarta.*``",63,609,32,,,4,,1,1,2 `Spring `_,``org.springframework.*``,29,476,101,,,,19,14,,29 Others,"``androidx.slice``, ``cn.hutool.core.codec``, ``com.esotericsoftware.kryo.io``, ``com.esotericsoftware.kryo5.io``, ``com.fasterxml.jackson.core``, ``com.fasterxml.jackson.databind``, ``com.opensymphony.xwork2.ognl``, ``com.rabbitmq.client``, ``com.unboundid.ldap.sdk``, ``com.zaxxer.hikari``, ``flexjson``, ``groovy.lang``, ``groovy.util``, ``jodd.json``, ``kotlin.jvm.internal``, ``net.sf.saxon.s9api``, ``ognl``, ``okhttp3``, ``org.apache.commons.codec``, ``org.apache.commons.jexl2``, ``org.apache.commons.jexl3``, ``org.apache.commons.logging``, ``org.apache.commons.ognl``, ``org.apache.directory.ldap.client.api``, ``org.apache.ibatis.jdbc``, ``org.apache.log4j``, ``org.apache.logging.log4j``, ``org.apache.shiro.codec``, ``org.apache.shiro.jndi``, ``org.codehaus.groovy.control``, ``org.dom4j``, ``org.hibernate``, ``org.jboss.logging``, ``org.jdbi.v3.core``, ``org.jooq``, ``org.mvel2``, ``org.scijava.log``, ``org.slf4j``, ``org.xml.sax``, ``org.xmlpull.v1``, ``play.mvc``, ``ratpack.core.form``, ``ratpack.core.handling``, ``ratpack.core.http``, ``ratpack.exec``, ``ratpack.form``, ``ratpack.func``, ``ratpack.handling``, ``ratpack.http``, ``ratpack.util``, ``retrofit2``",65,395,932,,,,14,18,,3 - Totals,,211,6410,1474,117,6,10,107,33,1,84 + Totals,,217,6430,1474,117,6,10,107,33,1,84 diff --git a/java/kotlin-extractor/build.gradle b/java/kotlin-extractor/build.gradle index a4bf5748c29..3926962fd3d 100644 --- a/java/kotlin-extractor/build.gradle +++ b/java/kotlin-extractor/build.gradle @@ -35,8 +35,8 @@ sourceSets { "utils/versions/v_1_5_21/*.kt", "utils/versions/v_1_5_31/*.kt", "utils/versions/v_1_6_10/*.kt", - "utils/versions/v_1_7_0-RC/*.kt", - // "utils/versions/v_1_6_20/*.kt", + "utils/versions/v_1_6_20/*.kt", + // "utils/versions/v_1_7_0/*.kt", ] } } diff --git a/java/kotlin-extractor/gradle.properties b/java/kotlin-extractor/gradle.properties index 69e0a36ba4c..16f621c2d74 100644 --- a/java/kotlin-extractor/gradle.properties +++ b/java/kotlin-extractor/gradle.properties @@ -1,5 +1,5 @@ kotlin.code.style=official -kotlinVersion=1.6.20 +kotlinVersion=1.7.0 GROUP=com.github.codeql VERSION_NAME=0.0.1 diff --git a/java/kotlin-extractor/kotlin_plugin_versions.py b/java/kotlin-extractor/kotlin_plugin_versions.py index 52c154b7be3..e84764dbefc 100755 --- a/java/kotlin-extractor/kotlin_plugin_versions.py +++ b/java/kotlin-extractor/kotlin_plugin_versions.py @@ -15,13 +15,13 @@ def is_windows(): return False def version_tuple_to_string(version): - return f'{version[0]}.{version[1]}.{version[2]}' + return f'{version[0]}.{version[1]}.{version[2]}{version[3]}' def version_string_to_tuple(version): - m = re.match(r'([0-9]+)\.([0-9]+)\.([0-9]+)', version) - return tuple([int(m.group(i)) for i in range(1, 4)]) + m = re.match(r'([0-9]+)\.([0-9]+)\.([0-9]+)(.*)', version) + return tuple([int(m.group(i)) for i in range(1, 4)] + [m.group(4)]) -many_versions = [ '1.4.32', '1.5.0', '1.5.10', '1.5.21', '1.5.31', '1.6.10', '1.7.0-RC', '1.6.20' ] +many_versions = [ '1.4.32', '1.5.0', '1.5.10', '1.5.21', '1.5.31', '1.6.10', '1.6.20', '1.7.0' ] many_versions_tuples = [version_string_to_tuple(v) for v in many_versions] diff --git a/java/kotlin-extractor/src/main/kotlin/ExternalDeclExtractor.kt b/java/kotlin-extractor/src/main/kotlin/ExternalDeclExtractor.kt index 5edb16271c1..b1b2823b6b5 100644 --- a/java/kotlin-extractor/src/main/kotlin/ExternalDeclExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/ExternalDeclExtractor.kt @@ -6,9 +6,11 @@ import com.semmle.extractor.java.OdasaOutput import com.semmle.util.data.StringDigestor import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable import org.jetbrains.kotlin.ir.util.isFileClass import org.jetbrains.kotlin.ir.util.packageFqName import org.jetbrains.kotlin.ir.util.parentClassOrNull +import org.jetbrains.kotlin.name.FqName import java.io.File import java.util.ArrayList import java.util.HashSet @@ -16,18 +18,20 @@ import java.util.zip.GZIPOutputStream class ExternalDeclExtractor(val logger: FileLogger, val invocationTrapFile: String, val sourceFilePath: String, val primitiveTypeMapping: PrimitiveTypeMapping, val pluginContext: IrPluginContext, val globalExtensionState: KotlinExtractorGlobalState, val diagnosticTrapWriter: TrapWriter) { - val externalDeclsDone = HashSet() + val declBinaryNames = HashMap() + val externalDeclsDone = HashSet>() val externalDeclWorkList = ArrayList>() val propertySignature = ";property" val fieldSignature = ";field" - fun extractLater(d: IrDeclaration, signature: String): Boolean { + fun extractLater(d: IrDeclarationWithName, signature: String): Boolean { if (d !is IrClass && !isExternalFileClassMember(d)) { logger.errorElement("External declaration is neither a class, nor a top-level declaration", d) return false } - val ret = externalDeclsDone.add(d) + val declBinaryName = declBinaryNames.getOrPut(d) { getIrDeclBinaryName(d) } + val ret = externalDeclsDone.add(Pair(declBinaryName, signature)) if (ret) externalDeclWorkList.add(Pair(d, signature)) return ret } diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt b/java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt index c0a26c66f7e..55e94135fee 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinExtractorExtension.kt @@ -165,7 +165,7 @@ class KotlinExtractorGlobalState { // doesn't have a map as that plugin doesn't generate them. If and when these are used more widely additional maps // should be added here. val syntheticToRealClassMap = HashMap() - val syntheticToRealFunctionMap = HashMap() + val syntheticToRealFunctionMap = HashMap() val syntheticToRealFieldMap = HashMap() } diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt index bfb9818e6e5..4100594ad35 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinFileExtractor.kt @@ -6,6 +6,7 @@ import com.github.codeql.utils.versions.functionN import com.github.codeql.utils.versions.getIrStubFromDescriptor import com.semmle.extractor.java.OdasaOutput import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext +import org.jetbrains.kotlin.backend.common.lower.parents import org.jetbrains.kotlin.backend.common.pop import org.jetbrains.kotlin.builtins.functions.BuiltInFunctionArity import org.jetbrains.kotlin.descriptors.* @@ -41,7 +42,7 @@ open class KotlinFileExtractor( globalExtensionState: KotlinExtractorGlobalState ): KotlinUsesExtractor(logger, tw, dependencyCollector, externalClassExtractor, primitiveTypeMapping, pluginContext, globalExtensionState) { - inline fun with(kind: String, element: IrElement, f: () -> T): T { + private inline fun with(kind: String, element: IrElement, f: () -> T): T { val name = when (element) { is IrFile -> element.name is IrDeclarationWithName -> element.name.asString() @@ -80,12 +81,13 @@ open class KotlinFileExtractor( } } - file.declarations.map { extractDeclaration(it, extractPrivateMembers = true, extractFunctionBodies = true) } + file.declarations.forEach { extractDeclaration(it, extractPrivateMembers = true, extractFunctionBodies = true) } extractStaticInitializer(file, null) CommentExtractor(this, file, tw.fileId).extract() } } + @OptIn(ObsoleteDescriptorBasedAPI::class) private fun isFake(d: IrDeclarationWithVisibility): Boolean { val visibility = d.visibility if (visibility is DelegatedDescriptorVisibility && visibility.delegate == Visibilities.InvisibleFake) { @@ -94,6 +96,9 @@ open class KotlinFileExtractor( if (d.isFakeOverride) { return true } + if ((d as? IrFunction)?.descriptor?.isHiddenToOvercomeSignatureClash == true) { + return true + } return false } @@ -129,7 +134,7 @@ open class KotlinFileExtractor( is IrProperty -> { val parentId = useDeclarationParent(declaration.parent, false)?.cast() if (parentId != null) { - extractProperty(declaration, parentId, extractBackingField = true, extractFunctionBodies = extractFunctionBodies, null, listOf()) + extractProperty(declaration, parentId, extractBackingField = true, extractFunctionBodies = extractFunctionBodies, extractPrivateMembers = extractPrivateMembers, null, listOf()) } Unit } @@ -177,7 +182,7 @@ open class KotlinFileExtractor( } } - fun extractTypeParameter(tp: IrTypeParameter, apparentIndex: Int, javaTypeParameter: JavaTypeParameter?): Label? { + private fun extractTypeParameter(tp: IrTypeParameter, apparentIndex: Int, javaTypeParameter: JavaTypeParameter?): Label? { with("type parameter", tp) { val parentId = getTypeParameterParentLabel(tp) ?: return null val id = tw.getLabelFor(getTypeParameterLabel(tp)) @@ -212,7 +217,7 @@ open class KotlinFileExtractor( } } - fun extractVisibility(elementForLocation: IrElement, id: Label, v: DescriptorVisibility) { + private fun extractVisibility(elementForLocation: IrElement, id: Label, v: DescriptorVisibility) { with("visibility", elementForLocation) { when (v) { DescriptorVisibilities.PRIVATE -> addModifiers(id, "private") @@ -246,7 +251,7 @@ open class KotlinFileExtractor( } } - fun extractClassModifiers(c: IrClass, id: Label) { + private fun extractClassModifiers(c: IrClass, id: Label) { with("class modifiers", c) { when (c.modality) { Modality.FINAL -> addModifiers(id, "final") @@ -310,8 +315,21 @@ open class KotlinFileExtractor( val locId = getLocation(c, argsIncludingOuterClasses) tw.writeHasLocation(id, locId) - // Extract the outer <-> inner class relationship, passing on any type arguments in excess to this class' parameters. - extractEnclosingClass(c, id, locId, argsIncludingOuterClasses?.drop(c.typeParameters.size) ?: listOf()) + // Extract the outer <-> inner class relationship, passing on any type arguments in excess to this class' parameters if this is an inner class. + // For example, in `class Outer { inner class Inner { } }`, `Inner` nests within `Outer` and raw `Inner<>` within `Outer<>`, + // but for a similar non-`inner` (in Java terms, static nested) class both `Inner` and `Inner<>` nest within the unbound type `Outer`. + val useBoundOuterType = (c.isInner || c.isLocal) && (c.parents.map { // Would use `firstNotNullOfOrNull`, but this doesn't exist in Kotlin 1.4 + when(it) { + is IrClass -> when { + it.typeParameters.isNotEmpty() -> true // Type parameters visible to this class -- extract an enclosing bound or raw type. + !(it.isInner || it.isLocal) -> false // No type parameters seen yet, and this is a static class -- extract an enclosing unbound type. + else -> null // No type parameters seen here, but may be visible enclosing type parameters; keep searching. + } + else -> null // Look through enclosing non-class entities (this may need to change) + } + }.firstOrNull { it != null } ?: false) + + extractEnclosingClass(c, id, locId, if (useBoundOuterType) argsIncludingOuterClasses?.drop(c.typeParameters.size) else listOf()) return id } @@ -346,7 +364,7 @@ open class KotlinFileExtractor( if (shouldExtractDecl(it, false)) { when(it) { is IrFunction -> extractFunction(it, id, extractBody = false, extractMethodAndParameterTypeAccesses = false, typeParamSubstitution, argsIncludingOuterClasses) - is IrProperty -> extractProperty(it, id, extractBackingField = false, extractFunctionBodies = false, typeParamSubstitution, argsIncludingOuterClasses) + is IrProperty -> extractProperty(it, id, extractBackingField = false, extractFunctionBodies = false, extractPrivateMembers = false, typeParamSubstitution, argsIncludingOuterClasses) else -> {} } } @@ -367,6 +385,29 @@ open class KotlinFileExtractor( tw.writeHasLocation(stmtId, locId) } + private fun extractObinitFunction(c: IrClass, parentId: Label) { + // add method: + val obinitLabel = getObinitLabel(c) + val obinitId = tw.getLabelFor(obinitLabel) + val returnType = useType(pluginContext.irBuiltIns.unitType, TypeContext.RETURN) + tw.writeMethods(obinitId, "", "()", returnType.javaResult.id, parentId, obinitId) + tw.writeMethodsKotlinType(obinitId, returnType.kotlinResult.id) + + val locId = tw.getLocation(c) + tw.writeHasLocation(obinitId, locId) + + addModifiers(obinitId, "private") + + // add body: + val blockId = tw.getFreshIdLabel() + tw.writeStmts_block(blockId, obinitId, 0, obinitId) + tw.writeHasLocation(blockId, locId) + + extractDeclInitializers(c.declarations, false) { Pair(blockId, obinitId) } + } + + val jvmStaticFqName = FqName("kotlin.jvm.JvmStatic") + fun extractClassSource(c: IrClass, extractDeclarations: Boolean, extractStaticInitializer: Boolean, extractPrivateMembers: Boolean, extractFunctionBodies: Boolean): Label { with("class source", c) { DeclarationStackAdjuster(c).use { @@ -403,9 +444,10 @@ open class KotlinFileExtractor( c.typeParameters.mapIndexed { idx, param -> extractTypeParameter(param, idx, javaClass?.typeParameters?.getOrNull(idx)) } if (extractDeclarations) { - c.declarations.map { extractDeclaration(it, extractPrivateMembers = extractPrivateMembers, extractFunctionBodies = extractFunctionBodies) } + c.declarations.forEach { extractDeclaration(it, extractPrivateMembers = extractPrivateMembers, extractFunctionBodies = extractFunctionBodies) } if (extractStaticInitializer) extractStaticInitializer(c, id) + extractJvmStaticProxyMethods(c, id, extractPrivateMembers, extractFunctionBodies) } if (c.isNonCompanionObject) { // For `object MyObject { ... }`, the .class has an @@ -421,6 +463,9 @@ open class KotlinFileExtractor( addModifiers(instance.id, "public", "static", "final") tw.writeClass_object(id.cast(), instance.id) } + if (extractFunctionBodies && needsObinitFunction(c)) { + extractObinitFunction(c, id) + } extractClassModifiers(c, id) extractClassSupertypes(c, id, inReceiverContext = true) // inReceiverContext = true is specified to force extraction of member prototypes of base types @@ -430,7 +475,78 @@ open class KotlinFileExtractor( } } - private fun extractEnclosingClass(innerDeclaration: IrDeclaration, innerId: Label, innerLocId: Label, parentClassTypeArguments: List) { + private fun extractJvmStaticProxyMethods(c: IrClass, classId: Label, extractPrivateMembers: Boolean, extractFunctionBodies: Boolean) { + + // Add synthetic forwarders for any JvmStatic methods or properties: + val companionObject = c.companionObject() ?: return + + val cType = c.typeWith() + val companionType = companionObject.typeWith() + + fun makeProxyFunction(f: IrFunction) { + // Emit a function in class `c` that delegates to the same function defined on `c.CompanionInstance`. + val proxyFunctionId = tw.getLabelFor(getFunctionLabel(f, classId, listOf())) + // We extract the function prototype with its ID overridden to belong to `c` not the companion object, + // but suppress outputting the body, which we will replace with a delegating call below. + forceExtractFunction(f, classId, extractBody = false, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution = null, classTypeArgsIncludingOuterClasses = listOf(), idOverride = proxyFunctionId, locOverride = null, extractOrigin = false) + addModifiers(proxyFunctionId, "static") + tw.writeCompiler_generated(proxyFunctionId, CompilerGeneratedKinds.JVMSTATIC_PROXY_METHOD.kind) + if (extractFunctionBodies) { + val realFunctionLocId = tw.getLocation(f) + extractExpressionBody(proxyFunctionId, realFunctionLocId).also { returnId -> + extractRawMethodAccess( + f, + realFunctionLocId, + f.returnType, + proxyFunctionId, + returnId, + 0, + returnId, + f.valueParameters.size, + { argParent, idxOffset -> + f.valueParameters.forEachIndexed { idx, param -> + val syntheticParamId = useValueParameter(param, proxyFunctionId) + extractVariableAccess(syntheticParamId, param.type, realFunctionLocId, argParent, idxOffset + idx, proxyFunctionId, returnId) + } + }, + companionType, + { callId -> + val companionField = useCompanionObjectClassInstance(companionObject)?.id + extractVariableAccess(companionField, companionType, realFunctionLocId, callId, -1, proxyFunctionId, returnId).also { varAccessId -> + extractTypeAccessRecursive(cType, realFunctionLocId, varAccessId, -1, proxyFunctionId, returnId) + } + }, + null + ) + } + } + } + + companionObject.declarations.forEach { + if (shouldExtractDecl(it, extractPrivateMembers)) { + val wholeDeclAnnotated = it.hasAnnotation(jvmStaticFqName) + when(it) { + is IrFunction -> { + if (wholeDeclAnnotated) + makeProxyFunction(it) + } + is IrProperty -> { + it.getter?.let { getter -> + if (wholeDeclAnnotated || getter.hasAnnotation(jvmStaticFqName)) + makeProxyFunction(getter) + } + it.setter?.let { setter -> + if (wholeDeclAnnotated || setter.hasAnnotation(jvmStaticFqName)) + makeProxyFunction(setter) + } + } + } + } + } + } + + // If `parentClassTypeArguments` is null, the parent class is a raw type. + private fun extractEnclosingClass(innerDeclaration: IrDeclaration, innerId: Label, innerLocId: Label, parentClassTypeArguments: List?) { with("enclosing class", innerDeclaration) { var parent: IrDeclarationParent? = innerDeclaration.parent while (parent != null) { @@ -478,7 +594,7 @@ open class KotlinFileExtractor( data class FieldResult(val id: Label, val name: String) - fun useCompanionObjectClassInstance(c: IrClass): FieldResult? { + private fun useCompanionObjectClassInstance(c: IrClass): FieldResult? { val parent = c.parent if(!c.isCompanion) { logger.error("Using companion instance for non-companion class") @@ -496,7 +612,7 @@ open class KotlinFileExtractor( } } - fun useObjectClassInstance(c: IrClass): FieldResult { + private fun useObjectClassInstance(c: IrClass): FieldResult { if(!c.isNonCompanionObject) { logger.error("Using instance for non-object class") } @@ -507,6 +623,9 @@ open class KotlinFileExtractor( return FieldResult(instanceId, instanceName) } + @OptIn(ObsoleteDescriptorBasedAPI::class) + private fun hasSynthesizedParameterNames(f: IrFunction) = f.descriptor.hasSynthesizedParameterNames() + private fun extractValueParameter(vp: IrValueParameter, parent: Label, idx: Int, typeSubstitution: TypeSubstitution?, parentSourceDeclaration: Label, classTypeArgsIncludingOuterClasses: List?, extractTypeAccess: Boolean, locOverride: Label? = null): TypeResults { with("value parameter", vp) { val location = locOverride ?: getLocation(vp, classTypeArgsIncludingOuterClasses) @@ -523,16 +642,19 @@ open class KotlinFileExtractor( if (extractTypeAccess) { extractTypeAccessRecursive(substitutedType, location, id, -1) } - return extractValueParameter(id, substitutedType, vp.name.asString(), location, parent, idx, useValueParameter(vp, parentSourceDeclaration), vp.isVararg) + val syntheticParameterNames = (vp.parent as? IrFunction)?.let { hasSynthesizedParameterNames(it) } ?: true + return extractValueParameter(id, substitutedType, vp.name.asString(), location, parent, idx, useValueParameter(vp, parentSourceDeclaration), vp.isVararg, syntheticParameterNames) } } - private fun extractValueParameter(id: Label, t: IrType, name: String, locId: Label, parent: Label, idx: Int, paramSourceDeclaration: Label, isVararg: Boolean): TypeResults { + private fun extractValueParameter(id: Label, t: IrType, name: String, locId: Label, parent: Label, idx: Int, paramSourceDeclaration: Label, isVararg: Boolean, syntheticParameterNames: Boolean): TypeResults { val type = useType(t) tw.writeParams(id, type.javaResult.id, idx, parent, paramSourceDeclaration) tw.writeParamsKotlinType(id, type.kotlinResult.id) tw.writeHasLocation(id, locId) - tw.writeParamName(id, name) + if (!syntheticParameterNames) { + tw.writeParamName(id, name) + } if (isVararg) { tw.writeIsVarargsParam(id) } @@ -561,6 +683,8 @@ open class KotlinFileExtractor( tw.writeMethods(clinitId, "", "()", returnType.javaResult.id, parentId, clinitId) tw.writeMethodsKotlinType(clinitId, returnType.kotlinResult.id) + tw.writeCompiler_generated(clinitId, CompilerGeneratedKinds.CLASS_INITIALISATION_METHOD.kind) + val locId = tw.getWholeFileLocation() tw.writeHasLocation(clinitId, locId) @@ -683,13 +807,13 @@ open class KotlinFileExtractor( } } - fun extractFunction(f: IrFunction, parentId: Label, extractBody: Boolean, extractMethodAndParameterTypeAccesses: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List?) = + private fun extractFunction(f: IrFunction, parentId: Label, extractBody: Boolean, extractMethodAndParameterTypeAccesses: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List?) = if (isFake(f)) null else forceExtractFunction(f, parentId, extractBody, extractMethodAndParameterTypeAccesses, typeSubstitution, classTypeArgsIncludingOuterClasses, null, null) - fun forceExtractFunction(f: IrFunction, parentId: Label, extractBody: Boolean, extractMethodAndParameterTypeAccesses: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List?, idOverride: Label?, locOverride: Label?): Label { + private fun forceExtractFunction(f: IrFunction, parentId: Label, extractBody: Boolean, extractMethodAndParameterTypeAccesses: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List?, idOverride: Label?, locOverride: Label?, extractOrigin: Boolean = true): Label { with("function", f) { DeclarationStackAdjuster(f).use { @@ -698,12 +822,9 @@ open class KotlinFileExtractor( val id = idOverride - ?: if (f.isLocalFunction()) - getLocallyVisibleFunctionLabels(f).function - else - // If this is a class that would ordinarily be replaced by a Java equivalent (e.g. kotlin.Map -> java.util.Map), - // don't replace here, really extract the Kotlin version: - useFunction(f, parentId, classTypeArgsIncludingOuterClasses, noReplace = true) + ?: // If this is a class that would ordinarily be replaced by a Java equivalent (e.g. kotlin.Map -> java.util.Map), + // don't replace here, really extract the Kotlin version: + useFunction(f, parentId, classTypeArgsIncludingOuterClasses, noReplace = true) val sourceDeclaration = if (typeSubstitution != null && idOverride == null) @@ -749,6 +870,16 @@ open class KotlinFileExtractor( val methodId = id.cast() tw.writeMethods(methodId, shortName.nameInDB, "${shortName.nameInDB}$paramsSignature", returnType.javaResult.id, parentId, sourceDeclaration.cast()) tw.writeMethodsKotlinType(methodId, returnType.kotlinResult.id) + if (extractOrigin) { + when (f.origin) { + IrDeclarationOrigin.GENERATED_DATA_CLASS_MEMBER -> + tw.writeCompiler_generated(methodId, CompilerGeneratedKinds.GENERATED_DATA_CLASS_MEMBER.kind) + IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR -> + tw.writeCompiler_generated(methodId, CompilerGeneratedKinds.DEFAULT_PROPERTY_ACCESSOR.kind) + IrDeclarationOrigin.ENUM_CLASS_SPECIAL_MEMBER -> + tw.writeCompiler_generated(methodId, CompilerGeneratedKinds.ENUM_CLASS_SPECIAL_MEMBER.kind) + } + } if (extractMethodAndParameterTypeAccesses) { extractTypeAccessRecursive(substReturnType, locId, id, -1) @@ -757,6 +888,10 @@ open class KotlinFileExtractor( if (shortName.nameInDB != shortName.kotlinName) { tw.writeKtFunctionOriginalNames(methodId, shortName.kotlinName) } + + if (f.hasInterfaceParent() && f.body != null) { + addModifiers(id, "default") // The actual output class file may or may not have this modifier, depending on the -Xjvm-default setting. + } } tw.writeHasLocation(id, locId) @@ -768,10 +903,13 @@ open class KotlinFileExtractor( } extractVisibility(f, id, f.visibility) - if (isStaticFunction(f)) { + + if (f.isInline) { + addModifiers(id, "inline") + } + if (f.shouldExtractAsStatic) { addModifiers(id, "static") } - if (f is IrSimpleFunction && f.overriddenSymbols.isNotEmpty()) { addModifiers(id, "override") } @@ -787,7 +925,7 @@ open class KotlinFileExtractor( && f.symbol !is IrConstructorSymbol // not a constructor } - fun extractField(f: IrField, parentId: Label): Label { + private fun extractField(f: IrField, parentId: Label): Label { with("field", f) { DeclarationStackAdjuster(f).use { declarationStack.push(f) @@ -821,7 +959,7 @@ open class KotlinFileExtractor( return id } - fun extractProperty(p: IrProperty, parentId: Label, extractBackingField: Boolean, extractFunctionBodies: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List?) { + private fun extractProperty(p: IrProperty, parentId: Label, extractBackingField: Boolean, extractFunctionBodies: Boolean, extractPrivateMembers: Boolean, typeSubstitution: TypeSubstitution?, classTypeArgsIncludingOuterClasses: List?) { with("property", p) { if (isFake(p)) return @@ -836,28 +974,34 @@ open class KotlinFileExtractor( val getter = p.getter val setter = p.setter - if (getter != null) { - val getterId = extractFunction(getter, parentId, extractBody = extractFunctionBodies, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution, classTypeArgsIncludingOuterClasses)?.cast() - if (getterId != null) { - tw.writeKtPropertyGetters(id, getterId) - } - } else { + if (getter == null) { if (p.modality != Modality.FINAL || !isExternalDeclaration(p)) { logger.warnElement("IrProperty without a getter", p) } + } else if (shouldExtractDecl(getter, extractPrivateMembers)) { + val getterId = extractFunction(getter, parentId, extractBody = extractFunctionBodies, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution, classTypeArgsIncludingOuterClasses)?.cast() + if (getterId != null) { + tw.writeKtPropertyGetters(id, getterId) + if (getter.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR) { + tw.writeCompiler_generated(getterId, CompilerGeneratedKinds.DELEGATED_PROPERTY_GETTER.kind) + } + } } - if (setter != null) { + if (setter == null) { + if (p.isVar && !isExternalDeclaration(p)) { + logger.warnElement("isVar property without a setter", p) + } + } else if (shouldExtractDecl(setter, extractPrivateMembers)) { if (!p.isVar) { logger.warnElement("!isVar property with a setter", p) } val setterId = extractFunction(setter, parentId, extractBody = extractFunctionBodies, extractMethodAndParameterTypeAccesses = extractFunctionBodies, typeSubstitution, classTypeArgsIncludingOuterClasses)?.cast() if (setterId != null) { tw.writeKtPropertySetters(id, setterId) - } - } else { - if (p.isVar && !isExternalDeclaration(p)) { - logger.warnElement("isVar property without a setter", p) + if (setter.origin == IrDeclarationOrigin.DELEGATED_PROPERTY_ACCESSOR) { + tw.writeCompiler_generated(setterId, CompilerGeneratedKinds.DELEGATED_PROPERTY_SETTER.kind) + } } } @@ -890,7 +1034,7 @@ open class KotlinFileExtractor( } } - fun extractEnumEntry(ee: IrEnumEntry, parentId: Label, extractTypeAccess: Boolean) { + private fun extractEnumEntry(ee: IrEnumEntry, parentId: Label, extractTypeAccess: Boolean) { with("enum entry", ee) { DeclarationStackAdjuster(ee).use { val id = useEnumEntry(ee) @@ -912,7 +1056,7 @@ open class KotlinFileExtractor( } } - fun extractTypeAlias(ta: IrTypeAlias) { + private fun extractTypeAlias(ta: IrTypeAlias) { with("type alias", ta) { if (ta.typeParameters.isNotEmpty()) { // TODO: Extract this information @@ -927,7 +1071,7 @@ open class KotlinFileExtractor( } } - fun extractBody(b: IrBody, callable: Label) { + private fun extractBody(b: IrBody, callable: Label) { with("body", b) { when (b) { is IrBlockBody -> extractBlockBody(b, callable) @@ -940,7 +1084,7 @@ open class KotlinFileExtractor( } } - fun extractBlockBody(b: IrBlockBody, callable: Label) { + private fun extractBlockBody(b: IrBlockBody, callable: Label) { with("block body", b) { val id = tw.getFreshIdLabel() val locId = tw.getLocation(b) @@ -952,7 +1096,7 @@ open class KotlinFileExtractor( } } - fun extractSyntheticBody(b: IrSyntheticBody, callable: Label) { + private fun extractSyntheticBody(b: IrSyntheticBody, callable: Label) { with("synthetic body", b) { when (b.kind) { IrSyntheticBodyKind.ENUM_VALUES -> tw.writeKtSyntheticBody(callable, 1) @@ -961,17 +1105,23 @@ open class KotlinFileExtractor( } } - fun extractExpressionBody(b: IrExpressionBody, callable: Label) { + private fun extractExpressionBody(b: IrExpressionBody, callable: Label) { with("expression body", b) { - val blockId = tw.getFreshIdLabel() val locId = tw.getLocation(b) - tw.writeStmts_block(blockId, callable, 0, callable) - tw.writeHasLocation(blockId, locId) + extractExpressionBody(callable, locId).also { returnId -> + extractExpressionExpr(b.expression, callable, returnId, 0, returnId) + } + } + } - val returnId = tw.getFreshIdLabel() + fun extractExpressionBody(callable: Label, locId: Label): Label { + val blockId = tw.getFreshIdLabel() + tw.writeStmts_block(blockId, callable, 0, callable) + tw.writeHasLocation(blockId, locId) + + return tw.getFreshIdLabel().also { returnId -> tw.writeStmts_returnstmt(returnId, blockId, 0, callable) tw.writeHasLocation(returnId, locId) - extractExpressionExpr(b.expression, callable, returnId, 0, returnId) } } @@ -985,7 +1135,7 @@ open class KotlinFileExtractor( return v } - fun extractVariable(v: IrVariable, callable: Label, parent: Label, idx: Int) { + private fun extractVariable(v: IrVariable, callable: Label, parent: Label, idx: Int) { with("variable", v) { val stmtId = tw.getFreshIdLabel() val locId = tw.getLocation(getVariableLocationProvider(v)) @@ -995,7 +1145,7 @@ open class KotlinFileExtractor( } } - fun extractVariableExpr(v: IrVariable, callable: Label, parent: Label, idx: Int, enclosingStmt: Label) { + private fun extractVariableExpr(v: IrVariable, callable: Label, parent: Label, idx: Int, enclosingStmt: Label) { with("variable expr", v) { val varId = useVariable(v) val exprId = tw.getFreshIdLabel() @@ -1019,7 +1169,7 @@ open class KotlinFileExtractor( } } - fun extractStatement(s: IrStatement, callable: Label, parent: Label, idx: Int) { + private fun extractStatement(s: IrStatement, callable: Label, parent: Label, idx: Int) { with("statement", s) { when(s) { is IrExpression -> { @@ -1039,7 +1189,7 @@ open class KotlinFileExtractor( tw.writeKtLocalFunction(ids.function) if (s.origin == IrDeclarationOrigin.ADAPTER_FOR_CALLABLE_REFERENCE) { - tw.writeCompiler_generated(classId, 1) + tw.writeCompiler_generated(classId, CompilerGeneratedKinds.DECLARING_CLASSES_OF_ADAPTER_FUNCTIONS.kind) } } else { logger.errorElement("Expected to find local function", s) @@ -1240,12 +1390,53 @@ open class KotlinFileExtractor( dispatchReceiver: IrExpression?, extensionReceiver: IrExpression?, typeArguments: List = listOf(), - extractClassTypeArguments: Boolean = false) { + extractClassTypeArguments: Boolean = false, + superQualifierSymbol: IrClassSymbol? = null) { + + val locId = tw.getLocation(callsite) + + extractRawMethodAccess( + syntacticCallTarget, + locId, + callsite.type, + enclosingCallable, + callsiteParent, + childIdx, + enclosingStmt, + valueArguments.size, + { argParent, idxOffset -> extractCallValueArguments(argParent, valueArguments, enclosingStmt, enclosingCallable, idxOffset) }, + dispatchReceiver?.type, + dispatchReceiver?.let { { callId -> extractExpressionExpr(dispatchReceiver, enclosingCallable, callId, -1, enclosingStmt) } }, + extensionReceiver?.let { { argParent -> extractExpressionExpr(extensionReceiver, enclosingCallable, argParent, 0, enclosingStmt) } }, + typeArguments, + extractClassTypeArguments, + superQualifierSymbol + ) + + } + + + fun extractRawMethodAccess( + syntacticCallTarget: IrFunction, + locId: Label, + returnType: IrType, + enclosingCallable: Label, + callsiteParent: Label, + childIdx: Int, + enclosingStmt: Label, + nValueArguments: Int, + extractValueArguments: (Label, Int) -> Unit, + drType: IrType?, + extractDispatchReceiver: ((Label) -> Unit)?, + extractExtensionReceiver: ((Label) -> Unit)?, + typeArguments: List = listOf(), + extractClassTypeArguments: Boolean = false, + superQualifierSymbol: IrClassSymbol? = null) { val callTarget = syntacticCallTarget.target.realOverrideTarget val id = tw.getFreshIdLabel() - val type = useType(callsite.type) - val locId = tw.getLocation(callsite) + val type = useType(returnType) + tw.writeExprs_methodaccess(id, type.javaResult.id, callsiteParent, childIdx) tw.writeExprsKotlinType(id, type.kotlinResult.id) tw.writeHasLocation(id, locId) @@ -1255,8 +1446,6 @@ open class KotlinFileExtractor( // type arguments at index -2, -3, ... extractTypeArguments(typeArguments, locId, id, enclosingCallable, enclosingStmt, -2, true) - val drType = dispatchReceiver?.type - val isFunctionInvoke = drType != null && drType is IrSimpleType && drType.isFunctionOrKFunction() @@ -1299,44 +1488,50 @@ open class KotlinFileExtractor( tw.writeCallableBinding(id, methodId) - if (dispatchReceiver != null) { - extractExpressionExpr(dispatchReceiver, enclosingCallable, id, -1, enclosingStmt) - } else if (isStaticFunction(callTarget)) { + if (callTarget.shouldExtractAsStatic) { extractStaticTypeAccessQualifier(callTarget, id, locId, enclosingCallable, enclosingStmt) + } else if (superQualifierSymbol != null) { + extractSuperAccess(superQualifierSymbol.typeWith(), enclosingCallable, id, -1, enclosingStmt, locId) + } else if (extractDispatchReceiver != null) { + extractDispatchReceiver(id) } } - val idxOffset = if (extensionReceiver != null) 1 else 0 + val idxOffset = if (extractExtensionReceiver != null) 1 else 0 val argParent = if (isBigArityFunctionInvoke) { - extractArrayCreationWithInitializer(id, valueArguments.size + idxOffset, locId, enclosingCallable, enclosingStmt) + extractArrayCreationWithInitializer(id, nValueArguments + idxOffset, locId, enclosingCallable, enclosingStmt) } else { id } - if (extensionReceiver != null) { - extractExpressionExpr(extensionReceiver, enclosingCallable, argParent, 0, enclosingStmt) + if (extractExtensionReceiver != null) { + extractExtensionReceiver(argParent) } - extractCallValueArguments(argParent, valueArguments, enclosingStmt, enclosingCallable, idxOffset) + extractValueArguments(argParent, idxOffset) } private fun extractStaticTypeAccessQualifier(target: IrDeclaration, parentExpr: Label, locId: Label, enclosingCallable: Label, enclosingStmt: Label) { - if (target.isStaticOfClass) { + if (target.shouldExtractAsStaticMemberOfClass) { extractTypeAccessRecursive(target.parentAsClass.toRawType(), locId, parentExpr, -1, enclosingCallable, enclosingStmt) - } else if (target.isStaticOfFile) { + } else if (target.shouldExtractAsStaticMemberOfFile) { extractTypeAccess(useFileClassType(target.parent as IrFile), locId, parentExpr, -1, enclosingCallable, enclosingStmt) } } - private val IrDeclaration.isStaticOfClass: Boolean - get() = this.isStatic && parent is IrClass + private val IrDeclaration.shouldExtractAsStaticMemberOfClass: Boolean + get() = this.shouldExtractAsStatic && parent is IrClass - private val IrDeclaration.isStaticOfFile: Boolean - get() = this.isStatic && parent is IrFile + private val IrDeclaration.shouldExtractAsStaticMemberOfFile: Boolean + get() = this.shouldExtractAsStatic && parent is IrFile - private val IrDeclaration.isStatic: Boolean - get() = this is IrSimpleFunction && dispatchReceiverParameter == null || + private fun isStaticAnnotatedNonCompanionMember(f: IrSimpleFunction) = + f.parentClassOrNull?.isNonCompanionObject == true && + (f.hasAnnotation(jvmStaticFqName) || f.correspondingPropertySymbol?.owner?.hasAnnotation(jvmStaticFqName) == true) + + private val IrDeclaration.shouldExtractAsStatic: Boolean + get() = this is IrSimpleFunction && (isStaticFunction(this) || isStaticAnnotatedNonCompanionMember(this)) || this is IrField && this.isStatic || this is IrEnumEntry @@ -1358,7 +1553,7 @@ open class KotlinFileExtractor( } } - fun findFunction(cls: IrClass, name: String): IrFunction? = cls.declarations.find { it is IrFunction && it.name.asString() == name } as IrFunction? + private fun findFunction(cls: IrClass, name: String): IrFunction? = cls.declarations.find { it is IrFunction && it.name.asString() == name } as IrFunction? val jvmIntrinsicsClass by lazy { val result = pluginContext.referenceClass(FqName("kotlin.jvm.internal.Intrinsics"))?.owner @@ -1366,7 +1561,7 @@ open class KotlinFileExtractor( result } - fun findJdkIntrinsicOrWarn(name: String, warnAgainstElement: IrElement): IrFunction? { + private fun findJdkIntrinsicOrWarn(name: String, warnAgainstElement: IrElement): IrFunction? { val result = jvmIntrinsicsClass?.let { findFunction(it, name) } if(result == null) { logger.errorElement("Couldn't find JVM intrinsic function $name", warnAgainstElement) @@ -1460,7 +1655,7 @@ open class KotlinFileExtractor( result } - fun isFunction(target: IrFunction, pkgName: String, classNameLogged: String, classNamePredicate: (String) -> Boolean, fName: String, hasQuestionMark: Boolean? = false): Boolean { + private fun isFunction(target: IrFunction, pkgName: String, classNameLogged: String, classNamePredicate: (String) -> Boolean, fName: String, hasQuestionMark: Boolean? = false): Boolean { val verbose = false fun verboseln(s: String) { if(verbose) println(s) } verboseln("Attempting match for $pkgName $classNameLogged $fName") @@ -1504,10 +1699,10 @@ open class KotlinFileExtractor( return true } - fun isFunction(target: IrFunction, pkgName: String, className: String, fName: String, hasQuestionMark: Boolean? = false) = + private fun isFunction(target: IrFunction, pkgName: String, className: String, fName: String, hasQuestionMark: Boolean? = false) = isFunction(target, pkgName, className, { it == className }, fName, hasQuestionMark) - fun isNumericFunction(target: IrFunction, fName: String): Boolean { + private fun isNumericFunction(target: IrFunction, fName: String): Boolean { return isFunction(target, "kotlin", "Int", fName) || isFunction(target, "kotlin", "Byte", fName) || isFunction(target, "kotlin", "Short", fName) || @@ -1516,7 +1711,7 @@ open class KotlinFileExtractor( isFunction(target, "kotlin", "Double", fName) } - fun isArrayType(typeName: String) = + private fun isArrayType(typeName: String) = when(typeName) { "Array" -> true "IntArray" -> true @@ -1530,9 +1725,9 @@ open class KotlinFileExtractor( else -> false } - fun extractCall(c: IrCall, callable: Label, stmtExprParent: StmtExprParent) { + private fun extractCall(c: IrCall, callable: Label, stmtExprParent: StmtExprParent) { with("call", c) { - val target = tryReplaceAndroidSyntheticFunction(c.symbol.owner) + val target = tryReplaceSyntheticFunction(c.symbol.owner) // The vast majority of types of call want an expr context, so make one available lazily: val exprParent by lazy { @@ -1558,7 +1753,7 @@ open class KotlinFileExtractor( else listOf() - extractRawMethodAccess(syntacticCallTarget, c, callable, parent, idx, enclosingStmt, (0 until c.valueArgumentsCount).map { c.getValueArgument(it) }, c.dispatchReceiver, c.extensionReceiver, typeArgs, extractClassTypeArguments) + extractRawMethodAccess(syntacticCallTarget, c, callable, parent, idx, enclosingStmt, (0 until c.valueArgumentsCount).map { c.getValueArgument(it) }, c.dispatchReceiver, c.extensionReceiver, typeArgs, extractClassTypeArguments, c.superQualifierSymbol) } fun extractSpecialEnumFunction(fnName: String){ @@ -1938,7 +2133,13 @@ open class KotlinFileExtractor( } isFunction(target, "kotlin", "(some array type)", { isArrayType(it) }, "iterator") && c.origin == IrStatementOrigin.FOR_LOOP_ITERATOR -> { findTopLevelFunctionOrWarn("kotlin.jvm.internal.iterator", "kotlin.jvm.internal.ArrayIteratorKt", c)?.let { iteratorFn -> - extractRawMethodAccess(iteratorFn, c, callable, parent, idx, enclosingStmt, listOf(c.dispatchReceiver), null, null, listOf((c.dispatchReceiver!!.type as IrSimpleType).arguments.first().typeOrNull!!)) + val typeArgs = (c.dispatchReceiver!!.type as IrSimpleType).arguments.map { + when(it) { + is IrTypeProjection -> it.type + else -> pluginContext.irBuiltIns.anyNType + } + } + extractRawMethodAccess(iteratorFn, c, callable, parent, idx, enclosingStmt, listOf(c.dispatchReceiver), null, null, typeArgs) } } isFunction(target, "kotlin", "(some array type)", { isArrayType(it) }, "get") && c.origin == IrStatementOrigin.GET_ARRAY_ELEMENT -> { @@ -2095,6 +2296,22 @@ open class KotlinFileExtractor( enclosingStmt: Label ): Label = extractNewExpr(useFunction(calledConstructor, constructorTypeArgs), constructedType, locId, parent, idx, callable, enclosingStmt) + private fun needsObinitFunction(c: IrClass) = c.primaryConstructor == null && c.constructors.count() > 1 + + private fun getObinitLabel(c: IrClass) = getFunctionLabel( + c, + null, + "", + listOf(), + pluginContext.irBuiltIns.unitType, + null, + functionTypeParameters = listOf(), + classTypeArgsIncludingOuterClasses = listOf(), + overridesCollectionsMethod = false, + javaSignature = null, + addParameterWildcardsByDefault = false + ) + private fun extractConstructorCall( e: IrFunctionAccessExpression, parent: Label, @@ -2147,8 +2364,6 @@ open class KotlinFileExtractor( } } - private val loopIdMap: MutableMap> = mutableMapOf() - // todo: calculating the enclosing ref type could be done through this, instead of walking up the declaration parent chain private val declarationStack: Stack = Stack() @@ -2186,7 +2401,7 @@ open class KotlinFileExtractor( } } - fun getStatementOriginOperator(origin: IrStatementOrigin?) = when (origin) { + private fun getStatementOriginOperator(origin: IrStatementOrigin?) = when (origin) { IrStatementOrigin.PLUSEQ -> "plus" IrStatementOrigin.MINUSEQ -> "minus" IrStatementOrigin.MULTEQ -> "times" @@ -2195,7 +2410,7 @@ open class KotlinFileExtractor( else -> null } - fun getUpdateInPlaceRHS(origin: IrStatementOrigin?, isExpectedLhs: (IrExpression?) -> Boolean, updateRhs: IrExpression): IrExpression? { + private fun getUpdateInPlaceRHS(origin: IrStatementOrigin?, isExpectedLhs: (IrExpression?) -> Boolean, updateRhs: IrExpression): IrExpression? { // Check for a desugared in-place update operator, such as "v += e": return getStatementOriginOperator(origin)?.let { if (updateRhs is IrCall && @@ -2210,7 +2425,7 @@ open class KotlinFileExtractor( } } - fun writeUpdateInPlaceExpr(origin: IrStatementOrigin, tw: TrapWriter, id: Label, type: TypeResults, exprParent: ExprParent): Boolean { + private fun writeUpdateInPlaceExpr(origin: IrStatementOrigin, tw: TrapWriter, id: Label, type: TypeResults, exprParent: ExprParent): Boolean { when(origin) { IrStatementOrigin.PLUSEQ -> tw.writeExprs_assignaddexpr(id.cast(), type.javaResult.id, exprParent.parent, exprParent.idx) IrStatementOrigin.MINUSEQ -> tw.writeExprs_assignsubexpr(id.cast(), type.javaResult.id, exprParent.parent, exprParent.idx) @@ -2222,7 +2437,7 @@ open class KotlinFileExtractor( return true } - fun tryExtractArrayUpdate(e: IrContainerExpression, callable: Label, parent: StmtExprParent): Boolean { + private fun tryExtractArrayUpdate(e: IrContainerExpression, callable: Label, parent: StmtExprParent): Boolean { /* * We're expecting the pattern * { @@ -2293,7 +2508,7 @@ open class KotlinFileExtractor( return false } - fun extractExpressionStmt(e: IrExpression, callable: Label, parent: Label, idx: Int) { + private fun extractExpressionStmt(e: IrExpression, callable: Label, parent: Label, idx: Int) { extractExpression(e, callable, StmtParent(parent, idx)) } @@ -2301,7 +2516,7 @@ open class KotlinFileExtractor( extractExpression(e, callable, ExprParent(parent, idx, enclosingStmt)) } - fun extractExpression(e: IrExpression, callable: Label, parent: StmtExprParent) { + private fun extractExpression(e: IrExpression, callable: Label, parent: StmtExprParent) { with("expression", e) { when(e) { is IrDelegatingConstructorCall -> { @@ -2396,41 +2611,35 @@ open class KotlinFileExtractor( } } is IrWhileLoop -> { - val stmtParent = parent.stmt(e, callable) - val id = tw.getFreshIdLabel() - loopIdMap[e] = id - val locId = tw.getLocation(e) - tw.writeStmts_whilestmt(id, stmtParent.parent, stmtParent.idx, callable) - tw.writeHasLocation(id, locId) - extractExpressionExpr(e.condition, callable, id, 0, id) - val body = e.body - if(body != null) { - extractExpressionStmt(body, callable, id, 1) - } - loopIdMap.remove(e) + extractLoop(e, parent, callable) } is IrDoWhileLoop -> { - val stmtParent = parent.stmt(e, callable) - val id = tw.getFreshIdLabel() - loopIdMap[e] = id - val locId = tw.getLocation(e) - tw.writeStmts_dostmt(id, stmtParent.parent, stmtParent.idx, callable) - tw.writeHasLocation(id, locId) - extractExpressionExpr(e.condition, callable, id, 0, id) - val body = e.body - if(body != null) { - extractExpressionStmt(body, callable, id, 1) - } - loopIdMap.remove(e) + extractLoop(e, parent, callable) } is IrInstanceInitializerCall -> { - val stmtParent = parent.stmt(e, callable) val irConstructor = declarationStack.peek() as? IrConstructor if (irConstructor == null) { logger.errorElement("IrInstanceInitializerCall outside constructor", e) return } - extractInstanceInitializerBlock(stmtParent, irConstructor) + if (needsObinitFunction(irConstructor.parentAsClass)) { + val exprParent = parent.expr(e, callable) + val id = tw.getFreshIdLabel() + val type = useType(pluginContext.irBuiltIns.unitType) + val locId = tw.getLocation(e) + val methodLabel = getObinitLabel(irConstructor.parentAsClass) + val methodId = tw.getLabelFor(methodLabel) + tw.writeExprs_methodaccess(id, type.javaResult.id, exprParent.parent, exprParent.idx) + tw.writeExprsKotlinType(id, type.kotlinResult.id) + tw.writeHasLocation(id, locId) + tw.writeCallableEnclosingExpr(id, callable) + tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt) + tw.writeCallableBinding(id, methodId) + } + else { + val stmtParent = parent.stmt(e, callable) + extractInstanceInitializerBlock(stmtParent, irConstructor) + } } is IrConstructorCall -> { val exprParent = parent.expr(e, callable) @@ -2550,78 +2759,22 @@ open class KotlinFileExtractor( val exprParent = parent.expr(e, callable) val owner = e.symbol.owner if (owner is IrValueParameter && owner.index == -1 && !owner.isExtensionReceiver()) { - val id = tw.getFreshIdLabel() - val type = useType(e.type) - val locId = tw.getLocation(e) - tw.writeExprs_thisaccess(id, type.javaResult.id, exprParent.parent, exprParent.idx) - tw.writeExprsKotlinType(id, type.kotlinResult.id) - tw.writeHasLocation(id, locId) - tw.writeCallableEnclosingExpr(id, callable) - tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt) - - - fun extractTypeAccess(parent: IrClass){ - extractTypeAccessRecursive(parent.typeWith(listOf()), locId, id, 0, callable, exprParent.enclosingStmt) - } - - when(val ownerParent = owner.parent) { - is IrFunction -> { - if (ownerParent.dispatchReceiverParameter == owner && - ownerParent.extensionReceiverParameter != null) { - - val ownerParent2 = ownerParent.parent - if (ownerParent2 is IrClass){ - extractTypeAccess(ownerParent2) - } else { - logger.errorElement("Unhandled qualifier for this", e) - } - } - } - is IrClass -> { - if (ownerParent.thisReceiver == owner) { - extractTypeAccess(ownerParent) - } - } - else -> { - logger.errorElement("Unexpected owner parent for this access: " + ownerParent.javaClass, e) - } - } + extractThisAccess(e, exprParent, callable) } else { - val id = tw.getFreshIdLabel() - val type = useType(e.type) - val locId = tw.getLocation(e) - tw.writeExprs_varaccess(id, type.javaResult.id, exprParent.parent, exprParent.idx) - tw.writeExprsKotlinType(id, type.kotlinResult.id) - tw.writeHasLocation(id, locId) - tw.writeCallableEnclosingExpr(id, callable) - tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt) - - val vId = useValueDeclaration(owner) - if (vId != null) { - tw.writeVariableBinding(id, vId) - } + extractVariableAccess(useValueDeclaration(owner), e.type, tw.getLocation(e), exprParent.parent, exprParent.idx, callable, exprParent.enclosingStmt) } } is IrGetField -> { val exprParent = parent.expr(e, callable) - val id = tw.getFreshIdLabel() - val type = useType(e.type) - val locId = tw.getLocation(e) - tw.writeExprs_varaccess(id, type.javaResult.id, exprParent.parent, exprParent.idx) - tw.writeExprsKotlinType(id, type.kotlinResult.id) - tw.writeHasLocation(id, locId) - tw.writeCallableEnclosingExpr(id, callable) - tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt) val owner = tryReplaceAndroidSyntheticField(e.symbol.owner) - val vId = useField(owner) - tw.writeVariableBinding(id, vId) - tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt) - - val receiver = e.receiver - if (receiver != null) { - extractExpressionExpr(receiver, callable, id, -1, exprParent.enclosingStmt) - } else if (owner.isStatic) { - extractStaticTypeAccessQualifier(owner, id, locId, callable, exprParent.enclosingStmt) + val locId = tw.getLocation(e) + extractVariableAccess(useField(owner), e.type, locId, exprParent.parent, exprParent.idx, callable, exprParent.enclosingStmt).also { id -> + val receiver = e.receiver + if (receiver != null) { + extractExpressionExpr(receiver, callable, id, -1, exprParent.enclosingStmt) + } else if (owner.isStatic) { + extractStaticTypeAccessQualifier(owner, id, locId, callable, exprParent.enclosingStmt) + } } } is IrGetEnumValue -> { @@ -2922,6 +3075,125 @@ open class KotlinFileExtractor( } } + private fun extractSuperAccess(irType: IrType, callable: Label, parent: Label, idx: Int, enclosingStmt: Label, locId: Label) = + tw.getFreshIdLabel().also { + val type = useType(irType) + tw.writeExprs_superaccess(it, type.javaResult.id, parent, idx) + tw.writeExprsKotlinType(it, type.kotlinResult.id) + tw.writeHasLocation(it, locId) + tw.writeCallableEnclosingExpr(it, callable) + tw.writeStatementEnclosingExpr(it, enclosingStmt) + extractTypeAccessRecursive(irType, locId, it, 0) + } + + private fun extractThisAccess(e: IrGetValue, exprParent: ExprParent, callable: Label) { + val containingDeclaration = declarationStack.peek() + val locId = tw.getLocation(e) + val type = useType(e.type) + + if (containingDeclaration.shouldExtractAsStatic && containingDeclaration.parentClassOrNull?.isNonCompanionObject == true) { + // Use of `this` in a non-companion object member that will be lowered to a static function -- replace with a reference + // to the corresponding static object instance. + val instanceField = useObjectClassInstance(containingDeclaration.parentAsClass) + extractVariableAccess(instanceField.id, e.type, locId, exprParent.parent, exprParent.idx, callable, exprParent.enclosingStmt).also { varAccessId -> + extractStaticTypeAccessQualifier(containingDeclaration, varAccessId, locId, callable, exprParent.enclosingStmt) + } + } else { + val id = tw.getFreshIdLabel() + + tw.writeExprs_thisaccess(id, type.javaResult.id, exprParent.parent, exprParent.idx) + tw.writeExprsKotlinType(id, type.kotlinResult.id) + tw.writeHasLocation(id, locId) + tw.writeCallableEnclosingExpr(id, callable) + tw.writeStatementEnclosingExpr(id, exprParent.enclosingStmt) + + fun extractTypeAccess(parent: IrClass) { + extractTypeAccessRecursive(parent.typeWith(listOf()), locId, id, 0, callable, exprParent.enclosingStmt) + } + + val owner = e.symbol.owner + when(val ownerParent = owner.parent) { + is IrFunction -> { + if (ownerParent.dispatchReceiverParameter == owner && + ownerParent.extensionReceiverParameter != null) { + + val ownerParent2 = ownerParent.parent + if (ownerParent2 is IrClass){ + extractTypeAccess(ownerParent2) + } else { + logger.errorElement("Unhandled qualifier for this", e) + } + } + } + is IrClass -> { + if (ownerParent.thisReceiver == owner) { + extractTypeAccess(ownerParent) + } + } + else -> { + logger.errorElement("Unexpected owner parent for this access: " + ownerParent.javaClass, e) + } + } + } + } + + private fun extractVariableAccess(variable: Label?, irType: IrType, locId: Label, parent: Label, idx: Int, callable: Label, enclosingStmt: Label) = + tw.getFreshIdLabel().also { + val type = useType(irType) + tw.writeExprs_varaccess(it, type.javaResult.id, parent, idx) + tw.writeExprsKotlinType(it, type.kotlinResult.id) + tw.writeHasLocation(it, locId) + tw.writeCallableEnclosingExpr(it, callable) + tw.writeStatementEnclosingExpr(it, enclosingStmt) + + if (variable != null) { + tw.writeVariableBinding(it, variable) + } + } + + private fun extractLoop( + loop: IrLoop, + stmtExprParent: StmtExprParent, + callable: Label + ) { + val stmtParent = stmtExprParent.stmt(loop, callable) + val locId = tw.getLocation(loop) + + val idx: Int + val parent: Label + + val label = loop.label + if (label != null) { + val labeledStmt = tw.getFreshIdLabel() + tw.writeStmts_labeledstmt(labeledStmt, stmtParent.parent, stmtParent.idx, callable) + tw.writeHasLocation(labeledStmt, locId) + + tw.writeNamestrings(label, "", labeledStmt) + idx = 0 + parent = labeledStmt + } else { + idx = stmtParent.idx + parent = stmtParent.parent + } + + val id = if (loop is IrWhileLoop) { + val id = tw.getFreshIdLabel() + tw.writeStmts_whilestmt(id, parent, idx, callable) + id + } else { + val id = tw.getFreshIdLabel() + tw.writeStmts_dostmt(id, parent, idx, callable) + id + } + + tw.writeHasLocation(id, locId) + extractExpressionExpr(loop.condition, callable, id, 0, id) + val body = loop.body + if (body != null) { + extractExpressionStmt(body, callable, id, 1) + } + } + private fun IrValueParameter.isExtensionReceiver(): Boolean { val parentFun = parent as? IrFunction ?: return false return parentFun.extensionReceiverParameter == this @@ -2952,7 +3224,7 @@ open class KotlinFileExtractor( stmtIdx: Int ) { val paramId = tw.getFreshIdLabel() - val paramTypeRes = extractValueParameter(paramId, paramType, paramName, locId, ids.constructor, paramIdx, paramId, false) + val paramTypeRes = extractValueParameter(paramId, paramType, paramName, locId, ids.constructor, paramIdx, paramId, isVararg = false, syntheticParameterNames = false) val assignmentStmtId = tw.getFreshIdLabel() tw.writeStmts_exprstmt(assignmentStmtId, ids.constructorBlock, stmtIdx, ids.constructor) @@ -3233,7 +3505,7 @@ open class KotlinFileExtractor( tw.writeExprsKotlinType(callId, callType.kotlinResult.id) this.writeExpressionMetadataToTrapFile(callId, invokeLabels.methodId, retId) - tw.writeCallableBinding(callId as Label, getId) + tw.writeCallableBinding(callId, getId) this.writeThisAccess(callId, invokeLabels.methodId, retId) for ((pIdx, p) in invokeLabels.parameters.withIndex()) { @@ -3588,7 +3860,7 @@ open class KotlinFileExtractor( val parameters = parameterTypes.mapIndexed { idx, p -> val paramId = tw.getFreshIdLabel() - val paramType = extractValueParameter(paramId, p, "a$idx", locId, methodId, idx, paramId, false) + val paramType = extractValueParameter(paramId, p, "a$idx", locId, methodId, idx, paramId, isVararg = false, syntheticParameterNames = false) Pair(paramId, paramType) } @@ -3727,7 +3999,7 @@ open class KotlinFileExtractor( } } - fun extractVarargElement(e: IrVarargElement, callable: Label, parent: Label, idx: Int, enclosingStmt: Label) { + private fun extractVarargElement(e: IrVarargElement, callable: Label, parent: Label, idx: Int, enclosingStmt: Label) { with("vararg element", e) { val argExpr = when(e) { is IrExpression -> e @@ -3768,7 +4040,7 @@ open class KotlinFileExtractor( /** * Extracts a single wildcard type access expression with no enclosing callable and statement. */ - private fun extractWildcardTypeAccess(type: TypeResults, location: Label, parent: Label, idx: Int): Label { + private fun extractWildcardTypeAccess(type: TypeResults, location: Label, parent: Label, idx: Int): Label { val id = tw.getFreshIdLabel() tw.writeExprs_wildcardtypeaccess(id, type.javaResult.id, parent, idx) tw.writeExprsKotlinType(id, type.kotlinResult.id) @@ -3779,7 +4051,7 @@ open class KotlinFileExtractor( /** * Extracts a single type access expression with no enclosing callable and statement. */ - private fun extractTypeAccess(type: TypeResults, location: Label, parent: Label, idx: Int): Label { + private fun extractTypeAccess(type: TypeResults, location: Label, parent: Label, idx: Int): Label { // TODO: elementForLocation allows us to give some sort of // location, but a proper location for the type access will // require upstream changes @@ -3805,7 +4077,7 @@ open class KotlinFileExtractor( * `extractTypeAccessRecursive` if the argument is invariant. * No enclosing callable and statement is extracted, this is useful for type access extraction in field declarations. */ - private fun extractWildcardTypeAccessRecursive(t: IrTypeArgument, location: Label, parent: Label, idx: Int) { + private fun extractWildcardTypeAccessRecursive(t: IrTypeArgument, location: Label, parent: Label, idx: Int) { val typeLabels by lazy { TypeResults(getTypeArgumentLabel(t), TypeResult(fakeKotlinType(), "TODO", "TODO")) } when (t) { is IrStarProjection -> extractWildcardTypeAccess(typeLabels, location, parent, idx) @@ -3825,7 +4097,7 @@ open class KotlinFileExtractor( * Extracts a type access expression and its child type access expressions in case of a generic type. Nested generics are also handled. * No enclosing callable and statement is extracted, this is useful for type access extraction in field declarations. */ - private fun extractTypeAccessRecursive(t: IrType, location: Label, parent: Label, idx: Int, typeContext: TypeContext = TypeContext.OTHER): Label { + private fun extractTypeAccessRecursive(t: IrType, location: Label, parent: Label, idx: Int, typeContext: TypeContext = TypeContext.OTHER): Label { val typeAccessId = extractTypeAccess(useType(t, typeContext), location, parent, idx) if (t is IrSimpleType) { t.arguments.forEachIndexed { argIdx, arg -> @@ -3919,7 +4191,7 @@ open class KotlinFileExtractor( return initId } - fun extractTypeOperatorCall(e: IrTypeOperatorCall, callable: Label, parent: Label, idx: Int, enclosingStmt: Label) { + private fun extractTypeOperatorCall(e: IrTypeOperatorCall, callable: Label, parent: Label, idx: Int, enclosingStmt: Label) { with("type operator call", e) { when(e.operator) { IrTypeOperator.CAST -> { @@ -4195,7 +4467,7 @@ open class KotlinFileExtractor( private fun extractBreakContinue( e: IrBreakContinue, - id: Label + id: Label ) { with("break/continue", e) { val locId = tw.getLocation(e) @@ -4204,14 +4476,6 @@ open class KotlinFileExtractor( if (label != null) { tw.writeNamestrings(label, "", id) } - - val loopId = loopIdMap[e.loop] - if (loopId == null) { - logger.errorElement("Missing break/continue target", e) - return - } - - tw.writeKtBreakContinueTargets(id, loopId) } } @@ -4293,4 +4557,15 @@ open class KotlinFileExtractor( declarationStack.pop() } } + + private enum class CompilerGeneratedKinds(val kind: Int) { + DECLARING_CLASSES_OF_ADAPTER_FUNCTIONS(1), + GENERATED_DATA_CLASS_MEMBER(2), + DEFAULT_PROPERTY_ACCESSOR(3), + CLASS_INITIALISATION_METHOD(4), + ENUM_CLASS_SPECIAL_MEMBER(5), + DELEGATED_PROPERTY_GETTER(6), + DELEGATED_PROPERTY_SETTER(7), + JVMSTATIC_PROXY_METHOD(8), + } } diff --git a/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt b/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt index 127f8b2f83e..69ddc410799 100644 --- a/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/KotlinUsesExtractor.kt @@ -11,6 +11,7 @@ import org.jetbrains.kotlin.backend.common.lower.parents import org.jetbrains.kotlin.backend.common.lower.parentsWithSelf import org.jetbrains.kotlin.backend.jvm.ir.propertyIfAccessor import org.jetbrains.kotlin.builtins.StandardNames +import org.jetbrains.kotlin.codegen.JvmCodegenUtil import org.jetbrains.kotlin.descriptors.* import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI import org.jetbrains.kotlin.ir.declarations.* @@ -23,8 +24,10 @@ import org.jetbrains.kotlin.load.java.BuiltinMethodsWithSpecialGenericSignature import org.jetbrains.kotlin.load.java.JvmAbi import org.jetbrains.kotlin.load.java.sources.JavaSourceElement import org.jetbrains.kotlin.load.java.structure.* +import org.jetbrains.kotlin.load.kotlin.getJvmModuleNameForDeserializedDescriptor import org.jetbrains.kotlin.name.FqName import org.jetbrains.kotlin.name.Name +import org.jetbrains.kotlin.name.NameUtils import org.jetbrains.kotlin.name.SpecialNames import org.jetbrains.kotlin.types.Variance import org.jetbrains.kotlin.util.OperatorNameConventions @@ -49,7 +52,7 @@ open class KotlinUsesExtractor( javaLangObject?.typeWith() } - fun usePackage(pkg: String): Label { + private fun usePackage(pkg: String): Label { return extractPackage(pkg) } @@ -66,80 +69,6 @@ open class KotlinUsesExtractor( TypeResult(fakeKotlinType(), "", "") ) - private data class MethodKey(val className: FqName, val functionName: Name) - - private fun makeDescription(className: FqName, functionName: String) = MethodKey(className, Name.guessByFirstCharacter(functionName)) - - // This essentially mirrors SpecialBridgeMethods.kt, a backend pass which isn't easily available to our extractor. - private val specialFunctions = mapOf( - makeDescription(StandardNames.FqNames.collection, "") to "size", - makeDescription(FqName("java.util.Collection"), "") to "size", - makeDescription(StandardNames.FqNames.map, "") to "size", - makeDescription(FqName("java.util.Map"), "") to "size", - makeDescription(StandardNames.FqNames.charSequence.toSafe(), "") to "length", - makeDescription(FqName("java.lang.CharSequence"), "") to "length", - makeDescription(StandardNames.FqNames.map, "") to "keySet", - makeDescription(FqName("java.util.Map"), "") to "keySet", - makeDescription(StandardNames.FqNames.map, "") to "values", - makeDescription(FqName("java.util.Map"), "") to "values", - makeDescription(StandardNames.FqNames.map, "") to "entrySet", - makeDescription(FqName("java.util.Map"), "") to "entrySet", - makeDescription(StandardNames.FqNames.mutableList, "removeAt") to "remove", - makeDescription(FqName("java.util.List"), "removeAt") to "remove", - makeDescription(StandardNames.FqNames._enum.toSafe(), "") to "ordinal", - makeDescription(FqName("java.lang.Enum"), "") to "ordinal", - makeDescription(StandardNames.FqNames._enum.toSafe(), "") to "name", - makeDescription(FqName("java.lang.Enum"), "") to "name", - makeDescription(StandardNames.FqNames.number.toSafe(), "toByte") to "byteValue", - makeDescription(FqName("java.lang.Number"), "toByte") to "byteValue", - makeDescription(StandardNames.FqNames.number.toSafe(), "toShort") to "shortValue", - makeDescription(FqName("java.lang.Number"), "toShort") to "shortValue", - makeDescription(StandardNames.FqNames.number.toSafe(), "toInt") to "intValue", - makeDescription(FqName("java.lang.Number"), "toInt") to "intValue", - makeDescription(StandardNames.FqNames.number.toSafe(), "toLong") to "longValue", - makeDescription(FqName("java.lang.Number"), "toLong") to "longValue", - makeDescription(StandardNames.FqNames.number.toSafe(), "toFloat") to "floatValue", - makeDescription(FqName("java.lang.Number"), "toFloat") to "floatValue", - makeDescription(StandardNames.FqNames.number.toSafe(), "toDouble") to "doubleValue", - makeDescription(FqName("java.lang.Number"), "toDouble") to "doubleValue", - ) - - private val specialFunctionShortNames = specialFunctions.keys.map { it.functionName }.toSet() - - fun getSpecialJvmName(f: IrFunction): String? { - if (specialFunctionShortNames.contains(f.name) && f is IrSimpleFunction) { - f.allOverridden(true).forEach { overriddenFunc -> - overriddenFunc.parentClassOrNull?.fqNameWhenAvailable?.let { parentFqName -> - specialFunctions[MethodKey(parentFqName, f.name)]?.let { - return it - } - } - } - } - return null - } - - fun getJvmName(container: IrAnnotationContainer): String? { - for(a: IrConstructorCall in container.annotations) { - val t = a.type - if (t is IrSimpleType && a.valueArgumentsCount == 1) { - val owner = t.classifier.owner - val v = a.getValueArgument(0) - if (owner is IrClass) { - val aPkg = owner.packageFqName?.asString() - val name = owner.name.asString() - if(aPkg == "kotlin.jvm" && name == "JvmName" && v is IrConst<*>) { - val value = v.value - if (value is String) { - return value - } - } - } - } - } - return (container as? IrFunction)?.let { getSpecialJvmName(container) } - } - @OptIn(kotlin.ExperimentalStdlibApi::class) // Annotation required by kotlin versions < 1.5 fun extractFileClass(f: IrFile): Label { val fileName = f.fileEntry.name @@ -182,14 +111,26 @@ open class KotlinUsesExtractor( } data class TypeResults(val javaResult: TypeResult, val kotlinResult: TypeResult) - fun useType(t: IrType, context: TypeContext = TypeContext.OTHER) = + fun useType(t: IrType, context: TypeContext = TypeContext.OTHER): TypeResults { when(t) { - is IrSimpleType -> useSimpleType(t, context) + is IrSimpleType -> return useSimpleType(t, context) else -> { logger.error("Unrecognised IrType: " + t.javaClass) - TypeResults(TypeResult(fakeLabel(), "unknown", "unknown"), TypeResult(fakeLabel(), "unknown", "unknown")) + return extractErrorType() } } + } + + private fun extractErrorType(): TypeResults { + val typeId = tw.getLabelFor("@\"errorType\"") { + tw.writeError_type(it) + } + val kotlinTypeId = tw.getLabelFor("@\"errorKotlinType\"") { + tw.writeKt_nullable_types(it, typeId) + } + return TypeResults(TypeResult(typeId, null, ""), + TypeResult(kotlinTypeId, null, "")) + } fun getJavaEquivalentClass(c: IrClass) = getJavaEquivalentClassId(c)?.let { pluginContext.referenceClass(it.asSingleFqName()) }?.owner @@ -228,12 +169,12 @@ open class KotlinUsesExtractor( } ?: argsIncludingOuterClasses } - fun isStaticClass(c: IrClass) = c.visibility != DescriptorVisibilities.LOCAL && !c.isInner + private fun isStaticClass(c: IrClass) = c.visibility != DescriptorVisibilities.LOCAL && !c.isInner // Gets nested inner classes starting at `c` and proceeding outwards to the innermost enclosing static class. // For example, for (java syntax) `class A { static class B { class C { class D { } } } }`, // `nonStaticParentsWithSelf(D)` = `[D, C, B]`. - fun parentsWithTypeParametersInScope(c: IrClass): List { + private fun parentsWithTypeParametersInScope(c: IrClass): List { val parentsList = c.parentsWithSelf.toList() val firstOuterClassIdx = parentsList.indexOfFirst { it is IrClass && isStaticClass(it) } return if (firstOuterClassIdx == -1) parentsList else parentsList.subList(0, firstOuterClassIdx + 1) @@ -242,14 +183,14 @@ open class KotlinUsesExtractor( // Gets the type parameter symbols that are in scope for class `c` in Kotlin order (i.e. for // `class NotInScope { static class OutermostInScope { class QueryClass { } } }`, // `getTypeParametersInScope(QueryClass)` = `[C, D, A, B]`. - fun getTypeParametersInScope(c: IrClass) = + private fun getTypeParametersInScope(c: IrClass) = parentsWithTypeParametersInScope(c).mapNotNull({ getTypeParameters(it) }).flatten() // Returns a map from `c`'s type variables in scope to type arguments `argsIncludingOuterClasses`. // Hack for the time being: the substituted types are always nullable, to prevent downstream code // from replacing a generic parameter by a primitive. As and when we extract Kotlin types we will // need to track this information in more detail. - fun makeTypeGenericSubstitutionMap(c: IrClass, argsIncludingOuterClasses: List) = + private fun makeTypeGenericSubstitutionMap(c: IrClass, argsIncludingOuterClasses: List) = getTypeParametersInScope(c).map({ it.symbol }).zip(argsIncludingOuterClasses.map { it.withQuestionMark(true) }).toMap() fun makeGenericSubstitutionFunction(c: IrClass, argsIncludingOuterClasses: List) = @@ -264,7 +205,7 @@ open class KotlinUsesExtractor( } // The Kotlin compiler internal representation of Outer.Inner.InnerInner.someFunction.LocalClass is LocalClass. This function returns [A, B, C, D, E, F, G, H, I, J]. - fun orderTypeArgsLeftToRight(c: IrClass, argsIncludingOuterClasses: List?): List? { + private fun orderTypeArgsLeftToRight(c: IrClass, argsIncludingOuterClasses: List?): List? { if(argsIncludingOuterClasses.isNullOrEmpty()) return argsIncludingOuterClasses val ret = ArrayList() @@ -311,15 +252,15 @@ open class KotlinUsesExtractor( return UseClassInstanceResult(classTypeResult, extractClass) } - fun isArray(t: IrSimpleType) = t.isBoxedArray || t.isPrimitiveArray() + private fun isArray(t: IrSimpleType) = t.isBoxedArray || t.isPrimitiveArray() - fun extractClassLaterIfExternal(c: IrClass) { + private fun extractClassLaterIfExternal(c: IrClass) { if (isExternalDeclaration(c)) { extractExternalClassLater(c) } } - fun extractExternalEnclosingClassLater(d: IrDeclaration) { + private fun extractExternalEnclosingClassLater(d: IrDeclaration) { when (val parent = d.parent) { is IrClass -> extractExternalClassLater(parent) is IrFunction -> extractExternalEnclosingClassLater(parent) @@ -328,7 +269,7 @@ open class KotlinUsesExtractor( } } - fun extractPropertyLaterIfExternalFileMember(p: IrProperty) { + private fun extractPropertyLaterIfExternalFileMember(p: IrProperty) { if (isExternalFileClassMember(p)) { extractExternalClassLater(p.parentAsClass) dependencyCollector?.addDependency(p, externalClassExtractor.propertySignature) @@ -336,7 +277,7 @@ open class KotlinUsesExtractor( } } - fun extractFieldLaterIfExternalFileMember(f: IrField) { + private fun extractFieldLaterIfExternalFileMember(f: IrField) { if (isExternalFileClassMember(f)) { extractExternalClassLater(f.parentAsClass) dependencyCollector?.addDependency(f, externalClassExtractor.fieldSignature) @@ -344,7 +285,7 @@ open class KotlinUsesExtractor( } } - fun extractFunctionLaterIfExternalFileMember(f: IrFunction) { + private fun extractFunctionLaterIfExternalFileMember(f: IrFunction) { if (isExternalFileClassMember(f)) { extractExternalClassLater(f.parentAsClass) (f as? IrSimpleFunction)?.correspondingPropertySymbol?.let { @@ -375,7 +316,7 @@ open class KotlinUsesExtractor( externalClassExtractor.extractLater(c) } - fun tryReplaceAndroidSyntheticClass(c: IrClass): IrClass { + private fun tryReplaceAndroidSyntheticClass(c: IrClass): IrClass { // The Android Kotlin Extensions Gradle plugin introduces synthetic functions, fields and classes. The most // obvious signature is that they lack any supertype information even though they are not root classes. // If possible, replace them by a real version of the same class. @@ -396,17 +337,17 @@ open class KotlinUsesExtractor( } ?: c } - fun tryReplaceAndroidSyntheticFunction(f: IrSimpleFunction): IrSimpleFunction { + private fun tryReplaceFunctionInSyntheticClass(f: IrFunction, getClassReplacement: (IrClass) -> IrClass): IrFunction { val parentClass = f.parent as? IrClass ?: return f - val replacementClass = tryReplaceAndroidSyntheticClass(parentClass) + val replacementClass = getClassReplacement(parentClass) if (replacementClass === parentClass) return f return globalExtensionState.syntheticToRealFunctionMap.getOrPut(f) { val result = replacementClass.declarations.find { replacementDecl -> - replacementDecl is IrSimpleFunction && replacementDecl.name == f.name && replacementDecl.valueParameters.zip(f.valueParameters).all { - it.first.type == it.second.type + replacementDecl is IrSimpleFunction && replacementDecl.name == f.name && replacementDecl.valueParameters.size == f.valueParameters.size && replacementDecl.valueParameters.zip(f.valueParameters).all { + erase(it.first.type) == erase(it.second.type) } - } as IrSimpleFunction? + } as IrFunction? if (result == null) { logger.warn("Failed to replace synthetic class function ${f.name}") } else { @@ -416,6 +357,11 @@ open class KotlinUsesExtractor( } ?: f } + fun tryReplaceSyntheticFunction(f: IrFunction): IrFunction { + val androidReplacement = tryReplaceFunctionInSyntheticClass(f) { tryReplaceAndroidSyntheticClass(it) } + return tryReplaceFunctionInSyntheticClass(androidReplacement) { tryReplaceParcelizeRawType(it)?.first ?: it } + } + fun tryReplaceAndroidSyntheticField(f: IrField): IrField { val parentClass = f.parent as? IrClass ?: return f val replacementClass = tryReplaceAndroidSyntheticClass(parentClass) @@ -572,7 +518,7 @@ open class KotlinUsesExtractor( // but returns boxed arrays with a nullable, invariant component type, with any nested arrays // similarly transformed. For example, Array> would become Array?> // Array<*> will become Array. - fun getInvariantNullableArrayType(arrayType: IrSimpleType): IrSimpleType = + private fun getInvariantNullableArrayType(arrayType: IrSimpleType): IrSimpleType = if (arrayType.isPrimitiveArray()) arrayType else { @@ -597,7 +543,7 @@ open class KotlinUsesExtractor( ) } - fun useArrayType(arrayType: IrSimpleType, componentType: IrType, elementType: IrType, dimensions: Int, isPrimitiveArray: Boolean): TypeResults { + private fun useArrayType(arrayType: IrSimpleType, componentType: IrType, elementType: IrType, dimensions: Int, isPrimitiveArray: Boolean): TypeResults { // Ensure we extract Array as Integer[], not int[], for example: fun nullableIfNotPrimitive(type: IrType) = if (type.isPrimitiveType() && !isPrimitiveArray) type.makeNullable() else type @@ -648,7 +594,7 @@ open class KotlinUsesExtractor( RETURN, GENERIC_ARGUMENT, OTHER } - fun useSimpleType(s: IrSimpleType, context: TypeContext): TypeResults { + private fun useSimpleType(s: IrSimpleType, context: TypeContext): TypeResults { if (s.abbreviation != null) { // TODO: Extract this information } @@ -706,14 +652,31 @@ open class KotlinUsesExtractor( ) (s.isBoxedArray && s.arguments.isNotEmpty()) || s.isPrimitiveArray() -> { - var dimensions = 1 - var isPrimitiveArray = s.isPrimitiveArray() - val componentType = s.getArrayElementType(pluginContext.irBuiltIns) - var elementType = componentType + + fun replaceComponentTypeWithAny(t: IrSimpleType, dimensions: Int): IrSimpleType = + if (dimensions == 0) + pluginContext.irBuiltIns.anyType as IrSimpleType + else + t.toBuilder().also { it.arguments = (it.arguments[0] as IrTypeProjection) + .let { oldArg -> + listOf(makeTypeProjection(replaceComponentTypeWithAny(oldArg.type as IrSimpleType, dimensions - 1), oldArg.variance)) + } + }.buildSimpleType() + + var componentType = s.getArrayElementType(pluginContext.irBuiltIns) + var isPrimitiveArray = false + var dimensions = 0 + var elementType: IrType = s while (elementType.isBoxedArray || elementType.isPrimitiveArray()) { dimensions++ - if(elementType.isPrimitiveArray()) + if (elementType.isPrimitiveArray()) isPrimitiveArray = true + if (((elementType as IrSimpleType).arguments.singleOrNull() as? IrTypeProjection)?.variance == Variance.IN_VARIANCE) { + // Because Java's arrays are covariant, Kotlin will render Array as Object[], Array> as Object[][] etc. + componentType = replaceComponentTypeWithAny(s, dimensions - 1) + elementType = pluginContext.irBuiltIns.anyType as IrSimpleType + break + } elementType = elementType.getArrayElementType(pluginContext.irBuiltIns) } @@ -806,11 +769,25 @@ open class KotlinUsesExtractor( data class FunctionNames(val nameInDB: String, val kotlinName: String) + @OptIn(ObsoleteDescriptorBasedAPI::class) + private fun getJvmModuleName(f: IrFunction) = + NameUtils.sanitizeAsJavaIdentifier( + getJvmModuleNameForDeserializedDescriptor(f.descriptor) ?: JvmCodegenUtil.getModuleName(pluginContext.moduleDescriptor) + ) + fun getFunctionShortName(f: IrFunction) : FunctionNames { if (f.origin == IrDeclarationOrigin.LOCAL_FUNCTION_FOR_LAMBDA || f.isAnonymousFunction) return FunctionNames( OperatorNameConventions.INVOKE.asString(), OperatorNameConventions.INVOKE.asString()) + + fun getSuffixIfInternal() = + if (f.visibility == DescriptorVisibilities.INTERNAL) { + "\$" + getJvmModuleName(f) + } else { + "" + } + (f as? IrSimpleFunction)?.correspondingPropertySymbol?.let { val propName = it.owner.name.asString() val getter = it.owner.getter @@ -826,35 +803,26 @@ open class KotlinUsesExtractor( } } - when (f) { - getter -> { - val defaultFunctionName = JvmAbi.getterName(propName) - val defaultDbName = if (getter.visibility == DescriptorVisibilities.PRIVATE && getter.origin == IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR) { - // In JVM these functions don't exist, instead the backing field is accessed directly - defaultFunctionName + "\$private" - } else { - defaultFunctionName - } - return FunctionNames(getJvmName(getter) ?: defaultDbName, defaultFunctionName) - } - setter -> { - val defaultFunctionName = JvmAbi.setterName(propName) - val defaultDbName = if (setter.visibility == DescriptorVisibilities.PRIVATE && setter.origin == IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR) { - // In JVM these functions don't exist, instead the backing field is accessed directly - defaultFunctionName + "\$private" - } else { - defaultFunctionName - } - return FunctionNames(getJvmName(setter) ?: defaultDbName, defaultFunctionName) - } + val maybeFunctionName = when (f) { + getter -> JvmAbi.getterName(propName) + setter -> JvmAbi.setterName(propName) else -> { logger.error( "Function has a corresponding property, but is neither the getter nor the setter" ) + null } } + maybeFunctionName?.let { defaultFunctionName -> + val suffix = if (f.visibility == DescriptorVisibilities.PRIVATE && f.origin == IrDeclarationOrigin.DEFAULT_PROPERTY_ACCESSOR) { + "\$private" + } else { + getSuffixIfInternal() + } + return FunctionNames(getJvmName(f) ?: "$defaultFunctionName$suffix", defaultFunctionName) + } } - return FunctionNames(getJvmName(f) ?: f.name.asString(), f.name.asString()) + return FunctionNames(getJvmName(f) ?: "${f.name.asString()}${getSuffixIfInternal()}", f.name.asString()) } // This excludes class type parameters that show up in (at least) constructors' typeParameters list. @@ -862,14 +830,14 @@ open class KotlinUsesExtractor( return if (f is IrConstructor) f.typeParameters else f.typeParameters.filter { it.parent == f } } - fun getTypeParameters(dp: IrDeclarationParent): List = + private fun getTypeParameters(dp: IrDeclarationParent): List = when(dp) { is IrClass -> dp.typeParameters is IrFunction -> getFunctionTypeParameters(dp) else -> listOf() } - fun getEnclosingClass(it: IrDeclarationParent): IrClass? = + private fun getEnclosingClass(it: IrDeclarationParent): IrClass? = when(it) { is IrClass -> it is IrFunction -> getEnclosingClass(it.parent) @@ -926,13 +894,33 @@ open class KotlinUsesExtractor( private val jvmWildcardAnnotation = FqName("kotlin.jvm.JvmWildcard") private val jvmWildcardSuppressionAnnotaton = FqName("kotlin.jvm.JvmSuppressWildcards") + private fun arrayExtendsAdditionAllowed(t: IrSimpleType): Boolean = + // Note the array special case includes Array<*>, which does permit adding `? extends ...` (making `? extends Object[]` in that case) + // Surprisingly Array does permit this as well, though the contravariant array lowers to Object[] so this ends up `? extends Object[]` as well. + t.arguments[0].let { + when (it) { + is IrTypeProjection -> when (it.variance) { + Variance.INVARIANT -> false + Variance.IN_VARIANCE -> !(it.type.isAny() || it.type.isNullableAny()) + Variance.OUT_VARIANCE -> extendsAdditionAllowed(it.type) + } + else -> true + } + } + + private fun extendsAdditionAllowed(t: IrType) = + if (t.isBoxedArray) + arrayExtendsAdditionAllowed(t as IrSimpleType) + else + ((t as? IrSimpleType)?.classOrNull?.owner?.isFinalClass) != true + private fun wildcardAdditionAllowed(v: Variance, t: IrType, addByDefault: Boolean) = when { t.hasAnnotation(jvmWildcardAnnotation) -> true !addByDefault -> false t.hasAnnotation(jvmWildcardSuppressionAnnotaton) -> false v == Variance.IN_VARIANCE -> !(t.isNullableAny() || t.isAny()) - v == Variance.OUT_VARIANCE -> ((t as? IrSimpleType)?.classOrNull?.owner?.isFinalClass) != true + v == Variance.OUT_VARIANCE -> extendsAdditionAllowed(t) else -> false } @@ -956,7 +944,7 @@ open class KotlinUsesExtractor( null } ?: t - fun getJavaTypeArgument(jt: JavaType, idx: Int) = + private fun getJavaTypeArgument(jt: JavaType, idx: Int) = when(jt) { is JavaClassifierType -> jt.typeArguments.getOrNull(idx) is JavaArrayType -> if (idx == 0) jt.componentType else null @@ -1178,15 +1166,6 @@ open class KotlinUsesExtractor( return res } - fun useFunctionCommon(f: IrFunction, label: String): Label { - val id: Label = tw.getLabelFor(label) - if (isExternalDeclaration(f)) { - extractFunctionLaterIfExternalFileMember(f) - extractExternalEnclosingClassLater(f) - } - return id - } - // These are classes with Java equivalents, but whose methods don't all exist on those Java equivalents-- // for example, the numeric classes define arithmetic functions (Int.plus, Long.or and so on) that lower to // primitive arithmetic on the JVM, but which we extract as calls to reflect the source syntax more closely. @@ -1194,7 +1173,7 @@ open class KotlinUsesExtractor( "kotlin.Boolean", "kotlin.Byte", "kotlin.Char", "kotlin.Double", "kotlin.Float", "kotlin.Int", "kotlin.Long", "kotlin.Number", "kotlin.Short" ) - fun kotlinFunctionToJavaEquivalent(f: IrFunction, noReplace: Boolean) = + private fun kotlinFunctionToJavaEquivalent(f: IrFunction, noReplace: Boolean) = if (noReplace) f else @@ -1242,20 +1221,24 @@ open class KotlinUsesExtractor( } as IrFunction? ?: f fun useFunction(f: IrFunction, classTypeArgsIncludingOuterClasses: List? = null, noReplace: Boolean = false): Label { + return useFunction(f, null, classTypeArgsIncludingOuterClasses, noReplace) + } + + fun useFunction(f: IrFunction, parentId: Label?, classTypeArgsIncludingOuterClasses: List?, noReplace: Boolean = false): Label { if (f.isLocalFunction()) { val ids = getLocallyVisibleFunctionLabels(f) return ids.function.cast() - } else { - val realFunction = kotlinFunctionToJavaEquivalent(f, noReplace) - return useFunctionCommon(realFunction, getFunctionLabel(realFunction, classTypeArgsIncludingOuterClasses)) } + val javaFun = kotlinFunctionToJavaEquivalent(f, noReplace) + val label = getFunctionLabel(javaFun, parentId, classTypeArgsIncludingOuterClasses) + val id: Label = tw.getLabelFor(label) + if (isExternalDeclaration(javaFun)) { + extractFunctionLaterIfExternalFileMember(javaFun) + extractExternalEnclosingClassLater(javaFun) + } + return id } - fun useFunction(f: IrFunction, parentId: Label, classTypeArgsIncludingOuterClasses: List?, noReplace: Boolean = false) = - kotlinFunctionToJavaEquivalent(f, noReplace).let { - useFunctionCommon(it, getFunctionLabel(it, parentId, classTypeArgsIncludingOuterClasses)) - } - fun getTypeArgumentLabel( arg: IrTypeArgument ): TypeResult { @@ -1383,14 +1366,14 @@ open class KotlinUsesExtractor( return "@\"typevar;{$parentLabel};${param.name}\"" } - fun useTypeParameter(param: IrTypeParameter) = + private fun useTypeParameter(param: IrTypeParameter) = TypeResult( tw.getLabelFor(getTypeParameterLabel(param)), useType(eraseTypeParameter(param)).javaResult.signature, param.name.asString() ) - fun extractModifier(m: String): Label { + private fun extractModifier(m: String): Label { val modifierLabel = "@\"modifier;$m\"" val id: Label = tw.getLabelFor(modifierLabel, { tw.writeModifiers(it, m) @@ -1472,7 +1455,7 @@ open class KotlinUsesExtractor( * Note that `Array` is retained (with `T` itself erased) because these are expected to be lowered to Java * arrays, which are not generic. */ - fun erase (t: IrType): IrType { + private fun erase (t: IrType): IrType { if (t is IrSimpleType) { val classifier = t.classifier val owner = classifier.owner @@ -1496,7 +1479,7 @@ open class KotlinUsesExtractor( return t } - fun eraseTypeParameter(t: IrTypeParameter) = + private fun eraseTypeParameter(t: IrTypeParameter) = erase(t.superTypes[0]) /** @@ -1525,7 +1508,7 @@ open class KotlinUsesExtractor( fun useValueParameter(vp: IrValueParameter, parent: Label?): Label = tw.getLabelFor(getValueParameterLabel(vp, parent)) - fun isDirectlyExposedCompanionObjectField(f: IrField) = + private fun isDirectlyExposedCompanionObjectField(f: IrField) = f.hasAnnotation(FqName("kotlin.jvm.JvmField")) || f.correspondingPropertySymbol?.owner?.let { it.isConst || it.isLateinit @@ -1551,7 +1534,7 @@ open class KotlinUsesExtractor( // otherwise two extension properties declared in the same enclosing context will get // clashing trap labels. These are always private, so we can just make up a label without // worrying about their names as seen from Java. - val extensionPropertyDiscriminator = getExtensionReceiverType(f)?.let { "extension;${useType(it)}" } ?: "" + val extensionPropertyDiscriminator = getExtensionReceiverType(f)?.let { "extension;${useType(it).javaResult.id}" } ?: "" return "@\"field;{$parentId};${extensionPropertyDiscriminator}${f.name.asString()}\"" } diff --git a/java/kotlin-extractor/src/main/kotlin/PrimitiveTypeInfo.kt b/java/kotlin-extractor/src/main/kotlin/PrimitiveTypeInfo.kt index 6eaa27b0ca4..8d844a65ec8 100644 --- a/java/kotlin-extractor/src/main/kotlin/PrimitiveTypeInfo.kt +++ b/java/kotlin-extractor/src/main/kotlin/PrimitiveTypeInfo.kt @@ -1,14 +1,21 @@ package com.github.codeql import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext +import org.jetbrains.kotlin.builtins.StandardNames import org.jetbrains.kotlin.ir.declarations.IrClass +import org.jetbrains.kotlin.ir.declarations.IrPackageFragment import org.jetbrains.kotlin.ir.types.IrSimpleType -import org.jetbrains.kotlin.ir.types.IdSignatureValues -import org.jetbrains.kotlin.ir.util.IdSignature +import org.jetbrains.kotlin.ir.types.classOrNull import org.jetbrains.kotlin.name.FqName class PrimitiveTypeMapping(val logger: Logger, val pluginContext: IrPluginContext) { - fun getPrimitiveInfo(s: IrSimpleType) = mapping[s.classifier.signature] + fun getPrimitiveInfo(s: IrSimpleType) = + s.classOrNull?.let { + if ((it.owner.parent as? IrPackageFragment)?.fqName == StandardNames.BUILT_INS_PACKAGE_FQ_NAME) + mapping[it.owner.name] + else + null + } data class PrimitiveTypeInfo( val primitiveName: String?, @@ -60,25 +67,25 @@ class PrimitiveTypeMapping(val logger: Logger, val pluginContext: IrPluginContex val javaLangVoid = findClass("java.lang.Void", kotlinNothing) mapOf( - IdSignatureValues._byte to PrimitiveTypeInfo("byte", true, javaLangByte, "kotlin", "Byte"), - IdSignatureValues._short to PrimitiveTypeInfo("short", true, javaLangShort, "kotlin", "Short"), - IdSignatureValues._int to PrimitiveTypeInfo("int", true, javaLangInteger, "kotlin", "Int"), - IdSignatureValues._long to PrimitiveTypeInfo("long", true, javaLangLong, "kotlin", "Long"), + StandardNames.FqNames._byte.shortName() to PrimitiveTypeInfo("byte", true, javaLangByte, "kotlin", "Byte"), + StandardNames.FqNames._short.shortName() to PrimitiveTypeInfo("short", true, javaLangShort, "kotlin", "Short"), + StandardNames.FqNames._int.shortName() to PrimitiveTypeInfo("int", true, javaLangInteger, "kotlin", "Int"), + StandardNames.FqNames._long.shortName() to PrimitiveTypeInfo("long", true, javaLangLong, "kotlin", "Long"), - IdSignatureValues.uByte to PrimitiveTypeInfo("byte", true, kotlinUByte, "kotlin", "UByte"), - IdSignatureValues.uShort to PrimitiveTypeInfo("short", true, kotlinUShort, "kotlin", "UShort"), - IdSignatureValues.uInt to PrimitiveTypeInfo("int", true, kotlinUInt, "kotlin", "UInt"), - IdSignatureValues.uLong to PrimitiveTypeInfo("long", true, kotlinULong, "kotlin", "ULong"), + StandardNames.FqNames.uByteFqName.shortName() to PrimitiveTypeInfo("byte", true, kotlinUByte, "kotlin", "UByte"), + StandardNames.FqNames.uShortFqName.shortName() to PrimitiveTypeInfo("short", true, kotlinUShort, "kotlin", "UShort"), + StandardNames.FqNames.uIntFqName.shortName() to PrimitiveTypeInfo("int", true, kotlinUInt, "kotlin", "UInt"), + StandardNames.FqNames.uLongFqName.shortName() to PrimitiveTypeInfo("long", true, kotlinULong, "kotlin", "ULong"), - IdSignatureValues._double to PrimitiveTypeInfo("double", true, javaLangDouble, "kotlin", "Double"), - IdSignatureValues._float to PrimitiveTypeInfo("float", true, javaLangFloat, "kotlin", "Float"), + StandardNames.FqNames._double.shortName() to PrimitiveTypeInfo("double", true, javaLangDouble, "kotlin", "Double"), + StandardNames.FqNames._float.shortName() to PrimitiveTypeInfo("float", true, javaLangFloat, "kotlin", "Float"), - IdSignatureValues._boolean to PrimitiveTypeInfo("boolean", true, javaLangBoolean, "kotlin", "Boolean"), + StandardNames.FqNames._boolean.shortName() to PrimitiveTypeInfo("boolean", true, javaLangBoolean, "kotlin", "Boolean"), - IdSignatureValues._char to PrimitiveTypeInfo("char", true, javaLangCharacter, "kotlin", "Char"), + StandardNames.FqNames._char.shortName() to PrimitiveTypeInfo("char", true, javaLangCharacter, "kotlin", "Char"), - IdSignatureValues.unit to PrimitiveTypeInfo("void", false, kotlinUnit, "kotlin", "Unit"), - IdSignatureValues.nothing to PrimitiveTypeInfo(null, true, javaLangVoid, "kotlin", "Nothing"), + StandardNames.FqNames.unit.shortName() to PrimitiveTypeInfo("void", false, kotlinUnit, "kotlin", "Unit"), + StandardNames.FqNames.nothing.shortName() to PrimitiveTypeInfo(null, true, javaLangVoid, "kotlin", "Nothing"), ) }() } diff --git a/java/kotlin-extractor/src/main/kotlin/comments/CommentExtractor.kt b/java/kotlin-extractor/src/main/kotlin/comments/CommentExtractor.kt index 93d3c0534de..03f032f8810 100644 --- a/java/kotlin-extractor/src/main/kotlin/comments/CommentExtractor.kt +++ b/java/kotlin-extractor/src/main/kotlin/comments/CommentExtractor.kt @@ -16,7 +16,8 @@ import org.jetbrains.kotlin.psi.psiUtil.startOffset class CommentExtractor(private val fileExtractor: KotlinFileExtractor, private val file: IrFile, private val fileLabel: Label) { private val tw = fileExtractor.tw private val logger = fileExtractor.logger - private val ktFile = Psi2Ir().getKtFile(file) + private val psi2Ir = Psi2Ir(logger) + private val ktFile = psi2Ir.getKtFile(file) fun extract() { if (ktFile == null) { @@ -85,7 +86,7 @@ class CommentExtractor(private val fileExtractor: KotlinFileExtractor, private v val ownerPsi = getKDocOwner(comment) ?: return val owners = mutableListOf() - file.accept(IrVisitorLookup(ownerPsi, file), owners) + file.accept(IrVisitorLookup(psi2Ir, ownerPsi, file), owners) for (ownerIr in owners) { val ownerLabel = diff --git a/java/kotlin-extractor/src/main/kotlin/utils/AutoCloseableUse.kt b/java/kotlin-extractor/src/main/kotlin/utils/AutoCloseableUse.kt index fe68f308893..dad820ab6ee 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/AutoCloseableUse.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/AutoCloseableUse.kt @@ -40,4 +40,4 @@ fun AutoCloseable?.closeFinallyAC(cause: Throwable?) = when { } catch (closeException: Throwable) { cause.addSuppressed(closeException) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/ClassNames.kt b/java/kotlin-extractor/src/main/kotlin/utils/ClassNames.kt index 5a9713087eb..15ca35a1438 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/ClassNames.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/ClassNames.kt @@ -1,5 +1,6 @@ package com.github.codeql +import com.github.codeql.utils.getJvmName import com.intellij.openapi.vfs.StandardFileSystems import org.jetbrains.kotlin.load.java.sources.JavaSourceElement import org.jetbrains.kotlin.load.java.structure.impl.classFiles.BinaryJavaClass @@ -18,17 +19,19 @@ import org.jetbrains.kotlin.load.kotlin.JvmPackagePartSource // and declarations within them into the parent class' JLS 13.1 name as // specified above, followed by a `$` separator and then the short name // for `that`. +private fun getName(d: IrDeclarationWithName) = (d as? IrAnnotationContainer)?.let { getJvmName(it) } ?: d.name.asString() + fun getIrDeclBinaryName(that: IrDeclaration): String { val shortName = when(that) { - is IrDeclarationWithName -> that.name.asString() + is IrDeclarationWithName -> getName(that) else -> "(unknown-name)" } val internalName = StringBuilder(shortName); generateSequence(that.parent) { (it as? IrDeclaration)?.parent } .forEach { when (it) { - is IrClass -> internalName.insert(0, it.name.asString() + "$") - is IrPackageFragment -> it.fqName.asString().takeIf { it.isNotEmpty() }?.let { internalName.insert(0, "$it.") } + is IrClass -> internalName.insert(0, getName(it) + "$") + is IrPackageFragment -> it.fqName.asString().takeIf { fqName -> fqName.isNotEmpty() }?.let { fqName -> internalName.insert(0, "$fqName.") } } } return internalName.toString() @@ -65,7 +68,7 @@ fun getIrClassVirtualFile(irClass: IrClass): VirtualFile? { return null } -fun getRawIrClassBinaryPath(irClass: IrClass) = +private fun getRawIrClassBinaryPath(irClass: IrClass) = getIrClassVirtualFile(irClass)?.let { val path = it.path if(it.fileSystem.protocol == StandardFileSystems.JRT_PROTOCOL) @@ -89,4 +92,4 @@ fun getContainingClassOrSelf(decl: IrDeclaration): IrClass? { } fun getJavaEquivalentClassId(c: IrClass) = - c.fqNameWhenAvailable?.toUnsafe()?.let { JavaToKotlinClassMap.mapKotlinToJava(it) } \ No newline at end of file + c.fqNameWhenAvailable?.toUnsafe()?.let { JavaToKotlinClassMap.mapKotlinToJava(it) } diff --git a/java/kotlin-extractor/src/main/kotlin/utils/IrVisitorLookup.kt b/java/kotlin-extractor/src/main/kotlin/utils/IrVisitorLookup.kt index 0020d00fac4..a25c1a4534f 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/IrVisitorLookup.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/IrVisitorLookup.kt @@ -8,7 +8,7 @@ import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.ir.util.isFakeOverride import org.jetbrains.kotlin.ir.visitors.IrElementVisitor -class IrVisitorLookup(private val psi: PsiElement, private val file: IrFile) : +class IrVisitorLookup(private val psi2Ir: Psi2Ir, private val psi: PsiElement, private val file: IrFile) : IrElementVisitor> { private val location = psi.getLocation() @@ -27,7 +27,7 @@ class IrVisitorLookup(private val psi: PsiElement, private val file: IrFile) : } if (location.contains(elementLocation)) { - val psiElement = Psi2Ir().findPsiElement(element, file) + val psiElement = psi2Ir.findPsiElement(element, file) if (psiElement == psi) { // There can be multiple IrElements that match the same PSI element. data.add(element) @@ -35,4 +35,4 @@ class IrVisitorLookup(private val psi: PsiElement, private val file: IrFile) : } element.acceptChildren(this, data) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/JvmNames.kt b/java/kotlin-extractor/src/main/kotlin/utils/JvmNames.kt new file mode 100644 index 00000000000..76d155f8b22 --- /dev/null +++ b/java/kotlin-extractor/src/main/kotlin/utils/JvmNames.kt @@ -0,0 +1,92 @@ +package com.github.codeql.utils + +import org.jetbrains.kotlin.backend.common.ir.allOverridden +import org.jetbrains.kotlin.builtins.StandardNames +import org.jetbrains.kotlin.ir.declarations.IrAnnotationContainer +import org.jetbrains.kotlin.ir.declarations.IrClass +import org.jetbrains.kotlin.ir.declarations.IrFunction +import org.jetbrains.kotlin.ir.declarations.IrSimpleFunction +import org.jetbrains.kotlin.ir.expressions.IrConst +import org.jetbrains.kotlin.ir.expressions.IrConstructorCall +import org.jetbrains.kotlin.ir.types.IrSimpleType +import org.jetbrains.kotlin.ir.util.fqNameWhenAvailable +import org.jetbrains.kotlin.ir.util.packageFqName +import org.jetbrains.kotlin.ir.util.parentClassOrNull +import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.Name + +private data class MethodKey(val className: FqName, val functionName: Name) + +private fun makeDescription(className: FqName, functionName: String) = MethodKey(className, Name.guessByFirstCharacter(functionName)) + +// This essentially mirrors SpecialBridgeMethods.kt, a backend pass which isn't easily available to our extractor. +private val specialFunctions = mapOf( + makeDescription(StandardNames.FqNames.collection, "") to "size", + makeDescription(FqName("java.util.Collection"), "") to "size", + makeDescription(StandardNames.FqNames.map, "") to "size", + makeDescription(FqName("java.util.Map"), "") to "size", + makeDescription(StandardNames.FqNames.charSequence.toSafe(), "") to "length", + makeDescription(FqName("java.lang.CharSequence"), "") to "length", + makeDescription(StandardNames.FqNames.map, "") to "keySet", + makeDescription(FqName("java.util.Map"), "") to "keySet", + makeDescription(StandardNames.FqNames.map, "") to "values", + makeDescription(FqName("java.util.Map"), "") to "values", + makeDescription(StandardNames.FqNames.map, "") to "entrySet", + makeDescription(FqName("java.util.Map"), "") to "entrySet", + makeDescription(StandardNames.FqNames.mutableList, "removeAt") to "remove", + makeDescription(FqName("java.util.List"), "removeAt") to "remove", + makeDescription(StandardNames.FqNames._enum.toSafe(), "") to "ordinal", + makeDescription(FqName("java.lang.Enum"), "") to "ordinal", + makeDescription(StandardNames.FqNames._enum.toSafe(), "") to "name", + makeDescription(FqName("java.lang.Enum"), "") to "name", + makeDescription(StandardNames.FqNames.number.toSafe(), "toByte") to "byteValue", + makeDescription(FqName("java.lang.Number"), "toByte") to "byteValue", + makeDescription(StandardNames.FqNames.number.toSafe(), "toShort") to "shortValue", + makeDescription(FqName("java.lang.Number"), "toShort") to "shortValue", + makeDescription(StandardNames.FqNames.number.toSafe(), "toInt") to "intValue", + makeDescription(FqName("java.lang.Number"), "toInt") to "intValue", + makeDescription(StandardNames.FqNames.number.toSafe(), "toLong") to "longValue", + makeDescription(FqName("java.lang.Number"), "toLong") to "longValue", + makeDescription(StandardNames.FqNames.number.toSafe(), "toFloat") to "floatValue", + makeDescription(FqName("java.lang.Number"), "toFloat") to "floatValue", + makeDescription(StandardNames.FqNames.number.toSafe(), "toDouble") to "doubleValue", + makeDescription(FqName("java.lang.Number"), "toDouble") to "doubleValue", + makeDescription(StandardNames.FqNames.string.toSafe(), "get") to "charAt", + makeDescription(FqName("java.lang.String"), "get") to "charAt", +) + +private val specialFunctionShortNames = specialFunctions.keys.map { it.functionName }.toSet() + +private fun getSpecialJvmName(f: IrFunction): String? { + if (specialFunctionShortNames.contains(f.name) && f is IrSimpleFunction) { + f.allOverridden(true).forEach { overriddenFunc -> + overriddenFunc.parentClassOrNull?.fqNameWhenAvailable?.let { parentFqName -> + specialFunctions[MethodKey(parentFqName, f.name)]?.let { + return it + } + } + } + } + return null +} + +fun getJvmName(container: IrAnnotationContainer): String? { + for(a: IrConstructorCall in container.annotations) { + val t = a.type + if (t is IrSimpleType && a.valueArgumentsCount == 1) { + val owner = t.classifier.owner + val v = a.getValueArgument(0) + if (owner is IrClass) { + val aPkg = owner.packageFqName?.asString() + val name = owner.name.asString() + if(aPkg == "kotlin.jvm" && name == "JvmName" && v is IrConst<*>) { + val value = v.value + if (value is String) { + return value + } + } + } + } + } + return (container as? IrFunction)?.let { getSpecialJvmName(container) } +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt b/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt index 1349380cbc4..ca27217ac6c 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/Logger.kt @@ -207,20 +207,6 @@ open class LoggerBase(val logCounter: LogCounter) { } open class Logger(val loggerBase: LoggerBase, open val tw: TrapWriter) { - private fun getDiagnosticLocation(): String? { - val st = Exception().stackTrace - for(x in st) { - when(x.className) { - "com.github.codeql.Logger", - "com.github.codeql.FileLogger" -> {} - else -> { - return x.toString() - } - } - } - return null - } - fun flush() { tw.flush() loggerBase.flush() @@ -240,7 +226,7 @@ open class Logger(val loggerBase: LoggerBase, open val tw: TrapWriter) { loggerBase.info(tw, msg) } - fun warn(msg: String, extraInfo: String?) { + private fun warn(msg: String, extraInfo: String?) { loggerBase.warn(tw, msg, extraInfo) } fun warn(msg: String, exn: Throwable) { @@ -250,7 +236,7 @@ open class Logger(val loggerBase: LoggerBase, open val tw: TrapWriter) { warn(msg, null) } - fun error(msg: String, extraInfo: String?) { + private fun error(msg: String, extraInfo: String?) { loggerBase.error(tw, msg, extraInfo) } fun error(msg: String) { diff --git a/java/kotlin-extractor/src/main/kotlin/utils/TypeSubstitution.kt b/java/kotlin-extractor/src/main/kotlin/utils/TypeSubstitution.kt index b249bb0091a..694b3dff289 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/TypeSubstitution.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/TypeSubstitution.kt @@ -37,7 +37,7 @@ fun IrType.substituteTypeArguments(params: List, arguments: Lis else -> this } -fun IrSimpleType.substituteTypeArguments(substitutionMap: Map): IrSimpleType { +private fun IrSimpleType.substituteTypeArguments(substitutionMap: Map): IrSimpleType { if (substitutionMap.isEmpty()) return this val newArguments = arguments.map { @@ -100,7 +100,7 @@ private fun subProjectedType(substitutionMap: Map context.irBuiltIns.anyNType is IrTypeProjection -> when(this.variance) { @@ -111,7 +111,7 @@ fun IrTypeArgument.upperBound(context: IrPluginContext) = else -> context.irBuiltIns.anyNType } -fun IrTypeArgument.lowerBound(context: IrPluginContext) = +private fun IrTypeArgument.lowerBound(context: IrPluginContext) = when(this) { is IrStarProjection -> context.irBuiltIns.nothingType is IrTypeProjection -> when(this.variance) { @@ -200,7 +200,7 @@ fun IrTypeArgument.withQuestionMark(b: Boolean): IrTypeArgument = typealias TypeSubstitution = (IrType, KotlinUsesExtractor.TypeContext, IrPluginContext) -> IrType -fun matchingTypeParameters(l: IrTypeParameter?, r: IrTypeParameter): Boolean { +private fun matchingTypeParameters(l: IrTypeParameter?, r: IrTypeParameter): Boolean { if (l === r) return true if (l == null) diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_4_32/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_4_32/Psi2Ir.kt index 16ee288d05a..fce55c87cd6 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_4_32/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_4_32/Psi2Ir.kt @@ -1,21 +1,19 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi2ir.PsiSourceManager - -class Psi2Ir : Psi2IrFacade { - companion object { - val psiManager = PsiSourceManager() - } +class Psi2Ir(private val logger: FileLogger) : Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { - return psiManager.getKtFile(irFile) + logger.warn("Comment extraction is not supported for Kotlin < 1.5.20") + return null } override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { - return psiManager.findPsiElement(irElement, irFile) + logger.error("Attempted comment extraction for Kotlin < 1.5.20") + return null } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt index 16ee288d05a..fce55c87cd6 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_0/Psi2Ir.kt @@ -1,21 +1,19 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi2ir.PsiSourceManager - -class Psi2Ir : Psi2IrFacade { - companion object { - val psiManager = PsiSourceManager() - } +class Psi2Ir(private val logger: FileLogger) : Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { - return psiManager.getKtFile(irFile) + logger.warn("Comment extraction is not supported for Kotlin < 1.5.20") + return null } override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { - return psiManager.findPsiElement(irElement, irFile) + logger.error("Attempted comment extraction for Kotlin < 1.5.20") + return null } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_10/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_10/Psi2Ir.kt index 16ee288d05a..fce55c87cd6 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_10/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_10/Psi2Ir.kt @@ -1,21 +1,19 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -import org.jetbrains.kotlin.psi2ir.PsiSourceManager - -class Psi2Ir : Psi2IrFacade { - companion object { - val psiManager = PsiSourceManager() - } +class Psi2Ir(private val logger: FileLogger) : Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { - return psiManager.getKtFile(irFile) + logger.warn("Comment extraction is not supported for Kotlin < 1.5.20") + return null } override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { - return psiManager.findPsiElement(irElement, irFile) + logger.error("Attempted comment extraction for Kotlin < 1.5.20") + return null } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_21/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_21/Psi2Ir.kt index 256a8b3bb63..8e21191f2a0 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_21/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_21/Psi2Ir.kt @@ -1,5 +1,6 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.backend.common.psi.PsiSourceManager import org.jetbrains.kotlin.backend.jvm.ir.getKtFile @@ -7,7 +8,7 @@ import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -class Psi2Ir: Psi2IrFacade { +class Psi2Ir(private val logger: FileLogger): Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { return irFile.getKtFile() } @@ -15,4 +16,4 @@ class Psi2Ir: Psi2IrFacade { override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { return PsiSourceManager.findPsiElement(irElement, irFile) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_31/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_31/Psi2Ir.kt index 256a8b3bb63..8e21191f2a0 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_31/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_5_31/Psi2Ir.kt @@ -1,5 +1,6 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.backend.common.psi.PsiSourceManager import org.jetbrains.kotlin.backend.jvm.ir.getKtFile @@ -7,7 +8,7 @@ import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -class Psi2Ir: Psi2IrFacade { +class Psi2Ir(private val logger: FileLogger): Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { return irFile.getKtFile() } @@ -15,4 +16,4 @@ class Psi2Ir: Psi2IrFacade { override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { return PsiSourceManager.findPsiElement(irElement, irFile) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_10/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_10/Psi2Ir.kt index 256a8b3bb63..8e21191f2a0 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_10/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_10/Psi2Ir.kt @@ -1,5 +1,6 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.backend.common.psi.PsiSourceManager import org.jetbrains.kotlin.backend.jvm.ir.getKtFile @@ -7,7 +8,7 @@ import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -class Psi2Ir: Psi2IrFacade { +class Psi2Ir(private val logger: FileLogger): Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { return irFile.getKtFile() } @@ -15,4 +16,4 @@ class Psi2Ir: Psi2IrFacade { override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { return PsiSourceManager.findPsiElement(irElement, irFile) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_20/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_20/Psi2Ir.kt index 256a8b3bb63..8e21191f2a0 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_20/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_6_20/Psi2Ir.kt @@ -1,5 +1,6 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.backend.common.psi.PsiSourceManager import org.jetbrains.kotlin.backend.jvm.ir.getKtFile @@ -7,7 +8,7 @@ import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -class Psi2Ir: Psi2IrFacade { +class Psi2Ir(private val logger: FileLogger): Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { return irFile.getKtFile() } @@ -15,4 +16,4 @@ class Psi2Ir: Psi2IrFacade { override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { return PsiSourceManager.findPsiElement(irElement, irFile) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Descriptors.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Descriptors.kt deleted file mode 100644 index 77cd96d541d..00000000000 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Descriptors.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.github.codeql.utils.versions - -import com.github.codeql.KotlinUsesExtractor -import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator - -fun KotlinUsesExtractor.getIrStubFromDescriptor(generateStub: (DeclarationStubGenerator) -> TIrStub) : TIrStub? { - logger.error("Descriptors not yet supported for Kotlin 1.7") - return null -} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Descriptors.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Descriptors.kt new file mode 100644 index 00000000000..45b2afcc858 --- /dev/null +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Descriptors.kt @@ -0,0 +1,27 @@ +package com.github.codeql.utils.versions + +import com.github.codeql.KotlinUsesExtractor +import org.jetbrains.kotlin.backend.common.serialization.DescriptorByIdSignatureFinderImpl +import org.jetbrains.kotlin.idea.MainFunctionDetector +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.backend.jvm.serialization.JvmDescriptorMangler +import org.jetbrains.kotlin.ir.util.DeclarationStubGenerator +import org.jetbrains.kotlin.ir.util.SymbolTable +import org.jetbrains.kotlin.psi2ir.generators.DeclarationStubGeneratorImpl + +@OptIn(ObsoleteDescriptorBasedAPI::class) +fun KotlinUsesExtractor.getIrStubFromDescriptor(generateStub: (DeclarationStubGenerator) -> TIrStub) : TIrStub? = + (pluginContext.symbolTable as? SymbolTable) ?.let { + // Copying the construction seen in JvmIrLinker.kt + val mangler = JvmDescriptorMangler(MainFunctionDetector(pluginContext.bindingContext, pluginContext.languageVersionSettings)) + val descriptorFinder = DescriptorByIdSignatureFinderImpl( + pluginContext.moduleDescriptor, + mangler, + DescriptorByIdSignatureFinderImpl.LookupMode.MODULE_ONLY + ) + val stubGenerator = DeclarationStubGeneratorImpl(pluginContext.moduleDescriptor, it, pluginContext.irBuiltIns, descriptorFinder) + generateStub(stubGenerator) + } ?: run { + logger.error("Plugin context has no symbol table, couldn't get IR stub") + null + } diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/FileEntry.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/FileEntry.kt similarity index 100% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/FileEntry.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/FileEntry.kt diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Functions.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Functions.kt similarity index 100% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Functions.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Functions.kt diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Psi2Ir.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Psi2Ir.kt similarity index 85% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Psi2Ir.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Psi2Ir.kt index 256a8b3bb63..8e21191f2a0 100644 --- a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Psi2Ir.kt +++ b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Psi2Ir.kt @@ -1,5 +1,6 @@ package com.github.codeql.utils.versions +import com.github.codeql.FileLogger import com.intellij.psi.PsiElement import org.jetbrains.kotlin.backend.common.psi.PsiSourceManager import org.jetbrains.kotlin.backend.jvm.ir.getKtFile @@ -7,7 +8,7 @@ import org.jetbrains.kotlin.ir.IrElement import org.jetbrains.kotlin.ir.declarations.IrFile import org.jetbrains.kotlin.psi.KtFile -class Psi2Ir: Psi2IrFacade { +class Psi2Ir(private val logger: FileLogger): Psi2IrFacade { override fun getKtFile(irFile: IrFile): KtFile? { return irFile.getKtFile() } @@ -15,4 +16,4 @@ class Psi2Ir: Psi2IrFacade { override fun findPsiElement(irElement: IrElement, irFile: IrFile): PsiElement? { return PsiSourceManager.findPsiElement(irElement, irFile) } -} \ No newline at end of file +} diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Types.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Types.kt similarity index 100% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/Types.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/Types.kt diff --git a/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/withHasQuestionMark.kt b/java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/withHasQuestionMark.kt similarity index 100% rename from java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0-RC/withHasQuestionMark.kt rename to java/kotlin-extractor/src/main/kotlin/utils/versions/v_1_7_0/withHasQuestionMark.kt diff --git a/java/ql/consistency-queries/calls.ql b/java/ql/consistency-queries/calls.ql index 207d7bd45b3..78ebc3fa9a6 100644 --- a/java/ql/consistency-queries/calls.ql +++ b/java/ql/consistency-queries/calls.ql @@ -1,5 +1,10 @@ import java from MethodAccess ma -where not exists(ma.getQualifier()) and ma.getFile().isKotlinSourceFile() +// Generally Kotlin calls will always use an explicit qualifier, except for calls +// to the synthetic instance initializer , which use an implicit `this`. +where + not exists(ma.getQualifier()) and + ma.getFile().isKotlinSourceFile() and + not ma.getCallee() instanceof InstanceInitializer select ma diff --git a/java/ql/consistency-queries/typeParametersInScope.ql b/java/ql/consistency-queries/typeParametersInScope.ql index f78bf2d42a4..2f1fd651278 100644 --- a/java/ql/consistency-queries/typeParametersInScope.ql +++ b/java/ql/consistency-queries/typeParametersInScope.ql @@ -12,6 +12,8 @@ Type getAMentionedType(RefType type) { result = getAMentionedType(type).(InstantiatedType).getATypeArgument() or result = getAMentionedType(type).(NestedType).getEnclosingType() + or + result = getAMentionedType(type).(Wildcard).getATypeBound().getType() } Type getATypeUsedInClass(RefType type) { diff --git a/java/ql/consistency-queries/visibility.ql b/java/ql/consistency-queries/visibility.ql new file mode 100644 index 00000000000..1b6744cea1d --- /dev/null +++ b/java/ql/consistency-queries/visibility.ql @@ -0,0 +1,23 @@ +import java + +string visibility(Method m) { + result = "public" and m.isPublic() + or + result = "protected" and m.isProtected() + or + result = "private" and m.isPrivate() + or + result = "internal" and m.isInternal() +} + +// TODO: This ought to check more than just methods +from Method m +where + // TODO: This ought to work for everything, but for now we + // restrict to things in Kotlin source files + m.getFile().isKotlinSourceFile() and + // TODO: This ought to have visibility information + not m.getName() = "" and + count(visibility(m)) != 1 and + not (count(visibility(m)) = 2 and visibility(m) = "public" and visibility(m) = "internal") // This is a reasonable result, since the JVM symbol is declared public, but Kotlin metadata flags it as internal +select m, concat(visibility(m), ", ") diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/PrintAst.expected b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/PrintAst.expected new file mode 100644 index 00000000000..51186ef7b15 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/PrintAst.expected @@ -0,0 +1,83 @@ +a.kt: +# 0| [CompilationUnit] a +# 1| 1: [Class] A +# 0| 1: [Method] +# 0| 3: [TypeAccess] int +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [IntegerLiteral] 42 +# 1| 2: [Constructor] A +# 1| 5: [BlockStmt] { ... } +# 1| 0: [SuperConstructorInvocationStmt] super(...) +# 1| 1: [BlockStmt] { ... } +# 2| 3: [Method] f1 +# 2| 3: [TypeAccess] int +# 2| 5: [BlockStmt] { ... } +# 2| 0: [ReturnStmt] return ... +# 2| 0: [IntegerLiteral] 1 +b.kt: +# 0| [CompilationUnit] b +# 1| 1: [Class] B +# 0| 1: [Method] +# 0| 3: [TypeAccess] int +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [UnsafeCoerceExpr] +# 0| 0: [TypeAccess] int +# 0| 1: [IntegerLiteral] 1 +# 1| 2: [Constructor] B +# 1| 5: [BlockStmt] { ... } +# 1| 0: [SuperConstructorInvocationStmt] super(...) +# 1| 1: [BlockStmt] { ... } +c.kt: +# 0| [CompilationUnit] c +# 1| 1: [Class] C +# 0| 1: [Method] +# 0| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 0| 0: [Parameter] param +# 0| 0: [TypeAccess] ProcessBuilder +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [MethodAccess] start(...) +# 0| -1: [VarAccess] param +# 1| 2: [Constructor] C +# 1| 5: [BlockStmt] { ... } +# 1| 0: [SuperConstructorInvocationStmt] super(...) +# 1| 1: [BlockStmt] { ... } +d.kt: +# 0| [CompilationUnit] d +# 1| 1: [Class] D +# 0| 2: [FieldDeclaration] String bar; +# 0| -1: [TypeAccess] String +# 0| 0: [StringLiteral] Foobar +# 1| 3: [Constructor] D +# 1| 5: [BlockStmt] { ... } +# 1| 0: [SuperConstructorInvocationStmt] super(...) +# 1| 1: [BlockStmt] { ... } +e.kt: +# 0| [CompilationUnit] e +# 1| 1: [Class] E +# 0| 1: [Method] +# 0| 3: [TypeAccess] boolean +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [MethodAccess] add(...) +# 0| -1: [ClassInstanceExpr] new ArrayList(...) +# 0| -3: [TypeAccess] ArrayList +# 0| 0: [IntegerLiteral] 1 +# 0| 0: [NullLiteral] null +# 0| 2: [Method] +# 0| 3: [TypeAccess] Object +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [MethodAccess] put(...) +# 0| -1: [ClassInstanceExpr] new LinkedHashMap(...) +# 0| -3: [TypeAccess] LinkedHashMap +# 0| 0: [IntegerLiteral] 1 +# 0| 0: [NullLiteral] null +# 0| 1: [NullLiteral] null +# 1| 3: [Constructor] E +# 1| 5: [BlockStmt] { ... } +# 1| 0: [SuperConstructorInvocationStmt] super(...) +# 1| 1: [BlockStmt] { ... } diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/PrintAst.qlref b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/PrintAst.qlref new file mode 100644 index 00000000000..c7fd5faf239 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/PrintAst.qlref @@ -0,0 +1 @@ +semmle/code/java/PrintAst.ql \ No newline at end of file diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/a.kt b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/a.kt new file mode 100644 index 00000000000..922e7e86703 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/a.kt @@ -0,0 +1,3 @@ +class A { + fun f1() = 1 +} diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/b.kt b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/b.kt new file mode 100644 index 00000000000..7d95eb64996 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/b.kt @@ -0,0 +1,2 @@ +class B { +} diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/build_plugin b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/build_plugin new file mode 100755 index 00000000000..c38ab33eb75 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/build_plugin @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +import subprocess +import shutil +import os +import os.path +import sys +import shlex + + +def run_process(cmd): + try: + print("Running command: " + shlex.join(cmd)) + return subprocess.run(cmd, check=True, capture_output=True) + except subprocess.CalledProcessError as e: + print("In: " + os.getcwd(), file=sys.stderr) + print("Command failed: " + shlex.join(cmd), file=sys.stderr) + print("stdout output:\n" + e.stdout.decode(encoding='UTF-8', + errors='strict'), file=sys.stderr) + print("stderr output:\n" + e.stderr.decode(encoding='UTF-8', + errors='strict'), file=sys.stderr) + raise e + +root = '../../../../../../../../..' + +sys.path.append(root + '/ql/java/kotlin-extractor') +import kotlin_plugin_versions +defaultKotlinDependencyVersion = kotlin_plugin_versions.get_single_version() + +builddir = 'build' +dependency_dir = root + '/resources/kotlin-dependencies/' +dependencies = ['kotlin-stdlib-' + defaultKotlinDependencyVersion + + '.jar', 'kotlin-compiler-' + defaultKotlinDependencyVersion + '.jar'] +classpath = ':'.join([dependency_dir + dep for dep in dependencies]) +srcs = ['plugin/Plugin.kt'] +output = 'plugin.jar' + +if os.path.exists(builddir): + shutil.rmtree(builddir) +os.makedirs(builddir) + +run_process(['kotlinc', + '-J-Xmx2G', + '-d', builddir, + '-module-name', 'test', + '-no-reflect', '-no-stdlib', + '-jvm-target', '1.8', + '-classpath', classpath] + srcs) + +run_process(['jar', '-c', '-f', output, + '-C', builddir, '.', + '-C', 'plugin/resources', 'META-INF']) +shutil.rmtree(builddir) diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/c.kt b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/c.kt new file mode 100644 index 00000000000..b0a84db03d1 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/c.kt @@ -0,0 +1 @@ +class C { } diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/d.kt b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/d.kt new file mode 100644 index 00000000000..8472937f6bc --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/d.kt @@ -0,0 +1 @@ +class D { } diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.expected b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.expected new file mode 100644 index 00000000000..183abf9a986 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.expected @@ -0,0 +1,2 @@ +| CodeQL Kotlin extractor | 2 | | IrProperty without a getter | d.kt:0:0:0:0 | d.kt:0:0:0:0 | +| CodeQL Kotlin extractor | 2 | | Not rewriting trap file for: Boolean -1.0-0- -1.0-0-null test-db/trap/java/classes/kotlin/Boolean.members.trap.gz | file://:0:0:0:0 | file://:0:0:0:0 | diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.ql b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.ql new file mode 100755 index 00000000000..57ec32bb048 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/diagnostics.ql @@ -0,0 +1,13 @@ +import java + +from string genBy, int severity, string tag, string msg, Location l +where + diagnostics(_, genBy, severity, tag, msg, _, l) and + ( + // Different installations get different sets of these messages, + // so we filter out all but one that happens everywhere. + msg.matches("Not rewriting trap file for: %") + implies + msg.matches("Not rewriting trap file for: Boolean %") + ) +select genBy, severity, tag, msg, l diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/e.kt b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/e.kt new file mode 100644 index 00000000000..f4b8aa5df61 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/e.kt @@ -0,0 +1 @@ +class E { } diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/methods.expected b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/methods.expected new file mode 100644 index 00000000000..c485610e7b3 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/methods.expected @@ -0,0 +1,7 @@ +| a.kt:0:0:0:0 | | has body | +| a.kt:2:5:2:16 | f1 | has body | +| b.kt:0:0:0:0 | | has body | +| c.kt:0:0:0:0 | | has body | +| d.kt:0:0:0:0 | | has body | +| e.kt:0:0:0:0 | | has body | +| e.kt:0:0:0:0 | | has body | diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/methods.ql b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/methods.ql new file mode 100755 index 00000000000..adb7c8784e5 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/methods.ql @@ -0,0 +1,7 @@ +import java + +from Method m, string body +where + m.fromSource() and + if exists(m.getBody()) then body = "has body" else body = "has no body" +select m, body diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/Plugin.kt b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/Plugin.kt new file mode 100644 index 00000000000..c88410ca9db --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/Plugin.kt @@ -0,0 +1,280 @@ +package com.github.codeql + +import com.intellij.mock.MockProject +import org.jetbrains.kotlin.backend.common.IrElementTransformerVoidWithContext +import org.jetbrains.kotlin.backend.common.extensions.IrGenerationExtension +import org.jetbrains.kotlin.backend.common.extensions.IrPluginContext +import org.jetbrains.kotlin.backend.common.ir.createImplicitParameterDeclarationWithWrappedDescriptor +import org.jetbrains.kotlin.backend.common.lower.DeclarationIrBuilder +import org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar +import org.jetbrains.kotlin.config.CompilerConfiguration +import org.jetbrains.kotlin.descriptors.ClassKind +import org.jetbrains.kotlin.descriptors.DescriptorVisibilities +import org.jetbrains.kotlin.descriptors.Modality +import org.jetbrains.kotlin.ir.IrStatement +import org.jetbrains.kotlin.ir.ObsoleteDescriptorBasedAPI +import org.jetbrains.kotlin.ir.builders.declarations.* +import org.jetbrains.kotlin.ir.builders.irCall +import org.jetbrains.kotlin.ir.builders.irExprBody +import org.jetbrains.kotlin.ir.builders.irGet +import org.jetbrains.kotlin.ir.declarations.* +import org.jetbrains.kotlin.ir.declarations.impl.IrExternalPackageFragmentImpl +import org.jetbrains.kotlin.ir.declarations.impl.IrFactoryImpl +import org.jetbrains.kotlin.ir.expressions.IrExpression +import org.jetbrains.kotlin.ir.expressions.impl.IrCallImpl +import org.jetbrains.kotlin.ir.expressions.impl.IrConstImpl +import org.jetbrains.kotlin.ir.expressions.impl.IrConstructorCallImpl +import org.jetbrains.kotlin.ir.symbols.IrClassSymbol +import org.jetbrains.kotlin.ir.symbols.IrConstructorSymbol +import org.jetbrains.kotlin.ir.symbols.IrSimpleFunctionSymbol +import org.jetbrains.kotlin.ir.types.IrType +import org.jetbrains.kotlin.ir.types.defaultType +import org.jetbrains.kotlin.ir.types.typeWith +import org.jetbrains.kotlin.ir.util.defaultType +import org.jetbrains.kotlin.name.FqName +import org.jetbrains.kotlin.name.Name + +class TestComponentRegistrar : ComponentRegistrar { + override fun registerProjectComponents( + project: MockProject, + configuration: CompilerConfiguration + ) { + IrGenerationExtension.registerExtension(project, IrAdder()) + } +} + +@OptIn(ObsoleteDescriptorBasedAPI::class) +class IrAdder : IrGenerationExtension { + override fun generate(moduleFragment: IrModuleFragment, pluginContext: IrPluginContext) { + + class AndroidSymbols { + private val irFactory: IrFactory = IrFactoryImpl + private val kotlinJvmInternalPackage: IrPackageFragment = createPackage("kotlin.jvm.internal") + private val javaUtil: IrPackageFragment = createPackage("java.util") + + private fun createPackage(packageName: String): IrPackageFragment = + IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment( + moduleFragment.descriptor, + FqName(packageName) + ) + + private fun createClass( + irPackage: IrPackageFragment, + shortName: String, + classKind: ClassKind, + classModality: Modality + ): IrClassSymbol = irFactory.buildClass { + name = Name.identifier(shortName) + kind = classKind + modality = classModality + }.apply { + parent = irPackage + createImplicitParameterDeclarationWithWrappedDescriptor() + }.symbol + + val unsafeCoerceIntrinsic: IrSimpleFunctionSymbol = + irFactory.buildFun { + name = Name.special("") + origin = IrDeclarationOrigin.IR_BUILTINS_STUB + }.apply { + parent = kotlinJvmInternalPackage + val src = addTypeParameter("T", pluginContext.irBuiltIns.anyNType) + val dst = addTypeParameter("R", pluginContext.irBuiltIns.anyNType) + addValueParameter("v", src.defaultType) + returnType = dst.defaultType + }.symbol + + val javaUtilArrayList: IrClassSymbol = + createClass(javaUtil, "ArrayList", ClassKind.CLASS, Modality.OPEN) + + val javaUtilLinkedHashMap: IrClassSymbol = + createClass(javaUtil, "LinkedHashMap", ClassKind.CLASS, Modality.OPEN) + + val arrayListConstructor: IrConstructorSymbol = javaUtilArrayList.owner.addConstructor().apply { + addValueParameter("p_0", pluginContext.irBuiltIns.intType) + }.symbol + + val arrayListAdd: IrSimpleFunctionSymbol = + javaUtilArrayList.owner.addFunction("add", pluginContext.irBuiltIns.booleanType).apply { + addValueParameter("p_0", pluginContext.irBuiltIns.anyNType) + }.symbol + + val linkedHashMapConstructor: IrConstructorSymbol = + javaUtilLinkedHashMap.owner.addConstructor().apply { + addValueParameter("p_0", pluginContext.irBuiltIns.intType) + }.symbol + + val linkedHashMapPut: IrSimpleFunctionSymbol = + javaUtilLinkedHashMap.owner.addFunction("put", pluginContext.irBuiltIns.anyNType).apply { + addValueParameter("p_0", pluginContext.irBuiltIns.anyNType) + addValueParameter("p_1", pluginContext.irBuiltIns.anyNType) + }.symbol + } + + moduleFragment.transform(object: IrElementTransformerVoidWithContext() { + override fun visitClassNew(declaration: IrClass): IrStatement { + if (declaration.name.asString() == "A") { + addFunWithExprBody(declaration) + } else if (declaration.name.asString() == "B") { + addFunWithUnsafeCoerce(declaration) + } else if (declaration.name.asString() == "C") { + addFunWithStubClass(declaration) + } else if (declaration.name.asString() == "D") { + addStaticFieldWithExprInit(declaration) + } else if (declaration.name.asString() == "E") { + addFunWithArrayListAdd(declaration) + addFunWithLinkedHashMapPut(declaration) + } + + return super.visitClassNew(declaration) + } + + fun unsafeCoerce(value: IrExpression, fromType: IrType, toType: IrType): IrExpression { + return IrCallImpl.fromSymbolOwner(-1, -1, toType, AndroidSymbols().unsafeCoerceIntrinsic).apply { + putTypeArgument(0, fromType) + putTypeArgument(1, toType) + putValueArgument(0, value) + } + } + + private fun arrayListAdd(): IrExpression { + // ArrayList(1).add(null) + var androidSymbols = AndroidSymbols() + return IrCallImpl.fromSymbolOwner(-1, -1, pluginContext.irBuiltIns.booleanType, androidSymbols.arrayListAdd).apply { + dispatchReceiver = IrConstructorCallImpl.fromSymbolOwner(-1,-1, androidSymbols.javaUtilArrayList.typeWith(), androidSymbols.arrayListConstructor).apply { + putValueArgument(0, IrConstImpl.int(-1, -1, pluginContext.irBuiltIns.intType, 1)) + } + putValueArgument(0, IrConstImpl.constNull(-1,-1, pluginContext.irBuiltIns.anyNType)) + } + } + + private fun linkedHashMapPut(): IrExpression { + // LinkedHashMap(1).put(null, null) + var androidSymbols = AndroidSymbols() + return IrCallImpl.fromSymbolOwner(-1, -1, pluginContext.irBuiltIns.anyNType, androidSymbols.linkedHashMapPut).apply { + dispatchReceiver = IrConstructorCallImpl.fromSymbolOwner(-1,-1, androidSymbols.javaUtilLinkedHashMap.typeWith(), androidSymbols.linkedHashMapConstructor).apply { + putValueArgument(0, IrConstImpl.int(-1, -1, pluginContext.irBuiltIns.intType, 1)) + } + putValueArgument(0, IrConstImpl.constNull(-1,-1, pluginContext.irBuiltIns.anyNType)) + putValueArgument(1, IrConstImpl.constNull(-1,-1, pluginContext.irBuiltIns.anyNType)) + } + } + + private fun addFunWithArrayListAdd(declaration: IrClass) { + declaration.declarations.add(pluginContext.irFactory.buildFun { + name = Name.identifier("") + returnType = pluginContext.irBuiltIns.booleanType + }. also { + it.body = DeclarationIrBuilder(pluginContext, it.symbol) + .irExprBody( + arrayListAdd() + ) + it.parent = declaration + }) + } + + private fun addFunWithLinkedHashMapPut(declaration: IrClass) { + declaration.declarations.add(pluginContext.irFactory.buildFun { + name = Name.identifier("") + returnType = pluginContext.irBuiltIns.anyNType + }. also { + it.body = DeclarationIrBuilder(pluginContext, it.symbol) + .irExprBody( + linkedHashMapPut() + ) + it.parent = declaration + }) + } + + private fun addFunWithUnsafeCoerce(declaration: IrClass) { + val uintType = pluginContext.referenceClass(FqName("kotlin.UInt"))!!.owner.typeWith() + declaration.declarations.add(pluginContext.irFactory.buildFun { + name = Name.identifier("") + returnType = uintType + }. also { + it.body = DeclarationIrBuilder(pluginContext, it.symbol) + .irExprBody( + unsafeCoerce(IrConstImpl.int(-1, -1, pluginContext.irBuiltIns.intType, 1), pluginContext.irBuiltIns.intType, uintType) + ) + it.parent = declaration + }) + } + + private fun addFunWithExprBody(declaration: IrClass) { + declaration.declarations.add(pluginContext.irFactory.buildFun { + name = Name.identifier("") + returnType = pluginContext.irBuiltIns.intType + }. also { + it.body = DeclarationIrBuilder(pluginContext, it.symbol) + .irExprBody( + IrConstImpl.int(-1, -1, pluginContext.irBuiltIns.intType, 42) + ) + it.parent = declaration + }) + } + + private fun addStaticFieldWithExprInit(declaration: IrClass) { + declaration.declarations.add(pluginContext.irFactory.buildProperty { + name = Name.identifier("bar") + isConst = true + visibility = DescriptorVisibilities.PRIVATE + }.also { irProperty -> + irProperty.backingField = pluginContext.irFactory.buildField { + name = Name.identifier("bar") + type = pluginContext.irBuiltIns.stringType + isStatic = true + visibility = DescriptorVisibilities.PRIVATE + }.also { irField -> + irField.initializer = DeclarationIrBuilder(pluginContext, irField.symbol) + .irExprBody( + IrConstImpl.string(-1, -1, pluginContext.irBuiltIns.stringType, "Foobar") + ) + irField.parent = declaration + } + irProperty.parent = declaration + }) + } + + val javaLangPackage = IrExternalPackageFragmentImpl.createEmptyExternalPackageFragment(pluginContext.moduleDescriptor, FqName("java.lang")) + + private fun makeJavaLangClass(fnName: String) = pluginContext.irFactory.buildClass { + name = Name.identifier(fnName) + kind = ClassKind.CLASS + origin = IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB + }.apply { + parent = javaLangPackage + createImplicitParameterDeclarationWithWrappedDescriptor() + } + + // This adds a function with a parameter whose type is a real class without its supertypes specified, + // mimicking the behaviour of the Kotlin android extensions gradle plugin, which refers to some real + // Android classes through these sorts of synthetic, incomplete references. The extractor should + // respond by replacing them with the real version available on the classpath. + // I pick the particular java.lang class "ProcessBuilder" since it is (a) always available and + // (b) not normally extracted by this project. + private fun addFunWithStubClass(declaration: IrClass) { + declaration.declarations.add(pluginContext.irFactory.buildFun { + name = Name.identifier("") + returnType = pluginContext.irBuiltIns.unitType + }. also { addedFn -> + val processBuilderStub = makeJavaLangClass("ProcessBuilder") + val processBuilderStubType = processBuilderStub.defaultType + val startProcessMethod = processBuilderStub.addFunction { + name = Name.identifier("start") + origin = IrDeclarationOrigin.IR_EXTERNAL_JAVA_DECLARATION_STUB + modality = Modality.FINAL + returnType = pluginContext.referenceClass(FqName("java.lang.Process"))!!.owner.defaultType + }.apply { + addDispatchReceiver { type = processBuilderStubType } + } + + val paramSymbol = addedFn.addValueParameter("param", processBuilderStubType) + DeclarationIrBuilder(pluginContext, addedFn.symbol).apply { + addedFn.body = irExprBody(irCall(startProcessMethod).apply { dispatchReceiver = irGet(paramSymbol) }) + addedFn.parent = declaration + } + }) + } + }, null) + } +} diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar new file mode 100644 index 00000000000..5d546a3b00a --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/plugin/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.ComponentRegistrar @@ -0,0 +1 @@ +com.github.codeql.TestComponentRegistrar diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/rootClasses.expected b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/rootClasses.expected new file mode 100644 index 00000000000..1f41ac1e6bb --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/rootClasses.expected @@ -0,0 +1,4 @@ +| file://:0:0:0:0 | fake.kotlin | FakeKotlinClass | +| file://:0:0:0:0 | java.lang | Object | +| file://:0:0:0:0 | kotlin | Any | +| file://:0:0:0:0 | kotlin | TypeParam | diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/rootClasses.ql b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/rootClasses.ql new file mode 100644 index 00000000000..640ae984d14 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/rootClasses.ql @@ -0,0 +1,5 @@ +import java + +from ClassOrInterface ci +where not exists(ci.getASupertype()) +select ci.getPackage(), ci.toString() diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/staticinit.expected b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/staticinit.expected new file mode 100644 index 00000000000..606bbd3f338 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/staticinit.expected @@ -0,0 +1 @@ +| d.kt:0:0:0:0 | bar | d.kt:0:0:0:0 | Foobar | diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/staticinit.ql b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/staticinit.ql new file mode 100644 index 00000000000..de6bd1ca92e --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/staticinit.ql @@ -0,0 +1,5 @@ +import java + +from Field f, Expr init +where init = f.getInitializer() +select f, init diff --git a/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py new file mode 100644 index 00000000000..98610959b58 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/custom_plugin/test.py @@ -0,0 +1,6 @@ +from create_database_utils import * +import subprocess + +subprocess.call("./build_plugin", shell=True) +run_codeql_database_create( + ["kotlinc -J-Xmx2G -Xplugin=plugin.jar a.kt b.kt c.kt d.kt e.kt"], lang="java") diff --git a/java/ql/integration-tests/linux-only/kotlin/qlpack.yml b/java/ql/integration-tests/linux-only/kotlin/qlpack.yml new file mode 100644 index 00000000000..11adb1f538b --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/qlpack.yml @@ -0,0 +1,2 @@ +libraryPathDependencies: + - codeql-java diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/BoundedGenericTest.java b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/BoundedGenericTest.java new file mode 100644 index 00000000000..1bc13098a62 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/BoundedGenericTest.java @@ -0,0 +1,8 @@ +package extlib; + +public class BoundedGenericTest { + + public void method(T t) { } + +} + diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/ComplexBoundedGenericTest.java b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/ComplexBoundedGenericTest.java new file mode 100644 index 00000000000..16d0d950e0c --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/ComplexBoundedGenericTest.java @@ -0,0 +1,8 @@ +package extlib; + +public class ComplexBoundedGenericTest { + + public void method(A a, B b) { } + +} + diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/GenericTest.java b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/GenericTest.java new file mode 100644 index 00000000000..d953cf90b98 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/GenericTest.java @@ -0,0 +1,10 @@ +package extlib; + +public class GenericTest { + + public void method(T t) { } + + public void takesSelfMethod(GenericTest selfLike) { } + +} + diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/Lib.java b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/Lib.java new file mode 100644 index 00000000000..f533e43c527 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/javasrc/extlib/Lib.java @@ -0,0 +1,35 @@ +package extlib; + +import java.util.*; + +public class Lib { + + public void testParameterTypes( + char p1, + byte p2, + short p3, + int p4, + long p5, + float p6, + double p7, + boolean p8, + Lib simpleClass, + GenericTest simpleGeneric, + BoundedGenericTest boundedGeneric, + ComplexBoundedGenericTest complexBoundedGeneric, + int[] primitiveArray, + Integer[] boxedTypeArray, + int [][] multiDimensionalPrimitiveArray, + Integer[][] multiDimensionalBoxedTypeArray, + List[] genericTypeArray, + List producerWildcard, + List consumerWildcard, + List> nestedWildcard, + List unboundedWildcard) { } + + public List returnErasureTest() { return null; } + + public void paramErasureTest(List param) { } + +} + diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/parameterTypes.expected b/java/ql/integration-tests/linux-only/kotlin/use_java_library/parameterTypes.expected new file mode 100644 index 00000000000..605c9628bff --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/parameterTypes.expected @@ -0,0 +1,52 @@ +parameterTypes +| extlib.jar/extlib/GenericTest.class:0:0:0:0 | p0 | GenericTest | +| javasrc/extlib/GenericTest.java:7:31:7:53 | selfLike | GenericTest | +| javasrc/extlib/Lib.java:8:5:8:11 | p1 | char | +| javasrc/extlib/Lib.java:9:5:9:11 | p2 | byte | +| javasrc/extlib/Lib.java:10:5:10:12 | p3 | short | +| javasrc/extlib/Lib.java:11:5:11:10 | p4 | int | +| javasrc/extlib/Lib.java:12:5:12:11 | p5 | long | +| javasrc/extlib/Lib.java:13:5:13:12 | p6 | float | +| javasrc/extlib/Lib.java:14:5:14:13 | p7 | double | +| javasrc/extlib/Lib.java:15:5:15:14 | p8 | boolean | +| javasrc/extlib/Lib.java:16:5:16:19 | simpleClass | Lib | +| javasrc/extlib/Lib.java:17:5:17:37 | simpleGeneric | GenericTest | +| javasrc/extlib/Lib.java:18:5:18:45 | boundedGeneric | BoundedGenericTest | +| javasrc/extlib/Lib.java:19:5:19:73 | complexBoundedGeneric | ComplexBoundedGenericTest | +| javasrc/extlib/Lib.java:20:5:20:24 | primitiveArray | int[] | +| javasrc/extlib/Lib.java:21:5:21:28 | boxedTypeArray | Integer[] | +| javasrc/extlib/Lib.java:22:5:22:43 | multiDimensionalPrimitiveArray | int[][] | +| javasrc/extlib/Lib.java:23:5:23:46 | multiDimensionalBoxedTypeArray | Integer[][] | +| javasrc/extlib/Lib.java:24:5:24:35 | genericTypeArray | List[] | +| javasrc/extlib/Lib.java:25:5:25:49 | producerWildcard | List | +| javasrc/extlib/Lib.java:26:5:26:47 | consumerWildcard | List | +| javasrc/extlib/Lib.java:27:5:27:63 | nestedWildcard | List> | +| javasrc/extlib/Lib.java:28:5:28:29 | unboundedWildcard | List | +arrayTypes +| javasrc/extlib/Lib.java:20:5:20:24 | primitiveArray | file://:0:0:0:0 | int[] | int | 1 | int | +| javasrc/extlib/Lib.java:21:5:21:28 | boxedTypeArray | file://:0:0:0:0 | Integer[] | Integer | 1 | Integer | +| javasrc/extlib/Lib.java:22:5:22:43 | multiDimensionalPrimitiveArray | file://:0:0:0:0 | int[][] | int | 2 | int[] | +| javasrc/extlib/Lib.java:23:5:23:46 | multiDimensionalBoxedTypeArray | file://:0:0:0:0 | Integer[][] | Integer | 2 | Integer[] | +| javasrc/extlib/Lib.java:24:5:24:35 | genericTypeArray | file://:0:0:0:0 | List[] | List | 1 | List | +wildcardTypes +| javasrc/extlib/Lib.java:25:5:25:49 | producerWildcard | file://:0:0:0:0 | ? extends CharSequence | upper | CharSequence | +| javasrc/extlib/Lib.java:26:5:26:47 | consumerWildcard | file://:0:0:0:0 | ? super CharSequence | lower | CharSequence | +| javasrc/extlib/Lib.java:26:5:26:47 | consumerWildcard | file://:0:0:0:0 | ? super CharSequence | upper | Object | +| javasrc/extlib/Lib.java:27:5:27:63 | nestedWildcard | file://:0:0:0:0 | ? extends List | upper | List | +| javasrc/extlib/Lib.java:28:5:28:29 | unboundedWildcard | file://:0:0:0:0 | ? | upper | Object | +parameterizedTypes +| extlib.jar/extlib/GenericTest.class:0:0:0:0 | p0 | GenericTest | String | +| javasrc/extlib/GenericTest.java:7:31:7:53 | selfLike | GenericTest | T | +| javasrc/extlib/Lib.java:17:5:17:37 | simpleGeneric | GenericTest | String | +| javasrc/extlib/Lib.java:18:5:18:45 | boundedGeneric | BoundedGenericTest | String | +| javasrc/extlib/Lib.java:19:5:19:73 | complexBoundedGeneric | ComplexBoundedGenericTest | CharSequence | +| javasrc/extlib/Lib.java:19:5:19:73 | complexBoundedGeneric | ComplexBoundedGenericTest | String | +| javasrc/extlib/Lib.java:25:5:25:49 | producerWildcard | List | ? extends CharSequence | +| javasrc/extlib/Lib.java:26:5:26:47 | consumerWildcard | List | ? super CharSequence | +| javasrc/extlib/Lib.java:27:5:27:63 | nestedWildcard | List> | ? extends List | +| javasrc/extlib/Lib.java:28:5:28:29 | unboundedWildcard | List | ? | +libCallables +| javasrc/extlib/Lib.java:5:14:5:16 | Lib | +| javasrc/extlib/Lib.java:7:15:7:32 | testParameterTypes | +| javasrc/extlib/Lib.java:30:24:30:40 | returnErasureTest | +| javasrc/extlib/Lib.java:32:19:32:34 | paramErasureTest | diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/parameterTypes.ql b/java/ql/integration-tests/linux-only/kotlin/use_java_library/parameterTypes.ql new file mode 100644 index 00000000000..31397f18ac8 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/parameterTypes.ql @@ -0,0 +1,40 @@ +import java + +class ExtLibParameter extends Parameter { + ExtLibParameter() { this.getCallable().getName() = ["testParameterTypes", "takesSelfMethod"] } +} + +query predicate parameterTypes(ExtLibParameter p, string t) { p.getType().toString() = t } + +query predicate arrayTypes( + ExtLibParameter p, Array at, string elementType, int dimension, string componentType +) { + p.getType() = at and + at.getElementType().toString() = elementType and + at.getDimension() = dimension and + at.getComponentType().toString() = componentType +} + +query predicate wildcardTypes(ExtLibParameter p, Wildcard wc, string boundKind, string bound) { + // Expose details of wildcard types: + wc = + [ + p.getType().(ParameterizedType).getATypeArgument(), + p.getType().(ParameterizedType).getATypeArgument().(ParameterizedType).getATypeArgument() + ] and + ( + boundKind = "upper" and bound = wc.getUpperBoundType().toString() + or + boundKind = "lower" and bound = wc.getLowerBoundType().toString() + ) +} + +query predicate parameterizedTypes(ExtLibParameter p, string ptstr, string typeArg) { + exists(ParameterizedType pt | + p.getType() = pt and + pt.getATypeArgument().toString() = typeArg and + ptstr = pt.toString() + ) +} + +query predicate libCallables(Callable c) { c.getFile().getBaseName().matches("%Lib.java") } diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py b/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py new file mode 100644 index 00000000000..13230ceeb43 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/test.py @@ -0,0 +1,8 @@ +from create_database_utils import * +import glob + +os.mkdir('build') +javaccmd = " ".join(["javac"] + glob.glob("javasrc/extlib/*.java") + ["-d", "build"]) +jarcmd = " ".join(["jar", "-c", "-f", "extlib.jar", "-C", "build", "extlib"]) +run_codeql_database_create([javaccmd, jarcmd, "kotlinc user.kt -cp extlib.jar"], lang="java") + diff --git a/java/ql/integration-tests/linux-only/kotlin/use_java_library/user.kt b/java/ql/integration-tests/linux-only/kotlin/use_java_library/user.kt new file mode 100644 index 00000000000..d2c0a5bf341 --- /dev/null +++ b/java/ql/integration-tests/linux-only/kotlin/use_java_library/user.kt @@ -0,0 +1,45 @@ +import extlib.* +import java.util.* + +fun test() { + + // Pending better varargs support, avoiding listOf and mutableListOf + val stringList = ArrayList() + val objectList = ArrayList() + val stringStringList = ArrayList>() + + val lib = Lib() + lib.testParameterTypes( + 'a', + 1, + 2, + 3, + 4, + 5.0f, + 6.0, + true, + Lib(), + GenericTest(), + BoundedGenericTest(), + ComplexBoundedGenericTest(), + intArrayOf(1), + arrayOf(1), + arrayOf(intArrayOf(1)), + arrayOf(arrayOf(1)), + arrayOf(stringList), + stringList, + objectList, + stringStringList, + objectList) + + val returnedList = lib.returnErasureTest() + lib.paramErasureTest(listOf("Hello")) + + // Check trap labelling consistency for methods that instantiate a generic type + // with its own generic parameters -- for example, class MyList { void addAll(MyList l) { } }, + // which has the trap labelling oddity of looking like plain MyList, not MyList, even though + // this is a generic instantiation. + val takesSelfTest = GenericTest() + takesSelfTest.takesSelfMethod(takesSelfTest) + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinDefault.kt b/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinDefault.kt new file mode 100644 index 00000000000..3defce70dac --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinDefault.kt @@ -0,0 +1 @@ +class KotlinDefault {} diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinDisabled.kt b/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinDisabled.kt new file mode 100644 index 00000000000..7e1bd360129 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinDisabled.kt @@ -0,0 +1 @@ +class KotlinDisabled {} diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinEnabled.kt b/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinEnabled.kt new file mode 100644 index 00000000000..7d7dcff7040 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/KotlinEnabled.kt @@ -0,0 +1 @@ +class KotlinEnabled {} diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/build.py b/java/ql/integration-tests/posix-only/kotlin/enabling/build.py new file mode 100644 index 00000000000..63f29878915 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/build.py @@ -0,0 +1,10 @@ +#!/usr/bin/env python3 + +from create_database_utils import * + +runSuccessfully(["kotlinc", "KotlinDefault.kt"]) +os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN'] = 'true' +runSuccessfully(["kotlinc", "KotlinDisabled.kt"]) +del(os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN']) +os.environ['CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN'] = 'true' +runSuccessfully(["kotlinc", "KotlinEnabled.kt"]) diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/class.expected b/java/ql/integration-tests/posix-only/kotlin/enabling/class.expected new file mode 100644 index 00000000000..8c8a04f83ce --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/class.expected @@ -0,0 +1 @@ +| KotlinEnabled.kt:1:1:1:22 | KotlinEnabled | diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/class.ql b/java/ql/integration-tests/posix-only/kotlin/enabling/class.ql new file mode 100644 index 00000000000..35cdaef9da7 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/class.ql @@ -0,0 +1,5 @@ +import java + +from Class c +where c.fromSource() +select c diff --git a/java/ql/integration-tests/posix-only/kotlin/enabling/test.py b/java/ql/integration-tests/posix-only/kotlin/enabling/test.py new file mode 100644 index 00000000000..4bcf7ada880 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/enabling/test.py @@ -0,0 +1,9 @@ +from create_database_utils import * + +for var in ['CODEQL_EXTRACTOR_JAVA_AGENT_ENABLE_KOTLIN', + 'CODEQL_EXTRACTOR_JAVA_AGENT_DISABLE_KOTLIN']: + if var in os.environ: + del(os.environ[var]) + +run_codeql_database_create(['"%s" build.py' % sys.executable], lang="java") + diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/classes.expected b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/classes.expected new file mode 100644 index 00000000000..e84dc8f218d --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/classes.expected @@ -0,0 +1,2 @@ +| code/A.kt:2:1:2:10 | A | +| code/C.kt:2:1:2:10 | C | diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/classes.ql b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/classes.ql new file mode 100644 index 00000000000..35cdaef9da7 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/classes.ql @@ -0,0 +1,5 @@ +import java + +from Class c +where c.fromSource() +select c diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/A.kt b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/A.kt new file mode 100644 index 00000000000..d11e54e922f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/A.kt @@ -0,0 +1,3 @@ + +class A {} + diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/B.kt b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/B.kt new file mode 100644 index 00000000000..a4d3b9876ee --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/B.kt @@ -0,0 +1,3 @@ + +class B {} + diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/C.kt b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/C.kt new file mode 100644 index 00000000000..ddd7c69e28c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/C.kt @@ -0,0 +1,3 @@ + +class C {} + diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/build.py b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/build.py new file mode 100644 index 00000000000..db077b5e41e --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/code/build.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python3 + +import os +import subprocess + +os.environ['CODEQL_KOTLIN_INTERNAL_EXCEPTION_WHILE_EXTRACTING_FILE'] = 'B.kt' + +subprocess.check_call(['kotlinc', 'A.kt', 'B.kt', 'C.kt', ]) diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilationFiles.expected b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilationFiles.expected new file mode 100644 index 00000000000..48a0d4ec87b --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilationFiles.expected @@ -0,0 +1,3 @@ +| | 0 | code/A.kt:0:0:0:0 | A | Extraction successful | Not recoverable errors | Not non-recoverable errors | +| | 1 | code/B.kt:0:0:0:0 | code/B.kt | Not extraction successful | Not recoverable errors | Non-recoverable errors | +| | 2 | code/C.kt:0:0:0:0 | C | Extraction successful | Not recoverable errors | Not non-recoverable errors | diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilationFiles.ql b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilationFiles.ql new file mode 100644 index 00000000000..b3c9437c3d4 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilationFiles.ql @@ -0,0 +1,24 @@ +import java + +class AnonymousCompilation extends Compilation { + override string toString() { result = "" } +} + +from Compilation c, int i, File f +where f = c.getFileCompiled(i) +select c, i, f, + any(string s | + if c.fileCompiledSuccessful(i) + then s = "Extraction successful" + else s = "Not extraction successful" + ), + any(string s | + if c.fileCompiledRecoverableErrors(i) + then s = "Recoverable errors" + else s = "Not recoverable errors" + ), + any(string s | + if c.fileCompiledNonRecoverableErrors(i) + then s = "Non-recoverable errors" + else s = "Not non-recoverable errors" + ) diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilations.expected b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilations.expected new file mode 100644 index 00000000000..c87bb373166 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilations.expected @@ -0,0 +1 @@ +| | Normal termination | Not extraction successful | Not recoverable errors | Non-recoverable errors | diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilations.ql b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilations.ql new file mode 100644 index 00000000000..13d4ce46f51 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/compilations.ql @@ -0,0 +1,24 @@ +import java + +class AnonymousCompilation extends Compilation { + override string toString() { result = "" } +} + +from Compilation c +select c, + any(string s | + if c.normalTermination() then s = "Normal termination" else s = "Not normal termination" + ), + any(string s | + if c.extractionSuccessful() + then s = "Extraction successful" + else s = "Not extraction successful" + ), + any(string s | + if c.recoverableErrors() then s = "Recoverable errors" else s = "Not recoverable errors" + ), + any(string s | + if c.nonRecoverableErrors() + then s = "Non-recoverable errors" + else s = "Not non-recoverable errors" + ) diff --git a/java/ql/integration-tests/posix-only/kotlin/extractor_crash/test.py b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/test.py new file mode 100644 index 00000000000..9abcb43e304 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/extractor_crash/test.py @@ -0,0 +1,7 @@ +import sys + +from create_database_utils import * + +run_codeql_database_create( + ['"%s" build.py' % sys.executable], + source="code", lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/app/build.gradle b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/app/build.gradle new file mode 100644 index 00000000000..16aad9297b0 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/app/build.gradle @@ -0,0 +1,25 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * This generated file contains a sample Kotlin application project to get you started. + * For more details take a look at the 'Building Java & JVM projects' chapter in the Gradle + * User Manual available at https://docs.gradle.org/7.0.2/userguide/building_java_projects.html + */ + +plugins { + // Apply the org.jetbrains.kotlin.jvm Plugin to add support for Kotlin. + id 'org.jetbrains.kotlin.jvm' version '1.5.31' + + // Apply the application plugin to add support for building a CLI application in Java. + id 'application' +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +application { + // Define the main class for the application. + mainClass = 'testProject.AppKt' +} diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/app/src/main/kotlin/testProject/App.kt b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/app/src/main/kotlin/testProject/App.kt new file mode 100644 index 00000000000..0ed9df24a57 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/app/src/main/kotlin/testProject/App.kt @@ -0,0 +1,15 @@ +/* + * This Kotlin source file was generated by the Gradle 'init' task. + */ +package testProject + +class App { + val greeting: String + get() { + return "Hello World!" + } +} + +fun main() { + // TODO: println(App().greeting) +} diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/compilations.expected b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/compilations.expected new file mode 100644 index 00000000000..2a4f078a25f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/compilations.expected @@ -0,0 +1 @@ +| 1 | diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/compilations.ql b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/compilations.ql new file mode 100644 index 00000000000..7ddd497d555 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/compilations.ql @@ -0,0 +1,3 @@ +import java + +select count(Compilation c) diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/methods.expected b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/methods.expected new file mode 100644 index 00000000000..9f5adb7d6e5 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/methods.expected @@ -0,0 +1,2 @@ +| app/src/main/kotlin/testProject/App.kt:8:9:10:9 | getGreeting | +| app/src/main/kotlin/testProject/App.kt:13:1:15:1 | main | diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/methods.ql b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/methods.ql new file mode 100644 index 00000000000..9d32c93e69c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/methods.ql @@ -0,0 +1,5 @@ +import java + +from Method m +where exists(m.getFile().getRelativePath()) +select m diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/settings.gradle b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/settings.gradle new file mode 100644 index 00000000000..a56fb7dd11c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/settings.gradle @@ -0,0 +1,11 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/7.0.2/userguide/multi_project_builds.html + */ + +rootProject.name = 'testProject' +include('app') diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/test.py b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/test.py new file mode 100644 index 00000000000..7f44398cd12 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_groovy_app/test.py @@ -0,0 +1,4 @@ +from create_database_utils import * + +run_codeql_database_create(["gradle build --no-daemon --no-build-cache"], lang="java") +runSuccessfully(["gradle", "clean"]) diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/PrintAst.expected b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/PrintAst.expected new file mode 100644 index 00000000000..e37e65dc3c8 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/PrintAst.expected @@ -0,0 +1,432 @@ +app/src/main/kotlin/testProject/App.kt: +# 0| [CompilationUnit] App +# 7| 1: [Class] Project +# 0| 1: [Constructor] Project +#-----| 4: (Parameters) +# 0| 0: [Parameter] seen1 +# 0| 0: [TypeAccess] int +# 0| 1: [Parameter] name +# 0| 0: [TypeAccess] String +# 0| 2: [Parameter] language +# 0| 0: [TypeAccess] int +# 0| 3: [Parameter] serializationConstructorMarker +# 0| 0: [TypeAccess] SerializationConstructorMarker +# 7| 5: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [WhenExpr] when ... +# 7| 0: [WhenBranch] ... -> ... +# 7| 0: [ValueNEExpr] ... (value not-equals) ... +# 7| 0: [IntegerLiteral] 3 +# 7| 1: [MethodAccess] and(...) +# 7| -1: [IntegerLiteral] 3 +# 7| 0: [VarAccess] seen1 +# 7| 1: [ExprStmt] ; +# 7| 0: [MethodAccess] throwMissingFieldException(...) +# 7| -1: [TypeAccess] PluginExceptionsKt +# 7| 0: [VarAccess] seen1 +# 7| 1: [IntegerLiteral] 3 +# 7| 2: [MethodAccess] getDescriptor(...) +# 7| -1: [VarAccess] INSTANCE +# 7| 1: [SuperConstructorInvocationStmt] super(...) +# 7| 2: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] Project.this.name +# 7| -1: [ThisAccess] Project.this +# 7| 0: [TypeAccess] Project +# 7| 1: [VarAccess] name +# 7| 3: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] Project.this.language +# 7| -1: [ThisAccess] Project.this +# 7| 0: [TypeAccess] Project +# 7| 1: [VarAccess] language +# 0| 2: [Method] component1 +# 0| 3: [TypeAccess] String +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [VarAccess] this.name +# 0| -1: [ThisAccess] this +# 0| 3: [Method] component2 +# 0| 3: [TypeAccess] int +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [VarAccess] this.language +# 0| -1: [ThisAccess] this +# 0| 4: [Method] copy +# 0| 3: [TypeAccess] Project +#-----| 4: (Parameters) +# 8| 0: [Parameter] name +# 8| 0: [TypeAccess] String +# 8| 1: [Parameter] language +# 8| 0: [TypeAccess] int +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [ClassInstanceExpr] new Project(...) +# 0| -3: [TypeAccess] Project +# 0| 0: [VarAccess] name +# 0| 1: [VarAccess] language +# 0| 5: [Method] equals +# 0| 3: [TypeAccess] boolean +#-----| 4: (Parameters) +# 0| 0: [Parameter] other +# 0| 0: [TypeAccess] Object +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ExprStmt] ; +# 0| 0: [WhenExpr] when ... +# 0| 0: [WhenBranch] ... -> ... +# 0| 0: [EQExpr] ... == ... +# 0| 0: [ThisAccess] this +# 0| 1: [VarAccess] other +# 0| 1: [ReturnStmt] return ... +# 0| 0: [BooleanLiteral] true +# 0| 1: [ExprStmt] ; +# 0| 0: [WhenExpr] when ... +# 0| 0: [WhenBranch] ... -> ... +# 0| 0: [NotInstanceOfExpr] ... !is ... +# 0| 0: [VarAccess] other +# 0| 1: [TypeAccess] Project +# 0| 1: [ReturnStmt] return ... +# 0| 0: [BooleanLiteral] false +# 0| 2: [LocalVariableDeclStmt] var ...; +# 0| 1: [LocalVariableDeclExpr] tmp0_other_with_cast +# 0| 0: [CastExpr] (...)... +# 0| 0: [TypeAccess] Project +# 0| 1: [VarAccess] other +# 0| 3: [ExprStmt] ; +# 0| 0: [WhenExpr] when ... +# 0| 0: [WhenBranch] ... -> ... +# 0| 0: [ValueNEExpr] ... (value not-equals) ... +# 0| 0: [VarAccess] this.name +# 0| -1: [ThisAccess] this +# 0| 1: [VarAccess] tmp0_other_with_cast.name +# 0| -1: [VarAccess] tmp0_other_with_cast +# 0| 1: [ReturnStmt] return ... +# 0| 0: [BooleanLiteral] false +# 0| 4: [ExprStmt] ; +# 0| 0: [WhenExpr] when ... +# 0| 0: [WhenBranch] ... -> ... +# 0| 0: [ValueNEExpr] ... (value not-equals) ... +# 0| 0: [VarAccess] this.language +# 0| -1: [ThisAccess] this +# 0| 1: [VarAccess] tmp0_other_with_cast.language +# 0| -1: [VarAccess] tmp0_other_with_cast +# 0| 1: [ReturnStmt] return ... +# 0| 0: [BooleanLiteral] false +# 0| 5: [ReturnStmt] return ... +# 0| 0: [BooleanLiteral] true +# 0| 6: [Method] hashCode +# 0| 3: [TypeAccess] int +# 0| 5: [BlockStmt] { ... } +# 0| 0: [LocalVariableDeclStmt] var ...; +# 0| 1: [LocalVariableDeclExpr] result +# 0| 0: [MethodAccess] hashCode(...) +# 0| -1: [VarAccess] this.name +# 0| -1: [ThisAccess] this +# 0| 1: [ExprStmt] ; +# 0| 0: [AssignExpr] ...=... +# 0| 0: [VarAccess] result +# 0| 1: [MethodAccess] plus(...) +# 0| -1: [MethodAccess] times(...) +# 0| -1: [VarAccess] result +# 0| 0: [IntegerLiteral] 31 +# 0| 0: [MethodAccess] hashCode(...) +# 0| -1: [VarAccess] this.language +# 0| -1: [ThisAccess] this +# 0| 2: [ReturnStmt] return ... +# 0| 0: [VarAccess] result +# 0| 7: [Method] toString +# 0| 3: [TypeAccess] String +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [StringTemplateExpr] "..." +# 0| 0: [StringLiteral] Project( +# 0| 1: [StringLiteral] name= +# 0| 2: [VarAccess] this.name +# 0| -1: [ThisAccess] this +# 0| 3: [StringLiteral] , +# 0| 4: [StringLiteral] language= +# 0| 5: [VarAccess] this.language +# 0| -1: [ThisAccess] this +# 0| 6: [StringLiteral] ) +# 0| 8: [Method] write$Self +# 0| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 0| 0: [Parameter] self +# 0| 0: [TypeAccess] Project +# 0| 1: [Parameter] output +# 0| 0: [TypeAccess] CompositeEncoder +# 0| 2: [Parameter] serialDesc +# 0| 0: [TypeAccess] SerialDescriptor +# 7| 5: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [MethodAccess] encodeStringElement(...) +# 7| -1: [VarAccess] output +# 7| 0: [VarAccess] serialDesc +# 7| 1: [IntegerLiteral] 0 +# 7| 2: [MethodAccess] getName(...) +# 7| -1: [VarAccess] self +# 7| 1: [ExprStmt] ; +# 7| 0: [MethodAccess] encodeIntElement(...) +# 7| -1: [VarAccess] output +# 7| 0: [VarAccess] serialDesc +# 7| 1: [IntegerLiteral] 1 +# 7| 2: [MethodAccess] getLanguage(...) +# 7| -1: [VarAccess] self +# 7| 9: [Class] $serializer +# 0| 1: [FieldDeclaration] SerialDescriptor descriptor; +# 0| -1: [TypeAccess] SerialDescriptor +# 0| 2: [Method] childSerializers +# 0| 3: [TypeAccess] KSerializer[] +# 0| 0: [TypeAccess] KSerializer +# 0| 0: [WildcardTypeAccess] ? ... +# 7| 5: [BlockStmt] { ... } +# 7| 0: [ReturnStmt] return ... +# 7| 0: [ArrayCreationExpr] new KSerializer[] +# 7| -2: [ArrayInit] {...} +# 7| 0: [VarAccess] INSTANCE +# 7| 1: [VarAccess] INSTANCE +# 7| -1: [TypeAccess] KSerializer +# 7| 0: [IntegerLiteral] 2 +# 0| 3: [Method] deserialize +# 0| 3: [TypeAccess] Project +#-----| 4: (Parameters) +# 0| 0: [Parameter] decoder +# 0| 0: [TypeAccess] Decoder +# 7| 5: [BlockStmt] { ... } +# 7| 0: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp0_desc +# 7| 0: [MethodAccess] getDescriptor(...) +# 7| -1: [ThisAccess] this +# 7| 1: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp1_flag +# 7| 0: [BooleanLiteral] true +# 7| 2: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp2_index +# 7| 0: [IntegerLiteral] 0 +# 7| 3: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp3_bitMask0 +# 7| 0: [IntegerLiteral] 0 +# 7| 4: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp4_local0 +# 7| 0: [NullLiteral] null +# 7| 5: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp5_local1 +# 7| 0: [IntegerLiteral] 0 +# 7| 6: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp6_input +# 7| 0: [MethodAccess] beginStructure(...) +# 7| -1: [VarAccess] decoder +# 7| 0: [VarAccess] tmp0_desc +# 7| 7: [ExprStmt] ; +# 7| 0: [WhenExpr] when ... +# 7| 0: [WhenBranch] ... -> ... +# 7| 0: [MethodAccess] decodeSequentially(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 1: [BlockStmt] { ... } +# 7| 0: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp4_local0 +# 7| 1: [MethodAccess] decodeStringElement(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 0: [VarAccess] tmp0_desc +# 7| 1: [IntegerLiteral] 0 +# 7| 1: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp3_bitMask0 +# 7| 1: [MethodAccess] or(...) +# 7| -1: [VarAccess] tmp3_bitMask0 +# 7| 0: [IntegerLiteral] 1 +# 7| 1: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp5_local1 +# 7| 1: [MethodAccess] decodeIntElement(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 0: [VarAccess] tmp0_desc +# 7| 1: [IntegerLiteral] 1 +# 7| 1: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp3_bitMask0 +# 7| 1: [MethodAccess] or(...) +# 7| -1: [VarAccess] tmp3_bitMask0 +# 7| 0: [IntegerLiteral] 2 +# 7| 1: [WhenBranch] ... -> ... +# 7| 0: [BooleanLiteral] true +# 7| 1: [WhileStmt] while (...) +# 7| 0: [VarAccess] tmp1_flag +# 7| 1: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp2_index +# 7| 1: [MethodAccess] decodeElementIndex(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 0: [VarAccess] tmp0_desc +# 7| 1: [ExprStmt] ; +# 7| 0: [WhenExpr] when ... +# 7| 0: [WhenBranch] ... -> ... +# 7| 0: [ValueEQExpr] ... (value equals) ... +# 7| 0: [VarAccess] tmp2_index +# 7| 1: [IntegerLiteral] -1 +# 7| 1: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp1_flag +# 7| 1: [BooleanLiteral] false +# 7| 1: [WhenBranch] ... -> ... +# 7| 0: [ValueEQExpr] ... (value equals) ... +# 7| 0: [VarAccess] tmp2_index +# 7| 1: [IntegerLiteral] 0 +# 7| 1: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp4_local0 +# 7| 1: [MethodAccess] decodeStringElement(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 0: [VarAccess] tmp0_desc +# 7| 1: [IntegerLiteral] 0 +# 7| 1: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp3_bitMask0 +# 7| 1: [MethodAccess] or(...) +# 7| -1: [VarAccess] tmp3_bitMask0 +# 7| 0: [IntegerLiteral] 1 +# 7| 2: [WhenBranch] ... -> ... +# 7| 0: [ValueEQExpr] ... (value equals) ... +# 7| 0: [VarAccess] tmp2_index +# 7| 1: [IntegerLiteral] 1 +# 7| 1: [BlockStmt] { ... } +# 7| 0: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp5_local1 +# 7| 1: [MethodAccess] decodeIntElement(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 0: [VarAccess] tmp0_desc +# 7| 1: [IntegerLiteral] 1 +# 7| 1: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] tmp3_bitMask0 +# 7| 1: [MethodAccess] or(...) +# 7| -1: [VarAccess] tmp3_bitMask0 +# 7| 0: [IntegerLiteral] 2 +# 7| 3: [WhenBranch] ... -> ... +# 7| 0: [BooleanLiteral] true +# 7| 1: [ThrowStmt] throw ... +# 7| 0: [ClassInstanceExpr] new UnknownFieldException(...) +# 7| -3: [TypeAccess] UnknownFieldException +# 7| 0: [VarAccess] tmp2_index +# 7| 8: [ExprStmt] ; +# 7| 0: [MethodAccess] endStructure(...) +# 7| -1: [VarAccess] tmp6_input +# 7| 0: [VarAccess] tmp0_desc +# 7| 9: [ReturnStmt] return ... +# 7| 0: [ClassInstanceExpr] new Project(...) +# 7| -3: [TypeAccess] Project +# 7| 0: [VarAccess] tmp3_bitMask0 +# 7| 1: [VarAccess] tmp4_local0 +# 7| 2: [VarAccess] tmp5_local1 +# 7| 3: [NullLiteral] null +# 0| 4: [Method] getDescriptor +# 0| 3: [TypeAccess] SerialDescriptor +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [VarAccess] this.descriptor +# 0| -1: [ThisAccess] this +# 0| 5: [Method] serialize +# 0| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 0| 0: [Parameter] encoder +# 0| 0: [TypeAccess] Encoder +# 0| 1: [Parameter] value +# 0| 0: [TypeAccess] Project +# 7| 5: [BlockStmt] { ... } +# 7| 0: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp0_desc +# 7| 0: [MethodAccess] getDescriptor(...) +# 7| -1: [ThisAccess] this +# 7| 1: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp1_output +# 7| 0: [MethodAccess] beginStructure(...) +# 7| -1: [VarAccess] encoder +# 7| 0: [VarAccess] tmp0_desc +# 7| 2: [ExprStmt] ; +# 7| 0: [MethodAccess] write$Self(...) +# 7| -1: [TypeAccess] Project +# 7| 0: [VarAccess] value +# 7| 1: [VarAccess] tmp1_output +# 7| 2: [VarAccess] tmp0_desc +# 7| 3: [ExprStmt] ; +# 7| 0: [MethodAccess] endStructure(...) +# 7| -1: [VarAccess] tmp1_output +# 7| 0: [VarAccess] tmp0_desc +# 7| 6: [Constructor] $serializer +# 7| 5: [BlockStmt] { ... } +# 7| 0: [SuperConstructorInvocationStmt] super(...) +# 7| 1: [BlockStmt] { ... } +# 7| 0: [LocalVariableDeclStmt] var ...; +# 7| 1: [LocalVariableDeclExpr] tmp0_serialDesc +# 7| 0: [ClassInstanceExpr] new PluginGeneratedSerialDescriptor(...) +# 7| -3: [TypeAccess] PluginGeneratedSerialDescriptor +# 7| 0: [StringLiteral] testProject.Project +# 7| 1: [ThisAccess] $serializer.this +# 7| 0: [TypeAccess] $serializer +# 7| 2: [IntegerLiteral] 2 +# 7| 1: [ExprStmt] ; +# 7| 0: [MethodAccess] addElement(...) +# 7| -1: [VarAccess] tmp0_serialDesc +# 7| 0: [StringLiteral] name +# 7| 1: [BooleanLiteral] false +# 7| 2: [ExprStmt] ; +# 7| 0: [MethodAccess] addElement(...) +# 7| -1: [VarAccess] tmp0_serialDesc +# 7| 0: [StringLiteral] language +# 7| 1: [BooleanLiteral] false +# 7| 3: [ExprStmt] ; +# 7| 0: [AssignExpr] ...=... +# 7| 0: [VarAccess] $serializer.this.descriptor +# 7| -1: [ThisAccess] $serializer.this +# 7| 0: [TypeAccess] $serializer +# 7| 1: [VarAccess] tmp0_serialDesc +# 7| 10: [Class] Companion +# 0| 1: [Method] serializer +# 0| 3: [TypeAccess] KSerializer +# 0| 0: [TypeAccess] Project +# 7| 5: [BlockStmt] { ... } +# 7| 0: [ReturnStmt] return ... +# 7| 0: [VarAccess] INSTANCE +# 7| 2: [Constructor] Companion +# 7| 5: [BlockStmt] { ... } +# 7| 0: [SuperConstructorInvocationStmt] super(...) +# 7| 1: [BlockStmt] { ... } +# 8| 11: [Constructor] Project +#-----| 4: (Parameters) +# 8| 0: [Parameter] name +# 8| 0: [TypeAccess] String +# 8| 1: [Parameter] language +# 8| 0: [TypeAccess] int +# 7| 5: [BlockStmt] { ... } +# 7| 0: [SuperConstructorInvocationStmt] super(...) +# 8| 1: [BlockStmt] { ... } +# 8| 0: [ExprStmt] ; +# 8| 0: [KtInitializerAssignExpr] ...=... +# 8| 0: [VarAccess] name +# 8| 1: [ExprStmt] ; +# 8| 0: [KtInitializerAssignExpr] ...=... +# 8| 0: [VarAccess] language +# 8| 12: [FieldDeclaration] String name; +# 8| -1: [TypeAccess] String +# 8| 0: [VarAccess] name +# 8| 13: [Method] getName +# 8| 3: [TypeAccess] String +# 8| 5: [BlockStmt] { ... } +# 8| 0: [ReturnStmt] return ... +# 8| 0: [VarAccess] this.name +# 8| -1: [ThisAccess] this +# 8| 14: [Method] getLanguage +# 8| 3: [TypeAccess] int +# 8| 5: [BlockStmt] { ... } +# 8| 0: [ReturnStmt] return ... +# 8| 0: [VarAccess] this.language +# 8| -1: [ThisAccess] this +# 8| 15: [FieldDeclaration] int language; +# 8| -1: [TypeAccess] int +# 8| 0: [VarAccess] language diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/PrintAst.qlref b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/PrintAst.qlref new file mode 100644 index 00000000000..c7fd5faf239 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/PrintAst.qlref @@ -0,0 +1 @@ +semmle/code/java/PrintAst.ql \ No newline at end of file diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/app/build.gradle b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/app/build.gradle new file mode 100644 index 00000000000..528b73cabc5 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/app/build.gradle @@ -0,0 +1,13 @@ +plugins { + id 'org.jetbrains.kotlin.jvm' version '1.6.10' + id 'org.jetbrains.kotlin.plugin.serialization' version '1.6.10' +} + +repositories { + mavenCentral() +} + +dependencies { + implementation "org.jetbrains.kotlin:kotlin-serialization:1.6.10" + implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2" +} diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/app/src/main/kotlin/testProject/App.kt b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/app/src/main/kotlin/testProject/App.kt new file mode 100644 index 00000000000..373fc924c15 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/app/src/main/kotlin/testProject/App.kt @@ -0,0 +1,8 @@ +package testProject + +import kotlinx.serialization.* +import kotlinx.serialization.json.* +import kotlinx.serialization.Serializable + +@Serializable +data class Project(val name: String, val language: Int) \ No newline at end of file diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/diagnostics.expected b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/diagnostics.expected new file mode 100644 index 00000000000..751839721f7 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/diagnostics.expected @@ -0,0 +1 @@ +| CodeQL Kotlin extractor | 2 | | Unbound object value, trying to use class stub from descriptor | app/src/main/kotlin/testProject/App.kt:7:1:8:55 | app/src/main/kotlin/testProject/App.kt:7:1:8:55 | diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/diagnostics.ql b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/diagnostics.ql new file mode 100644 index 00000000000..031278ff260 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/diagnostics.ql @@ -0,0 +1,5 @@ +import java + +from string genBy, int severity, string tag, string msg, Location l +where diagnostics(_, genBy, severity, tag, msg, _, l) +select genBy, severity, tag, msg, l diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/settings.gradle b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/settings.gradle new file mode 100644 index 00000000000..a56fb7dd11c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/settings.gradle @@ -0,0 +1,11 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/7.0.2/userguide/multi_project_builds.html + */ + +rootProject.name = 'testProject' +include('app') diff --git a/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/test.py b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/test.py new file mode 100644 index 00000000000..7f44398cd12 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/gradle_kotlinx_serialization/test.py @@ -0,0 +1,4 @@ +from create_database_utils import * + +run_codeql_database_create(["gradle build --no-daemon --no-build-cache"], lang="java") +runSuccessfully(["gradle", "clean"]) diff --git a/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.expected b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.expected new file mode 100644 index 00000000000..fcee4129121 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.expected @@ -0,0 +1,24 @@ +| JavaSeesFirst/JarMtimesEqual/ClassFileMtimesEqual/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___JarMtimesEqual___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___JarMtimesEqual___ClassFileMtimesEqual | +| JavaSeesFirst/JarMtimesEqual/JavaClassFileNewer/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___JarMtimesEqual___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___JarMtimesEqual___JavaClassFileNewer | +| JavaSeesFirst/JarMtimesEqual/KotlinClassFileNewer/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___JarMtimesEqual___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___JarMtimesEqual___KotlinClassFileNewer | +| JavaSeesFirst/JavaJarNewer/ClassFileMtimesEqual/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___JavaJarNewer___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___JavaJarNewer___ClassFileMtimesEqual | +| JavaSeesFirst/JavaJarNewer/JavaClassFileNewer/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___JavaJarNewer___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___JavaJarNewer___JavaClassFileNewer | +| JavaSeesFirst/JavaJarNewer/KotlinClassFileNewer/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___JavaJarNewer___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___JavaJarNewer___KotlinClassFileNewer | +| JavaSeesFirst/KotlinJarNewer/ClassFileMtimesEqual/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___KotlinJarNewer___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___KotlinJarNewer___ClassFileMtimesEqual | +| JavaSeesFirst/KotlinJarNewer/JavaClassFileNewer/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___KotlinJarNewer___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___KotlinJarNewer___JavaClassFileNewer | +| JavaSeesFirst/KotlinJarNewer/KotlinClassFileNewer/seen_by_kotlin/dep.jar/Dep___JavaSeesFirst___KotlinJarNewer___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___KotlinJarNewer___KotlinClassFileNewer | +| JavaSeesFirst/NoJar/ClassFileMtimesEqual/seen_by_kotlin/Dep___JavaSeesFirst___NoJar___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___NoJar___ClassFileMtimesEqual | +| JavaSeesFirst/NoJar/JavaClassFileNewer/seen_by_kotlin/Dep___JavaSeesFirst___NoJar___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___NoJar___JavaClassFileNewer | +| JavaSeesFirst/NoJar/KotlinClassFileNewer/seen_by_kotlin/Dep___JavaSeesFirst___NoJar___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___JavaSeesFirst___NoJar___KotlinClassFileNewer | +| KotlinSeesFirst/JarMtimesEqual/ClassFileMtimesEqual/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___JarMtimesEqual___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___JarMtimesEqual___ClassFileMtimesEqual | +| KotlinSeesFirst/JarMtimesEqual/JavaClassFileNewer/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___JarMtimesEqual___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___JarMtimesEqual___JavaClassFileNewer | +| KotlinSeesFirst/JarMtimesEqual/KotlinClassFileNewer/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___JarMtimesEqual___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___JarMtimesEqual___KotlinClassFileNewer | +| KotlinSeesFirst/JavaJarNewer/ClassFileMtimesEqual/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___JavaJarNewer___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___JavaJarNewer___ClassFileMtimesEqual | +| KotlinSeesFirst/JavaJarNewer/JavaClassFileNewer/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___JavaJarNewer___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___JavaJarNewer___JavaClassFileNewer | +| KotlinSeesFirst/JavaJarNewer/KotlinClassFileNewer/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___JavaJarNewer___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___JavaJarNewer___KotlinClassFileNewer | +| KotlinSeesFirst/KotlinJarNewer/ClassFileMtimesEqual/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___KotlinJarNewer___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___KotlinJarNewer___ClassFileMtimesEqual | +| KotlinSeesFirst/KotlinJarNewer/JavaClassFileNewer/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___KotlinJarNewer___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___KotlinJarNewer___JavaClassFileNewer | +| KotlinSeesFirst/KotlinJarNewer/KotlinClassFileNewer/seen_by_kotlin/dep.jar/Dep___KotlinSeesFirst___KotlinJarNewer___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___KotlinJarNewer___KotlinClassFileNewer | +| KotlinSeesFirst/NoJar/ClassFileMtimesEqual/seen_by_kotlin/Dep___KotlinSeesFirst___NoJar___ClassFileMtimesEqual.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___NoJar___ClassFileMtimesEqual | +| KotlinSeesFirst/NoJar/JavaClassFileNewer/seen_by_kotlin/Dep___KotlinSeesFirst___NoJar___JavaClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___NoJar___JavaClassFileNewer | +| KotlinSeesFirst/NoJar/KotlinClassFileNewer/seen_by_kotlin/Dep___KotlinSeesFirst___NoJar___KotlinClassFileNewer.class:0:0:0:0 | memberOnlySeenByKotlin | Dep___KotlinSeesFirst___NoJar___KotlinClassFileNewer | diff --git a/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py new file mode 100644 index 00000000000..476db9203d5 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.py @@ -0,0 +1,128 @@ +from create_database_utils import * +import os +import os.path +import subprocess + +# Build a family of dependencies outside tracing, then refer to them from a traced build: + +older_datetime = "202201010101" +newer_datetime = "202202020202" + +classpath_entries = dict() + +extraction_orders = ["JavaSeesFirst", "KotlinSeesFirst"] +jar_states = ["NoJar", "JarMtimesEqual", "JavaJarNewer", "KotlinJarNewer"] +class_file_states = ["ClassFileMtimesEqual", "JavaClassFileNewer", "KotlinClassFileNewer"] + +# Create test classes for each combination of which extractor will see the file first, the relative timestamps of the jar files seen by each, and the relative timestamps of the class file inside: + +jobs = [] + +for first_extraction in extraction_orders: + for jar_state in jar_states: + for class_file_state in class_file_states: + dep_dir = os.path.join(first_extraction, jar_state, class_file_state) + dep_classname = "Dep___%s___%s___%s" % (first_extraction, jar_state, class_file_state) + dep_seen_by_java_dir = os.path.join(dep_dir, "seen_by_java") + dep_seen_by_kotlin_dir = os.path.join(dep_dir, "seen_by_kotlin") + os.makedirs(dep_seen_by_java_dir) + os.makedirs(dep_seen_by_kotlin_dir) + dep_seen_by_java_sourcefile = os.path.join(dep_seen_by_java_dir, dep_classname + ".java") + dep_seen_by_kotlin_sourcefile = os.path.join(dep_seen_by_kotlin_dir, dep_classname + ".java") + with open(dep_seen_by_java_sourcefile, "w") as f: + f.write("public class %s { }" % dep_classname) + with open(dep_seen_by_kotlin_sourcefile, "w") as f: + f.write("public class %s { void memberOnlySeenByKotlin() { } }" % dep_classname) + jobs.append({ + "first_extraction": first_extraction, + "jar_state": jar_state, + "class_file_state": class_file_state, + "dep_dir": dep_dir, + "dep_classname": dep_classname, + "dep_seen_by_java_dir": dep_seen_by_java_dir, + "dep_seen_by_kotlin_dir": dep_seen_by_kotlin_dir, + "dep_seen_by_java_sourcefile": dep_seen_by_java_sourcefile, + "dep_seen_by_kotlin_sourcefile": dep_seen_by_kotlin_sourcefile + }) + +# Compile all the test classes we just generated, in two commands (since javac objects to seeing the same class file twice in one run) + +subprocess.check_call(["javac"] + [j["dep_seen_by_java_sourcefile"] for j in jobs]) +subprocess.check_call(["javac"] + [j["dep_seen_by_kotlin_sourcefile"] for j in jobs]) + +# Create jar files and set class and jar files' relative timestamps for each dependency the two extractors will see: + +for j in jobs: + os.remove(j["dep_seen_by_java_sourcefile"]) + os.remove(j["dep_seen_by_kotlin_sourcefile"]) + dep_seen_by_java_classfile = j["dep_seen_by_java_sourcefile"].replace(".java", ".class") + dep_seen_by_kotlin_classfile = j["dep_seen_by_kotlin_sourcefile"].replace(".java", ".class") + + subprocess.check_call(["touch", "-t", newer_datetime if j["class_file_state"] == "JavaClassFileNewer" else older_datetime, dep_seen_by_java_classfile]) + subprocess.check_call(["touch", "-t", newer_datetime if j["class_file_state"] == "KotlinClassFileNewer" else older_datetime, dep_seen_by_kotlin_classfile]) + + if j["jar_state"] != "NoJar": + classfile_name = os.path.basename(dep_seen_by_java_classfile) + jar_command = ["jar", "cf", "dep.jar", classfile_name] + subprocess.check_call(jar_command, cwd = j["dep_seen_by_java_dir"]) + subprocess.check_call(jar_command, cwd = j["dep_seen_by_kotlin_dir"]) + jar_seen_by_java = os.path.join(j["dep_seen_by_java_dir"], "dep.jar") + jar_seen_by_kotlin = os.path.join(j["dep_seen_by_kotlin_dir"], "dep.jar") + subprocess.check_call(["touch", "-t", newer_datetime if j["jar_state"] == "JavaJarNewer" else older_datetime, jar_seen_by_java]) + subprocess.check_call(["touch", "-t", newer_datetime if j["jar_state"] == "KotlinJarNewer" else older_datetime, jar_seen_by_kotlin]) + j["javac_classpath_entry"] = jar_seen_by_java + j["kotlinc_classpath_entry"] = jar_seen_by_kotlin + else: + # No jar file involved, just add the dependency build directory to the classpath: + j["javac_classpath_entry"] = j["dep_seen_by_java_dir"] + j["kotlinc_classpath_entry"] = j["dep_seen_by_kotlin_dir"] + +# Create source files that instantiate each dependency type: + +kotlin_first_jobs = [j for j in jobs if j["first_extraction"] == "KotlinSeesFirst"] +java_first_jobs = [j for j in jobs if j["first_extraction"] == "JavaSeesFirst"] +kotlin_first_classes = [j["dep_classname"] for j in kotlin_first_jobs] +java_first_classes = [j["dep_classname"] for j in java_first_jobs] + +kotlin_first_user = "kotlinFirstUser.kt" +kotlin_second_user = "kotlinSecondUser.kt" +java_first_user = "JavaFirstUser.java" +java_second_user = "JavaSecondUser.java" + +def kotlin_instantiate_classes(classes): + return "; ".join(["noop(%s())" % c for c in classes]) + +def make_kotlin_user(user_filename, classes): + with open(user_filename, "w") as f: + f.write("fun noop(x: Any) { } fun user() { %s }" % kotlin_instantiate_classes(classes)) + +make_kotlin_user(kotlin_first_user, kotlin_first_classes) +make_kotlin_user(kotlin_second_user, java_first_classes) + +def java_instantiate_classes(classes): + return " ".join(["noop(new %s());" % c for c in classes]) + +def make_java_user(user_filename, classes): + with open(user_filename, "w") as f: + f.write("public class %s { private static void noop(Object x) { } public static void user() { %s } }" % (user_filename.replace(".java", ""), java_instantiate_classes(classes))) + +make_java_user(java_first_user, java_first_classes) +make_java_user(java_second_user, kotlin_first_classes) + +# Now finally make a database, including classes where Java sees them first followed by Kotlin and vice versa. +# In all cases the Kotlin extraction should take precedence. + +def make_classpath(jobs, entry_name): + return ":".join([j[entry_name] for j in jobs]) + +kotlin_first_classpath = make_classpath(kotlin_first_jobs, "kotlinc_classpath_entry") +java_first_classpath = make_classpath(java_first_jobs, "javac_classpath_entry") +kotlin_second_classpath = make_classpath(java_first_jobs, "kotlinc_classpath_entry") +java_second_classpath = make_classpath(kotlin_first_jobs, "javac_classpath_entry") + +run_codeql_database_create([ + "kotlinc -cp %s %s" % (kotlin_first_classpath, kotlin_first_user), + "javac -cp %s %s" % (java_first_classpath, java_first_user), + "kotlinc -cp %s %s" % (kotlin_second_classpath, kotlin_second_user), + "javac -cp %s %s" % (java_second_classpath, java_second_user) +], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.ql b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.ql new file mode 100644 index 00000000000..637735f68ea --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/java_kotlin_extraction_orders/test.ql @@ -0,0 +1,5 @@ +import java + +from Method m +where m.getName() = "memberOnlySeenByKotlin" +select m, m.getDeclaringType().getName() diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/J.java b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/J.java new file mode 100644 index 00000000000..d1cc30d651d --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/J.java @@ -0,0 +1 @@ +public class J { } diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/K.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/K.kt new file mode 100644 index 00000000000..d07b8bd8d03 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/K.kt @@ -0,0 +1 @@ +fun user1(j: J) { } diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/K2.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/K2.kt new file mode 100644 index 00000000000..f01cd4d1304 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/K2.kt @@ -0,0 +1 @@ +fun user2(j: J) { } diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/jlocs.expected b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/jlocs.expected new file mode 100644 index 00000000000..5be9218762e --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/jlocs.expected @@ -0,0 +1,3 @@ +| J.java:1:14:1:14 | J | +| build/J.class:0:0:0:0 | J | +| file:///!unknown-binary-location/J.class:0:0:0:0 | J | diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/jlocs.ql b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/jlocs.ql new file mode 100644 index 00000000000..d0d4beee9f9 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/jlocs.ql @@ -0,0 +1,5 @@ +import java + +from Class c +where c.getSourceDeclaration().getName() = "J" +select c diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/test.py b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/test.py new file mode 100644 index 00000000000..2b44384c1dc --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_compiler_java_source/test.py @@ -0,0 +1,8 @@ +from create_database_utils import * + +os.mkdir('build') +# Steps: +# 1. Compile Kotlin passing Java source code. J.class is extracted with an unknown binary location +# 2. Compile Java producing a class file. J.class should be re-extracted this time with a known binary location +# 3. Compile a Kotlin user passing a Java class file on the classpath. Should reference the class file location that step 1 didn't know, but step 2 did. +run_codeql_database_create(["kotlinc J.java K.kt -d build", "javac J.java -d build", "kotlinc K2.kt -cp build -d build"], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/libsrc/longsig.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/libsrc/longsig.kt new file mode 100644 index 00000000000..25dda426865 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/libsrc/longsig.kt @@ -0,0 +1,7 @@ +package abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij; + +class Param { + +} + +fun f(p1: Param, p2: Param, p3: Param, p4: Param, p5: Param) { } diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.expected b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.expected new file mode 100644 index 00000000000..d99bf44e5fb --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.expected @@ -0,0 +1 @@ +| /abcdefghij/abcdefghij/abcdefghij/abcdefghij/abcdefghij/abcdefghij/abcdefghij/abcdefghij/abcdefghij/abcdefghij/LongsigKt.class:0:0:0:0 | f | diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.py b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.py new file mode 100644 index 00000000000..a5987b0c08f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.py @@ -0,0 +1,11 @@ +from create_database_utils import * +import glob + +# Compile library Kotlin file untraced. Note the library is hidden under `libsrc` so the Kotlin compiler +# will certainly reference the jar, not the source or class file. + +os.mkdir('build') +runSuccessfully(["kotlinc"] + glob.glob("libsrc/*.kt") + ["-d", "build"]) +runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "abcdefghij", "-C", "build", "META-INF"]) +run_codeql_database_create(["kotlinc user.kt -cp extlib.jar"], lang="java") + diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.ql b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.ql new file mode 100644 index 00000000000..f514be114a7 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/test.ql @@ -0,0 +1,7 @@ +import java + +from Method m +where m.getDeclaringType().getName() = "LongsigKt" +select m.getLocation() + .toString() + .regexpReplaceAll(".*(extlib.jar|!unknown-binary-location)/", "/"), m.toString() diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/user.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/user.kt new file mode 100644 index 00000000000..8c60c53fc03 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_file_import/user.kt @@ -0,0 +1,7 @@ +import abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.abcdefghij.* + +fun user() { + + f(Param(), Param(), Param(), Param(), Param()) + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/JavaDefns.java b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/JavaDefns.java new file mode 100644 index 00000000000..c8e4daaa5f0 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/JavaDefns.java @@ -0,0 +1,18 @@ +public class JavaDefns { + + // Currently known not to work: the Comparable case, which Kotlin sees as Comparable<*> because the + // wildcard goes the opposite direction to the variance declared on Comparable's type parameter. + + public static void takesComparable(Comparable invar, Comparable contravar) { } + + public static void takesNestedComparable(Comparable> innerContravar, Comparable> outerContravar) { } + + public static void takesArrayOfComparable(Comparable[] invar, Comparable[] contravar) { } + + public static Comparable returnsWildcard() { return null; } + + public static Comparable returnsInvariant() { return null; } + + public JavaDefns(Comparable invar, Comparable contravar) { } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/JavaUser.java b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/JavaUser.java new file mode 100644 index 00000000000..cbc0544e9fe --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/JavaUser.java @@ -0,0 +1,54 @@ +import java.util.List; + +public class JavaUser { + + public static void test() { + + KotlinDefns kd = new KotlinDefns(); + + kd.takesInvariantType((List)null, (List)null, (List)null); + + kd.takesCovariantType((List)null, (List)null); + + kd.takesContravariantType((Comparable)null, (Comparable)null); + + kd.takesNestedType((List>) null, (List>)null, (Comparable>)null, (List>)null, (Comparable>)null); + + kd.takesFinalParameter((List)null, (List)null, (Comparable)null); + + kd.takesFinalParameterForceWildcard((List)null, (List)null, (Comparable)null); + + kd.takesAnyParameter((List)null, (List)null, (Comparable)null); + + kd.takesAnyQParameter((List)null, (List)null, (Comparable)null); + + kd.takesAnyParameterForceWildcard((List)null, (List)null, (Comparable)null); + + kd.takesVariantTypesSuppressedWildcards((List)null, (Comparable)null); + + List r1 = kd.returnsInvar(); + + List r2 = kd.returnsCovar(); + + Comparable r3 = kd.returnsContravar(); + + List r4 = kd.returnsCovarForced(); + + Comparable r5 = kd.returnsContravarForced(); + + KotlinDefnsSuppressedOuter kdso = new KotlinDefnsSuppressedOuter(); + kdso.outerFn((List)null, (Comparable)null); + KotlinDefnsSuppressedOuter.Inner kdsoi = new KotlinDefnsSuppressedOuter.Inner(); + kdsoi.innerFn((List)null, (Comparable)null); + + KotlinDefnsSuppressedInner kdsi = new KotlinDefnsSuppressedInner(); + kdsi.outerFn((List)null, (Comparable)null); + KotlinDefnsSuppressedInner.Inner kdsii = new KotlinDefnsSuppressedInner.Inner(); + kdsii.innerFn((List)null, (Comparable)null); + + KotlinDefnsSuppressedFn kdsf = new KotlinDefnsSuppressedFn(); + kdsf.outerFn((List)null, (Comparable)null); + + } + +} \ No newline at end of file diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/kotlindefns.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/kotlindefns.kt new file mode 100644 index 00000000000..671c1ae0ecc --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/kotlindefns.kt @@ -0,0 +1,78 @@ +// Note throughout, using: +// MutableList as a type whose parameter is invariant +// List as a type whose parameter is covariant (List) +// Comparable as a type whose parameter is contravariant (Comparable) +// CharSequence as a non-final type +// String as a final type + +class ComparableCs : Comparable { + override fun compareTo(other: CharSequence): Int = 1 +} + +class KotlinDefns { + + fun takesInvariantType(noUseSiteVariance: MutableList, useSiteCovariant: MutableList, useSiteContravariant: MutableList) { } + + // Note List is a static error (contradictory variance) + fun takesCovariantType(noUseSiteVariance: List, useSiteCovariant: List) { } + + // Note Comparable is a static error (contradictory variance) + fun takesContravariantType(noUseSiteVariance: Comparable, useSiteContravariant: Comparable) { } + + fun takesNestedType(invar: MutableList>, covar: List>, contravar: Comparable>, mixed1: List>, mixed2: Comparable>) { } + + fun takesFinalParameter(invar: MutableList, covar: List, contravar: Comparable) { } + + fun takesFinalParameterForceWildcard(invar: MutableList<@JvmWildcard String>, covar: List<@JvmWildcard String>, contravar: Comparable<@JvmWildcard String>) { } + + fun takesAnyParameter(invar: MutableList, covar: List, contravar: Comparable) { } + + fun takesAnyQParameter(invar: MutableList, covar: List, contravar: Comparable) { } + + fun takesAnyParameterForceWildcard(invar: MutableList<@JvmWildcard Any>, covar: List<@JvmWildcard Any>, contravar: Comparable<@JvmWildcard Any>) { } + + fun takesVariantTypesSuppressedWildcards(covar: List<@JvmSuppressWildcards CharSequence>, contravar: Comparable<@JvmSuppressWildcards CharSequence>) { } + + fun returnsInvar() : MutableList = mutableListOf() + + fun returnsCovar(): List = listOf() + + fun returnsContravar(): Comparable = ComparableCs() + + fun returnsCovarForced(): List<@JvmWildcard CharSequence> = listOf() + + fun returnsContravarForced(): Comparable<@JvmWildcard CharSequence> = ComparableCs() + +} + +@JvmSuppressWildcards +class KotlinDefnsSuppressedOuter { + + fun outerFn(covar: List, contravar: Comparable) { } + + class Inner { + + fun innerFn(covar: List, contravar: Comparable) { } + + } + +} + +class KotlinDefnsSuppressedInner { + + fun outerFn(covar: List, contravar: Comparable) { } + + @JvmSuppressWildcards + class Inner { + + fun innerFn(covar: List, contravar: Comparable) { } + + } + +} + +class KotlinDefnsSuppressedFn { + + @JvmSuppressWildcards fun outerFn(covar: List, contravar: Comparable) { } + +} \ No newline at end of file diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/kotlinuser.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/kotlinuser.kt new file mode 100644 index 00000000000..535b03b902f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/kotlinuser.kt @@ -0,0 +1,10 @@ + +fun user() { + val cs = ComparableCs() + val acs = arrayOf(cs) + + JavaDefns.takesComparable(cs, cs) + JavaDefns.takesArrayOfComparable(acs, acs) + + val constructed = JavaDefns(cs, cs) +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.expected b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.expected new file mode 100644 index 00000000000..a0c58e6b492 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.expected @@ -0,0 +1,54 @@ +| JavaDefns | JavaDefns | contravar | Comparable | +| JavaDefns | JavaDefns | invar | Comparable | +| JavaDefns | returnsInvariant | return | Comparable | +| JavaDefns | returnsWildcard | return | Comparable | +| JavaDefns | takesArrayOfComparable | contravar | Comparable[] | +| JavaDefns | takesArrayOfComparable | invar | Comparable[] | +| JavaDefns | takesComparable | contravar | Comparable | +| JavaDefns | takesComparable | invar | Comparable | +| JavaDefns | takesNestedComparable | innerContravar | Comparable> | +| JavaDefns | takesNestedComparable | outerContravar | Comparable> | +| KotlinDefns | returnsContravar | return | Comparable | +| KotlinDefns | returnsContravarForced | return | Comparable | +| KotlinDefns | returnsCovar | return | List | +| KotlinDefns | returnsCovarForced | return | List | +| KotlinDefns | returnsInvar | return | List | +| KotlinDefns | takesAnyParameter | contravar | Comparable | +| KotlinDefns | takesAnyParameter | covar | List | +| KotlinDefns | takesAnyParameter | invar | List | +| KotlinDefns | takesAnyParameterForceWildcard | contravar | Comparable | +| KotlinDefns | takesAnyParameterForceWildcard | covar | List | +| KotlinDefns | takesAnyParameterForceWildcard | invar | List | +| KotlinDefns | takesAnyQParameter | contravar | Comparable | +| KotlinDefns | takesAnyQParameter | covar | List | +| KotlinDefns | takesAnyQParameter | invar | List | +| KotlinDefns | takesContravariantType | noUseSiteVariance | Comparable | +| KotlinDefns | takesContravariantType | useSiteContravariant | Comparable | +| KotlinDefns | takesCovariantType | noUseSiteVariance | List | +| KotlinDefns | takesCovariantType | useSiteCovariant | List | +| KotlinDefns | takesFinalParameter | contravar | Comparable | +| KotlinDefns | takesFinalParameter | covar | List | +| KotlinDefns | takesFinalParameter | invar | List | +| KotlinDefns | takesFinalParameterForceWildcard | contravar | Comparable | +| KotlinDefns | takesFinalParameterForceWildcard | covar | List | +| KotlinDefns | takesFinalParameterForceWildcard | invar | List | +| KotlinDefns | takesInvariantType | noUseSiteVariance | List | +| KotlinDefns | takesInvariantType | useSiteContravariant | List | +| KotlinDefns | takesInvariantType | useSiteCovariant | List | +| KotlinDefns | takesNestedType | contravar | Comparable> | +| KotlinDefns | takesNestedType | covar | List> | +| KotlinDefns | takesNestedType | invar | List> | +| KotlinDefns | takesNestedType | mixed1 | List> | +| KotlinDefns | takesNestedType | mixed2 | Comparable> | +| KotlinDefns | takesVariantTypesSuppressedWildcards | contravar | Comparable | +| KotlinDefns | takesVariantTypesSuppressedWildcards | covar | List | +| KotlinDefnsSuppressedFn | outerFn | contravar | Comparable | +| KotlinDefnsSuppressedFn | outerFn | covar | List | +| KotlinDefnsSuppressedInner | outerFn | contravar | Comparable | +| KotlinDefnsSuppressedInner | outerFn | covar | List | +| KotlinDefnsSuppressedInner$Inner | innerFn | contravar | Comparable | +| KotlinDefnsSuppressedInner$Inner | innerFn | covar | List | +| KotlinDefnsSuppressedOuter | outerFn | contravar | Comparable | +| KotlinDefnsSuppressedOuter | outerFn | covar | List | +| KotlinDefnsSuppressedOuter$Inner | innerFn | contravar | Comparable | +| KotlinDefnsSuppressedOuter$Inner | innerFn | covar | List | diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.py b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.py new file mode 100644 index 00000000000..76e58dc728b --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.py @@ -0,0 +1,3 @@ +from create_database_utils import * + +run_codeql_database_create(["kotlinc kotlindefns.kt", "javac JavaUser.java JavaDefns.java -cp .", "kotlinc -cp . kotlinuser.kt"], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.ql b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.ql new file mode 100644 index 00000000000..36dd57871b7 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_lowering_wildcards/test.ql @@ -0,0 +1,22 @@ +import java + +predicate isInterestingClass(Class c) { + [c, c.(NestedType).getEnclosingType()].getName().matches(["KotlinDefns%", "JavaDefns"]) +} + +from Callable c, string paramOrReturnName, Type paramOrReturnType +where + isInterestingClass(c.getDeclaringType()) and + ( + exists(Parameter p | + p = c.getAParameter() and + paramOrReturnName = p.getName() and + paramOrReturnType = p.getType() + ) + or + paramOrReturnName = "return" and + paramOrReturnType = c.getReturnType() and + not paramOrReturnType instanceof VoidType + ) +select c.getDeclaringType().getQualifiedName(), c.getName(), paramOrReturnName, + paramOrReturnType.toString() diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/ReadsFields.java b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/ReadsFields.java new file mode 100644 index 00000000000..02bf6ff5255 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/ReadsFields.java @@ -0,0 +1,13 @@ +public class ReadsFields { + + public static void read() { + + sink(HasFields.constField); + sink(HasFields.lateinitField); + sink(HasFields.jvmFieldAnnotatedField); + + } + + public static void sink(String x) { } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/hasFields.kt b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/hasFields.kt new file mode 100644 index 00000000000..a7fde8fa33b --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/hasFields.kt @@ -0,0 +1,17 @@ +public class HasFields { + + companion object { + + const val constField = "taint" + + lateinit var lateinitField: String + + @JvmField val jvmFieldAnnotatedField = "taint" + + } + + fun doLateInit() { + lateinitField = "taint" + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.expected b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.expected new file mode 100644 index 00000000000..3581a178422 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.expected @@ -0,0 +1,26 @@ +edges +| hasFields.kt:5:5:5:34 | constField : String | ReadsFields.java:5:10:5:29 | HasFields.constField | +| hasFields.kt:5:28:5:34 | taint : String | hasFields.kt:5:5:5:34 | constField : String | +| hasFields.kt:7:5:7:38 | lateinitField : String | ReadsFields.java:6:10:6:32 | HasFields.lateinitField | +| hasFields.kt:7:14:7:38 | : String | hasFields.kt:7:5:7:38 | lateinitField : String | +| hasFields.kt:7:14:7:38 | : String | hasFields.kt:7:14:7:38 | : String | +| hasFields.kt:9:5:9:50 | jvmFieldAnnotatedField : String | ReadsFields.java:7:10:7:41 | HasFields.jvmFieldAnnotatedField | +| hasFields.kt:9:44:9:50 | taint : String | hasFields.kt:9:5:9:50 | jvmFieldAnnotatedField : String | +| hasFields.kt:14:22:14:26 | taint : String | hasFields.kt:7:14:7:38 | : String | +nodes +| ReadsFields.java:5:10:5:29 | HasFields.constField | semmle.label | HasFields.constField | +| ReadsFields.java:6:10:6:32 | HasFields.lateinitField | semmle.label | HasFields.lateinitField | +| ReadsFields.java:7:10:7:41 | HasFields.jvmFieldAnnotatedField | semmle.label | HasFields.jvmFieldAnnotatedField | +| hasFields.kt:5:5:5:34 | constField : String | semmle.label | constField : String | +| hasFields.kt:5:28:5:34 | taint : String | semmle.label | taint : String | +| hasFields.kt:7:5:7:38 | lateinitField : String | semmle.label | lateinitField : String | +| hasFields.kt:7:14:7:38 | : String | semmle.label | : String | +| hasFields.kt:7:14:7:38 | : String | semmle.label | : String | +| hasFields.kt:9:5:9:50 | jvmFieldAnnotatedField : String | semmle.label | jvmFieldAnnotatedField : String | +| hasFields.kt:9:44:9:50 | taint : String | semmle.label | taint : String | +| hasFields.kt:14:22:14:26 | taint : String | semmle.label | taint : String | +subpaths +#select +| hasFields.kt:5:28:5:34 | taint : String | hasFields.kt:5:28:5:34 | taint : String | ReadsFields.java:5:10:5:29 | HasFields.constField | flow path | +| hasFields.kt:9:44:9:50 | taint : String | hasFields.kt:9:44:9:50 | taint : String | ReadsFields.java:7:10:7:41 | HasFields.jvmFieldAnnotatedField | flow path | +| hasFields.kt:14:22:14:26 | taint : String | hasFields.kt:14:22:14:26 | taint : String | ReadsFields.java:6:10:6:32 | HasFields.lateinitField | flow path | diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.py b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.py new file mode 100644 index 00000000000..07bf397a81e --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.py @@ -0,0 +1,4 @@ +from create_database_utils import * + +os.mkdir('build') +run_codeql_database_create(["kotlinc ReadsFields.java hasFields.kt -d kbuild", "javac ReadsFields.java -cp kbuild"], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.ql b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.ql new file mode 100644 index 00000000000..f7702b2ac38 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlin_java_static_fields/test.ql @@ -0,0 +1,17 @@ +import java +import semmle.code.java.dataflow.DataFlow +import DataFlow::PathGraph + +class Config extends DataFlow::Configuration { + Config() { this = "Config" } + + override predicate isSource(DataFlow::Node n) { n.asExpr().(StringLiteral).getValue() = "taint" } + + override predicate isSink(DataFlow::Node n) { + n.asExpr().(Argument).getCall().getCallee().getName() = "sink" + } +} + +from DataFlow::PathNode source, DataFlow::PathNode sink, Config c +where c.hasFlowPath(source, sink) +select source, source, sink, "flow path" diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/FileA.kt b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/FileA.kt new file mode 100644 index 00000000000..1b471fcea51 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/FileA.kt @@ -0,0 +1,9 @@ +package foo.bar; + +// import foo.bar.ClassB; + +class ClassA { + fun f(b: ClassB) { + b.called(); + } +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/FileB.kt b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/FileB.kt new file mode 100644 index 00000000000..43f5f870d52 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/FileB.kt @@ -0,0 +1,8 @@ +package foo.bar; + +class ClassB { + fun called() { + } + fun notCalled() { + } +} diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/build.py b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/build.py new file mode 100644 index 00000000000..09d42100362 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/build.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +from create_database_utils import * + +runSuccessfully(["kotlinc", "FileA.kt", "FileB.kt"]) + diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/compilations.expected b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/compilations.expected new file mode 100644 index 00000000000..2a4f078a25f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/compilations.expected @@ -0,0 +1 @@ +| 1 | diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/compilations.ql b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/compilations.ql new file mode 100644 index 00000000000..7ddd497d555 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/compilations.ql @@ -0,0 +1,3 @@ +import java + +select count(Compilation c) diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/methods.expected b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/methods.expected new file mode 100644 index 00000000000..873b5d7debc --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/methods.expected @@ -0,0 +1,3 @@ +| FileA.kt:6:2:8:2 | f | +| FileB.kt:4:2:5:2 | called | +| FileB.kt:6:2:7:2 | notCalled | diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/methods.ql b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/methods.ql new file mode 100644 index 00000000000..9d32c93e69c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/methods.ql @@ -0,0 +1,5 @@ +import java + +from Method m +where exists(m.getFile().getRelativePath()) +select m diff --git a/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/test.py b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/test.py new file mode 100644 index 00000000000..074931bbe89 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/kotlinc_multi/test.py @@ -0,0 +1,3 @@ +from create_database_utils import * + +run_codeql_database_create(['"%s" ./build.py' % sys.executable], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/logs/build.py b/java/ql/integration-tests/posix-only/kotlin/logs/build.py new file mode 100644 index 00000000000..eedddd8ba5c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/logs/build.py @@ -0,0 +1,18 @@ +#!/usr/bin/python + +from create_database_utils import * + +# Make a source file to keep codeql happy +srcDir = os.environ['CODEQL_EXTRACTOR_JAVA_SOURCE_ARCHIVE_DIR'] +srcFile = srcDir + '/Source.java' +os.makedirs(srcDir) +with open(srcFile, 'w') as f: + pass + +for t in ['Test1', 'sun.something.Test2']: + print('Test ' + t + ' started.') + sys.stdout.flush() + runSuccessfully(['java', t]) + print('Test ' + t + ' ended.') + sys.stdout.flush() + diff --git a/java/ql/integration-tests/posix-only/kotlin/logs/index_logs.py b/java/ql/integration-tests/posix-only/kotlin/logs/index_logs.py new file mode 100644 index 00000000000..c7b94ad024d --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/logs/index_logs.py @@ -0,0 +1,41 @@ +#!/usr/bin/python + +import csv +import json +import re +import sys +from create_database_utils import * + +# Make a source file to keep codeql happy +src_dir = os.environ['CODEQL_EXTRACTOR_JAVA_SOURCE_ARCHIVE_DIR'] +src_file = src_dir + '/Source.java' +os.makedirs(src_dir) +with open(src_file, 'w') as f: + pass + +line_index = 0 +file_index = 0 +with open('logs.csv', 'w', newline='') as f_out: + csv_writer = csv.writer(f_out) + def write_line(origin, kind, msg): + global file_index, line_index + csv_writer.writerow([str(file_index), str(line_index), origin, kind, msg]) + line_index += 1 + log_dir = 'kt-db/log' + for file_name in os.listdir(log_dir): + if file_name.startswith('kotlin-extractor'): + file_index += 1 + line_index = 1 + write_line('Test script', 'Log file', str(file_index)) + with open(log_dir + '/' + file_name) as f_in: + for line in f_in: + j = json.loads(line) + msg = j['message'] + msg = re.sub('(?<=Extraction for invocation TRAP file ).*/kt-db/trap/java/invocations/kotlin\..*\.trap', '', msg) + if msg.startswith('Peak memory: '): + # Peak memory information varies from run to run, so just ignore it + continue + write_line(j['origin'], j['kind'], msg) + +runSuccessfully(["codeql", "database", "index-files", "--language=csv", "--include=logs.csv", "test-db"]) + diff --git a/java/ql/integration-tests/posix-only/kotlin/logs/logs.expected b/java/ql/integration-tests/posix-only/kotlin/logs/logs.expected new file mode 100644 index 00000000000..9c5116e850f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/logs/logs.expected @@ -0,0 +1,5 @@ +| 1 | 1 | Test script | Log file | 1 | +| 1 | 2 | CodeQL Kotlin extractor | INFO | Extraction started | +| 1 | 3 | CodeQL Kotlin extractor | INFO | Extraction for invocation TRAP file | +| 1 | 4 | CodeQL Kotlin extractor | INFO | Extracting file test.kt | +| 1 | 5 | CodeQL Kotlin extractor | INFO | Extraction completed | diff --git a/java/ql/integration-tests/posix-only/kotlin/logs/logs.ql b/java/ql/integration-tests/posix-only/kotlin/logs/logs.ql new file mode 100644 index 00000000000..5a3d30fc5b2 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/logs/logs.ql @@ -0,0 +1,5 @@ +import external.ExternalArtifact + +from ExternalData ed +where ed.getDataPath().matches("%logs.csv") +select ed.getFieldAsInt(0), ed.getFieldAsInt(1), ed.getField(2), ed.getField(3), ed.getField(4) diff --git a/java/ql/integration-tests/posix-only/kotlin/logs/test.kt b/java/ql/integration-tests/posix-only/kotlin/logs/test.kt new file mode 100644 index 00000000000..2fc18b1217a --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/logs/test.kt @@ -0,0 +1,2 @@ +class Test { +} diff --git a/java/ql/integration-tests/posix-only/kotlin/logs/test.py b/java/ql/integration-tests/posix-only/kotlin/logs/test.py new file mode 100644 index 00000000000..6203650ac3f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/logs/test.py @@ -0,0 +1,4 @@ +from create_database_utils import * + +run_codeql_database_create(['kotlinc test.kt'], test_db="kt-db", db=None, lang="java") +run_codeql_database_create(['"%s" ./index_logs.py' % sys.executable], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/User.java b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/User.java new file mode 100644 index 00000000000..12d4b0937da --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/User.java @@ -0,0 +1,9 @@ +public class User { + + public static int test(Test1 test1, Test2 test2, Test3 test3) { + + return test1.f$main() + test2.f$mymodule() + test3.f$reservedchars___(); + + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.expected b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.expected new file mode 100644 index 00000000000..a1fc953a254 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.expected @@ -0,0 +1,4 @@ +| User.java:3:21:3:24 | test | +| test1.kt:3:12:3:22 | f$main | +| test2.kt:3:12:3:22 | f$mymodule | +| test3.kt:3:12:3:22 | f$reservedchars___ | diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py new file mode 100644 index 00000000000..0a41ac5b3bf --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.py @@ -0,0 +1,3 @@ +from create_database_utils import * + +run_codeql_database_create(["kotlinc test1.kt", "kotlinc test2.kt -module-name mymodule", "kotlinc test3.kt -module-name reservedchars\\\"${}/", "javac User.java -cp ." ], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.ql b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.ql new file mode 100644 index 00000000000..f1355df2e88 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test.ql @@ -0,0 +1,5 @@ +import java + +from Method m +where m.fromSource() +select m diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test1.kt b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test1.kt new file mode 100644 index 00000000000..c14fec0452e --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test1.kt @@ -0,0 +1,5 @@ +public class Test1 { + + internal fun f() = 1 + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test2.kt b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test2.kt new file mode 100644 index 00000000000..c37d26c39fc --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test2.kt @@ -0,0 +1,5 @@ +public class Test2 { + + internal fun f() = 2 + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test3.kt b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test3.kt new file mode 100644 index 00000000000..5fcdaced80c --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/module_mangled_names/test3.kt @@ -0,0 +1,5 @@ +public class Test3 { + + internal fun f() = 3 + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/JavaUser.java b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/JavaUser.java new file mode 100644 index 00000000000..f54b65bde92 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/JavaUser.java @@ -0,0 +1,35 @@ +import extlib.*; + +public class JavaUser { + + public static void test() { + + OuterGeneric.InnerGeneric a = (new OuterGeneric()).new InnerGeneric('a'); + OuterGeneric.InnerGeneric a2 = (new OuterGeneric()).new InnerGeneric('a'); + OuterGeneric.InnerGeneric a3 = (new OuterGeneric()).new InnerGeneric('a', "Hello world"); + OuterGeneric.InnerNotGeneric b = (new OuterGeneric()).new InnerNotGeneric(); + OuterGeneric.InnerNotGeneric b2 = (new OuterGeneric()).new InnerNotGeneric(); + OuterNotGeneric.InnerGeneric c = (new OuterNotGeneric()).new InnerGeneric(); + OuterGeneric.InnerStaticGeneric d = new OuterGeneric.InnerStaticGeneric('a', "Hello world"); + OuterManyParams.MiddleManyParams.InnerManyParams e = ((new OuterManyParams(1, "hello")).new MiddleManyParams(1.0f, 1.0)).new InnerManyParams(1L, (short)1); + + String result1 = a.returnsecond(0, "hello"); + String result1a = a.returnsecond(0, "hello", 'a'); + Integer result2 = b.identity(5); + String result2b = b2.identity("hello"); + String result3 = c.identity("world"); + String result4 = d.identity("goodbye"); + Short result5 = e.returnSixth(1, "hello", 1.0f, 1.0, 1L, (short)1); + + OuterGeneric.InnerNotGeneric innerGetterTest = (new OuterGeneric()).getInnerNotGeneric(); + OuterNotGeneric.InnerGeneric innerGetterTest2 = (new OuterNotGeneric()).getInnerGeneric(); + + TypeParamVisibility tpv = new TypeParamVisibility(); + TypeParamVisibility.VisibleBecauseInner visibleBecauseInner = tpv.getVisibleBecauseInner(); + TypeParamVisibility.VisibleBecauseInnerIndirectContainer.VisibleBecauseInnerIndirect visibleBecauseInnerIndirect = tpv.getVisibleBecauseInnerIndirect(); + TypeParamVisibility.NotVisibleBecauseStatic notVisibleBecauseStatic = tpv.getNotVisibleBecauseStatic(); + TypeParamVisibility.NotVisibleBecauseStaticIndirectContainer.NotVisibleBecauseStaticIndirect notVisibleBecauseStaticIndirect = tpv.getNotVisibleBecauseStaticIndirect(); + + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/KotlinUser.kt b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/KotlinUser.kt new file mode 100644 index 00000000000..44474b84619 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/KotlinUser.kt @@ -0,0 +1,36 @@ +package testuser + +import extlib.* + +class User { + + fun test() { + + val a = OuterGeneric().InnerGeneric('a') + val a2 = OuterGeneric().InnerGeneric('a', "hello world") + val b = OuterGeneric().InnerNotGeneric() + val b2 = OuterGeneric().InnerNotGeneric() + val c = OuterNotGeneric().InnerGeneric() + val d = OuterGeneric.InnerStaticGeneric('a', "hello world") + val e = OuterManyParams(1, "hello").MiddleManyParams(1.0f, 1.0).InnerManyParams(1L, 1.toShort()) + + val result1 = a.returnsecond(0, "hello") + val result1a = a.returnsecond(0, "hello", 'a') + val result2 = b.identity(5) + val result2b = b2.identity("hello") + val result3 = c.identity("world") + val result4 = d.identity("goodbye") + val result5 = e.returnSixth(1, "hello", 1.0f, 1.0, 1L, 1.toShort()) + + val innerGetterTest = OuterGeneric().getInnerNotGeneric() + val innerGetterTest2 = OuterNotGeneric().getInnerGeneric() + + val tpv = TypeParamVisibility() + val visibleBecauseInner = tpv.getVisibleBecauseInner(); + val visibleBecauseInnerIndirect = tpv.getVisibleBecauseInnerIndirect() + val notVisibleBecauseStatic = tpv.getNotVisibleBecauseStatic() + val notVisibleBecauseStaticIndirect = tpv.getNotVisibleBecauseStaticIndirect() + + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterGeneric.java b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterGeneric.java new file mode 100644 index 00000000000..b98950ad6dc --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterGeneric.java @@ -0,0 +1,34 @@ +package extlib; + +public class OuterGeneric { + + public class InnerNotGeneric { + + public T identity(T t) { return t; } + + } + + public InnerNotGeneric getInnerNotGeneric() { return null; } + + public class InnerGeneric { + + public InnerGeneric(R r) { } + + public InnerGeneric(R r, S s) { } + + public S returnsecond(T t, S s) { return s; } + + public S returnsecond(T t, S s, R r) { return s; } + + } + + public static class InnerStaticGeneric { + + public InnerStaticGeneric(R r, S s) { } + + public S identity(S s) { return s; } + + } + +} + diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterManyParams.java b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterManyParams.java new file mode 100644 index 00000000000..f21493ba9f9 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterManyParams.java @@ -0,0 +1,22 @@ +package extlib; + +public class OuterManyParams { + + public OuterManyParams(A a, B b) { } + + public class MiddleManyParams { + + public MiddleManyParams(C c, D d) { } + + public class InnerManyParams { + + public InnerManyParams(E e, F f) { } + + public F returnSixth(A a, B b, C c, D d, E e, F f) { return f; } + + } + + } + +} + diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterNotGeneric.java b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterNotGeneric.java new file mode 100644 index 00000000000..68a0f62d768 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/OuterNotGeneric.java @@ -0,0 +1,17 @@ +package extlib; + +public class OuterNotGeneric { + + public class InnerGeneric { + + public S identity(S s) { return s; } + + } + + public InnerGeneric getInnerGeneric() { + + return new InnerGeneric(); + + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/TypeParamVisibility.java b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/TypeParamVisibility.java new file mode 100644 index 00000000000..1ac6d4892e3 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/libsrc/extlib/TypeParamVisibility.java @@ -0,0 +1,29 @@ +package extlib; + +public class TypeParamVisibility { + + public class VisibleBecauseInner { } + + public class VisibleBecauseInnerIndirectContainer { + + public class VisibleBecauseInnerIndirect { } + + } + + public static class NotVisibleBecauseStatic { } + + public static class NotVisibleBecauseStaticIndirectContainer { + + public class NotVisibleBecauseStaticIndirect { } + + } + + public VisibleBecauseInner getVisibleBecauseInner() { return new VisibleBecauseInner(); } + + public VisibleBecauseInnerIndirectContainer.VisibleBecauseInnerIndirect getVisibleBecauseInnerIndirect() { return (new VisibleBecauseInnerIndirectContainer()).new VisibleBecauseInnerIndirect(); } + + public NotVisibleBecauseStatic getNotVisibleBecauseStatic() { return new NotVisibleBecauseStatic(); } + + public NotVisibleBecauseStaticIndirectContainer.NotVisibleBecauseStaticIndirect getNotVisibleBecauseStaticIndirect() { return (new NotVisibleBecauseStaticIndirectContainer()).new NotVisibleBecauseStaticIndirect(); } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.expected b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.expected new file mode 100644 index 00000000000..1c37ebd0eff --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.expected @@ -0,0 +1,378 @@ +callArgs +| JavaUser.java:7:52:7:110 | new InnerGeneric(...) | JavaUser.java:7:53:7:79 | new OuterGeneric(...) | -2 | +| JavaUser.java:7:52:7:110 | new InnerGeneric(...) | JavaUser.java:7:86:7:105 | InnerGeneric | -3 | +| JavaUser.java:7:52:7:110 | new InnerGeneric(...) | JavaUser.java:7:107:7:109 | 'a' | 0 | +| JavaUser.java:7:53:7:79 | new OuterGeneric(...) | JavaUser.java:7:57:7:77 | OuterGeneric | -3 | +| JavaUser.java:8:53:8:123 | new InnerGeneric(...) | JavaUser.java:8:54:8:80 | new OuterGeneric(...) | -2 | +| JavaUser.java:8:53:8:123 | new InnerGeneric(...) | JavaUser.java:8:88:8:96 | Character | -4 | +| JavaUser.java:8:53:8:123 | new InnerGeneric(...) | JavaUser.java:8:99:8:118 | InnerGeneric | -3 | +| JavaUser.java:8:53:8:123 | new InnerGeneric(...) | JavaUser.java:8:120:8:122 | 'a' | 0 | +| JavaUser.java:8:54:8:80 | new OuterGeneric(...) | JavaUser.java:8:58:8:78 | OuterGeneric | -3 | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | JavaUser.java:9:54:9:80 | new OuterGeneric(...) | -2 | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | JavaUser.java:9:88:9:96 | Character | -4 | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | JavaUser.java:9:99:9:118 | InnerGeneric | -3 | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | JavaUser.java:9:120:9:122 | 'a' | 0 | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | JavaUser.java:9:125:9:137 | "Hello world" | 1 | +| JavaUser.java:9:54:9:80 | new OuterGeneric(...) | JavaUser.java:9:58:9:78 | OuterGeneric | -3 | +| JavaUser.java:10:47:10:97 | new InnerNotGeneric(...) | JavaUser.java:10:48:10:74 | new OuterGeneric(...) | -2 | +| JavaUser.java:10:47:10:97 | new InnerNotGeneric(...) | JavaUser.java:10:81:10:95 | InnerNotGeneric | -3 | +| JavaUser.java:10:48:10:74 | new OuterGeneric(...) | JavaUser.java:10:52:10:72 | OuterGeneric | -3 | +| JavaUser.java:11:47:11:96 | new InnerNotGeneric(...) | JavaUser.java:11:48:11:73 | new OuterGeneric(...) | -2 | +| JavaUser.java:11:47:11:96 | new InnerNotGeneric(...) | JavaUser.java:11:80:11:94 | InnerNotGeneric | -3 | +| JavaUser.java:11:48:11:73 | new OuterGeneric(...) | JavaUser.java:11:52:11:71 | OuterGeneric | -3 | +| JavaUser.java:12:46:12:95 | new InnerGeneric(...) | JavaUser.java:12:47:12:67 | new OuterNotGeneric(...) | -2 | +| JavaUser.java:12:46:12:95 | new InnerGeneric(...) | JavaUser.java:12:74:12:93 | InnerGeneric | -3 | +| JavaUser.java:12:47:12:67 | new OuterNotGeneric(...) | JavaUser.java:12:51:12:65 | OuterNotGeneric | -3 | +| JavaUser.java:13:49:13:111 | new InnerStaticGeneric(...) | JavaUser.java:13:53:13:91 | OuterGeneric<>.InnerStaticGeneric | -3 | +| JavaUser.java:13:49:13:111 | new InnerStaticGeneric(...) | JavaUser.java:13:93:13:95 | 'a' | 0 | +| JavaUser.java:13:49:13:111 | new InnerStaticGeneric(...) | JavaUser.java:13:98:13:110 | "Hello world" | 1 | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | -2 | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | JavaUser.java:14:207:14:234 | InnerManyParams | -3 | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | JavaUser.java:14:236:14:237 | 1L | 0 | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | JavaUser.java:14:240:14:247 | (...)... | 1 | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | JavaUser.java:14:105:14:152 | new OuterManyParams(...) | -2 | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | JavaUser.java:14:159:14:189 | MiddleManyParams | -3 | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | JavaUser.java:14:191:14:194 | 1.0f | 0 | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | JavaUser.java:14:197:14:199 | 1.0 | 1 | +| JavaUser.java:14:105:14:152 | new OuterManyParams(...) | JavaUser.java:14:109:14:140 | OuterManyParams | -3 | +| JavaUser.java:14:105:14:152 | new OuterManyParams(...) | JavaUser.java:14:142:14:142 | 1 | 0 | +| JavaUser.java:14:105:14:152 | new OuterManyParams(...) | JavaUser.java:14:145:14:151 | "hello" | 1 | +| JavaUser.java:16:22:16:47 | returnsecond(...) | JavaUser.java:16:22:16:22 | a | -1 | +| JavaUser.java:16:22:16:47 | returnsecond(...) | JavaUser.java:16:37:16:37 | 0 | 0 | +| JavaUser.java:16:22:16:47 | returnsecond(...) | JavaUser.java:16:40:16:46 | "hello" | 1 | +| JavaUser.java:17:23:17:53 | returnsecond(...) | JavaUser.java:17:23:17:23 | a | -1 | +| JavaUser.java:17:23:17:53 | returnsecond(...) | JavaUser.java:17:38:17:38 | 0 | 0 | +| JavaUser.java:17:23:17:53 | returnsecond(...) | JavaUser.java:17:41:17:47 | "hello" | 1 | +| JavaUser.java:17:23:17:53 | returnsecond(...) | JavaUser.java:17:50:17:52 | 'a' | 2 | +| JavaUser.java:18:23:18:35 | identity(...) | JavaUser.java:18:23:18:23 | b | -1 | +| JavaUser.java:18:23:18:35 | identity(...) | JavaUser.java:18:34:18:34 | 5 | 0 | +| JavaUser.java:19:23:19:42 | identity(...) | JavaUser.java:19:23:19:24 | b2 | -1 | +| JavaUser.java:19:23:19:42 | identity(...) | JavaUser.java:19:35:19:41 | "hello" | 0 | +| JavaUser.java:20:22:20:40 | identity(...) | JavaUser.java:20:22:20:22 | c | -1 | +| JavaUser.java:20:22:20:40 | identity(...) | JavaUser.java:20:33:20:39 | "world" | 0 | +| JavaUser.java:21:22:21:42 | identity(...) | JavaUser.java:21:22:21:22 | d | -1 | +| JavaUser.java:21:22:21:42 | identity(...) | JavaUser.java:21:33:21:41 | "goodbye" | 0 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:21:22:21 | e | -1 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:35:22:35 | 1 | 0 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:38:22:44 | "hello" | 1 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:47:22:50 | 1.0f | 2 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:53:22:55 | 1.0 | 3 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:58:22:59 | 1L | 4 | +| JavaUser.java:22:21:22:70 | returnSixth(...) | JavaUser.java:22:62:22:69 | (...)... | 5 | +| JavaUser.java:24:60:24:108 | getInnerNotGeneric(...) | JavaUser.java:24:61:24:86 | new OuterGeneric(...) | -1 | +| JavaUser.java:24:61:24:86 | new OuterGeneric(...) | JavaUser.java:24:65:24:84 | OuterGeneric | -3 | +| JavaUser.java:25:61:25:101 | getInnerGeneric(...) | JavaUser.java:25:62:25:82 | new OuterNotGeneric(...) | -1 | +| JavaUser.java:25:62:25:82 | new OuterNotGeneric(...) | JavaUser.java:25:66:25:80 | OuterNotGeneric | -3 | +| JavaUser.java:27:39:27:71 | new TypeParamVisibility(...) | JavaUser.java:27:43:27:69 | TypeParamVisibility | -3 | +| JavaUser.java:28:83:28:110 | getVisibleBecauseInner(...) | JavaUser.java:28:83:28:85 | tpv | -1 | +| JavaUser.java:29:136:29:171 | getVisibleBecauseInnerIndirect(...) | JavaUser.java:29:136:29:138 | tpv | -1 | +| JavaUser.java:30:83:30:114 | getNotVisibleBecauseStatic(...) | JavaUser.java:30:83:30:85 | tpv | -1 | +| JavaUser.java:31:140:31:179 | getNotVisibleBecauseStaticIndirect(...) | JavaUser.java:31:140:31:142 | tpv | -1 | +| KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | KotlinUser.kt:9:13:9:31 | OuterGeneric | -3 | +| KotlinUser.kt:9:33:9:63 | new InnerGeneric(...) | KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | -2 | +| KotlinUser.kt:9:33:9:63 | new InnerGeneric(...) | KotlinUser.kt:9:33:9:63 | InnerGeneric | -3 | +| KotlinUser.kt:9:33:9:63 | new InnerGeneric(...) | KotlinUser.kt:9:60:9:62 | a | 0 | +| KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | KotlinUser.kt:10:14:10:32 | OuterGeneric | -3 | +| KotlinUser.kt:10:34:10:65 | new InnerGeneric(...) | KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | -2 | +| KotlinUser.kt:10:34:10:65 | new InnerGeneric(...) | KotlinUser.kt:10:34:10:65 | InnerGeneric | -3 | +| KotlinUser.kt:10:34:10:65 | new InnerGeneric(...) | KotlinUser.kt:10:47:10:49 | a | 0 | +| KotlinUser.kt:10:34:10:65 | new InnerGeneric(...) | KotlinUser.kt:10:53:10:63 | hello world | 1 | +| KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | KotlinUser.kt:11:13:11:31 | OuterGeneric | -3 | +| KotlinUser.kt:11:33:11:49 | new InnerNotGeneric<>(...) | KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | -2 | +| KotlinUser.kt:11:33:11:49 | new InnerNotGeneric<>(...) | KotlinUser.kt:11:33:11:49 | InnerNotGeneric<> | -3 | +| KotlinUser.kt:12:14:12:35 | new OuterGeneric(...) | KotlinUser.kt:12:14:12:35 | OuterGeneric | -3 | +| KotlinUser.kt:12:37:12:53 | new InnerNotGeneric<>(...) | KotlinUser.kt:12:14:12:35 | new OuterGeneric(...) | -2 | +| KotlinUser.kt:12:37:12:53 | new InnerNotGeneric<>(...) | KotlinUser.kt:12:37:12:53 | InnerNotGeneric<> | -3 | +| KotlinUser.kt:13:13:13:29 | new OuterNotGeneric(...) | KotlinUser.kt:13:13:13:29 | OuterNotGeneric | -3 | +| KotlinUser.kt:13:31:13:52 | new InnerGeneric(...) | KotlinUser.kt:13:13:13:29 | new OuterNotGeneric(...) | -2 | +| KotlinUser.kt:13:31:13:52 | new InnerGeneric(...) | KotlinUser.kt:13:31:13:52 | InnerGeneric | -3 | +| KotlinUser.kt:14:26:14:63 | new InnerStaticGeneric(...) | KotlinUser.kt:14:26:14:63 | InnerStaticGeneric | -3 | +| KotlinUser.kt:14:26:14:63 | new InnerStaticGeneric(...) | KotlinUser.kt:14:45:14:47 | a | 0 | +| KotlinUser.kt:14:26:14:63 | new InnerStaticGeneric(...) | KotlinUser.kt:14:51:14:61 | hello world | 1 | +| KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | KotlinUser.kt:15:13:15:39 | OuterManyParams | -3 | +| KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | KotlinUser.kt:15:29:15:29 | 1 | 0 | +| KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | KotlinUser.kt:15:33:15:37 | hello | 1 | +| KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | -2 | +| KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | KotlinUser.kt:15:41:15:67 | MiddleManyParams | -3 | +| KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | KotlinUser.kt:15:58:15:61 | 1.0 | 0 | +| KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | KotlinUser.kt:15:64:15:66 | 1.0 | 1 | +| KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | -2 | +| KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | KotlinUser.kt:15:69:15:100 | InnerManyParams | -3 | +| KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | KotlinUser.kt:15:85:15:86 | 1 | 0 | +| KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | KotlinUser.kt:15:91:15:99 | shortValue(...) | 1 | +| KotlinUser.kt:15:91:15:99 | shortValue(...) | KotlinUser.kt:15:89:15:89 | 1 | -1 | +| KotlinUser.kt:17:21:17:44 | returnsecond(...) | KotlinUser.kt:17:19:17:19 | a | -1 | +| KotlinUser.kt:17:21:17:44 | returnsecond(...) | KotlinUser.kt:17:34:17:34 | 0 | 0 | +| KotlinUser.kt:17:21:17:44 | returnsecond(...) | KotlinUser.kt:17:38:17:42 | hello | 1 | +| KotlinUser.kt:18:22:18:50 | returnsecond(...) | KotlinUser.kt:18:20:18:20 | a | -1 | +| KotlinUser.kt:18:22:18:50 | returnsecond(...) | KotlinUser.kt:18:22:18:50 | Character | -2 | +| KotlinUser.kt:18:22:18:50 | returnsecond(...) | KotlinUser.kt:18:35:18:35 | 0 | 0 | +| KotlinUser.kt:18:22:18:50 | returnsecond(...) | KotlinUser.kt:18:39:18:43 | hello | 1 | +| KotlinUser.kt:18:22:18:50 | returnsecond(...) | KotlinUser.kt:18:47:18:49 | a | 2 | +| KotlinUser.kt:19:21:19:31 | identity(...) | KotlinUser.kt:19:19:19:19 | b | -1 | +| KotlinUser.kt:19:21:19:31 | identity(...) | KotlinUser.kt:19:30:19:30 | 5 | 0 | +| KotlinUser.kt:20:23:20:39 | identity(...) | KotlinUser.kt:20:20:20:21 | b2 | -1 | +| KotlinUser.kt:20:23:20:39 | identity(...) | KotlinUser.kt:20:33:20:37 | hello | 0 | +| KotlinUser.kt:21:21:21:37 | identity(...) | KotlinUser.kt:21:19:21:19 | c | -1 | +| KotlinUser.kt:21:21:21:37 | identity(...) | KotlinUser.kt:21:31:21:35 | world | 0 | +| KotlinUser.kt:22:21:22:39 | identity(...) | KotlinUser.kt:22:19:22:19 | d | -1 | +| KotlinUser.kt:22:21:22:39 | identity(...) | KotlinUser.kt:22:31:22:37 | goodbye | 0 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:19:23:19 | e | -1 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:33:23:33 | 1 | 0 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:37:23:41 | hello | 1 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:45:23:48 | 1.0 | 2 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:51:23:53 | 1.0 | 3 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:56:23:57 | 1 | 4 | +| KotlinUser.kt:23:21:23:71 | returnSixth(...) | KotlinUser.kt:23:62:23:70 | shortValue(...) | 5 | +| KotlinUser.kt:23:62:23:70 | shortValue(...) | KotlinUser.kt:23:60:23:60 | 1 | -1 | +| KotlinUser.kt:25:27:25:48 | new OuterGeneric(...) | KotlinUser.kt:25:27:25:48 | OuterGeneric | -3 | +| KotlinUser.kt:25:50:25:69 | getInnerNotGeneric(...) | KotlinUser.kt:25:27:25:48 | new OuterGeneric(...) | -1 | +| KotlinUser.kt:26:28:26:44 | new OuterNotGeneric(...) | KotlinUser.kt:26:28:26:44 | OuterNotGeneric | -3 | +| KotlinUser.kt:26:46:26:62 | getInnerGeneric(...) | KotlinUser.kt:26:28:26:44 | new OuterNotGeneric(...) | -1 | +| KotlinUser.kt:28:15:28:43 | new TypeParamVisibility(...) | KotlinUser.kt:28:15:28:43 | TypeParamVisibility | -3 | +| KotlinUser.kt:29:35:29:58 | getVisibleBecauseInner(...) | KotlinUser.kt:29:31:29:33 | tpv | -1 | +| KotlinUser.kt:30:43:30:74 | getVisibleBecauseInnerIndirect(...) | KotlinUser.kt:30:39:30:41 | tpv | -1 | +| KotlinUser.kt:31:39:31:66 | getNotVisibleBecauseStatic(...) | KotlinUser.kt:31:35:31:37 | tpv | -1 | +| KotlinUser.kt:32:47:32:82 | getNotVisibleBecauseStaticIndirect(...) | KotlinUser.kt:32:43:32:45 | tpv | -1 | +genericTypes +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | S | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | S | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | T | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | E | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | F | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | C | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | D | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | A | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | B | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | S | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | S | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | S | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | S | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | S | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | T | +paramTypes +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | S | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | String | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | S | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | String | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | T | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | Integer | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | String | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | E | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | F | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | Long | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | Short | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | C | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | D | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | Double | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | Float | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | A | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | B | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | Integer | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | String | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | S | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | String | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | S | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | String | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | S | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | String | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | S | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | String | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | String | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | S | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | String | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | String | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | T | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | String | +constructors +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | InnerGeneric(java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | InnerGeneric(java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | InnerGeneric(java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | InnerGeneric(java.lang.Object,java.lang.String) | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric | InnerNotGeneric() | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | InnerNotGeneric<>() | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | InnerNotGeneric<>() | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | InnerStaticGeneric(java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | InnerStaticGeneric(java.lang.Object,java.lang.String) | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | OuterGeneric() | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | OuterGeneric() | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | OuterGeneric() | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | InnerManyParams(java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | InnerManyParams(java.lang.Long,java.lang.Short) | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | MiddleManyParams(java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | MiddleManyParams(java.lang.Float,java.lang.Double) | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | OuterManyParams(java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | OuterManyParams(java.lang.Integer,java.lang.String) | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | InnerGeneric() | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | InnerGeneric() | +| extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | OuterNotGeneric() | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | NotVisibleBecauseStatic() | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | NotVisibleBecauseStaticIndirect() | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer.class:0:0:0:0 | NotVisibleBecauseStaticIndirectContainer | NotVisibleBecauseStaticIndirectContainer() | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | VisibleBecauseInner() | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | VisibleBecauseInnerIndirect() | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer | VisibleBecauseInnerIndirectContainer() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | TypeParamVisibility() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | TypeParamVisibility() | +methods +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | returnsecond | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | returnsecond(java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | returnsecond | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | returnsecond(java.lang.Object,java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | returnsecond | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | returnsecond(java.lang.Integer,java.lang.String) | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | returnsecond | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | returnsecond(java.lang.Integer,java.lang.String,java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric | identity(java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | identity(java.lang.Integer) | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | identity(java.lang.String) | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | identity(java.lang.Object) | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | identity(java.lang.String) | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | getInnerNotGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | getInnerNotGeneric() | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | getInnerNotGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | getInnerNotGeneric() | +| extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | getInnerNotGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | getInnerNotGeneric() | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | returnSixth | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | returnSixth(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object) | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | returnSixth | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | returnSixth(java.lang.Integer,java.lang.String,java.lang.Float,java.lang.Double,java.lang.Long,java.lang.Short) | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | identity(java.lang.Object) | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | identity | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | identity(java.lang.String) | +| extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | getInnerGeneric | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | getInnerGeneric() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getNotVisibleBecauseStatic | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getNotVisibleBecauseStatic() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getNotVisibleBecauseStatic | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getNotVisibleBecauseStatic() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getNotVisibleBecauseStaticIndirect | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getNotVisibleBecauseStaticIndirect() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getNotVisibleBecauseStaticIndirect | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getNotVisibleBecauseStaticIndirect() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getVisibleBecauseInner | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getVisibleBecauseInner() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getVisibleBecauseInner | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getVisibleBecauseInner() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getVisibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getVisibleBecauseInnerIndirect() | +| extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getVisibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | getVisibleBecauseInnerIndirect() | +nestedTypes +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric<> | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | +| extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric<> | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic<> | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer.class:0:0:0:0 | NotVisibleBecauseStaticIndirectContainer | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect<> | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer.class:0:0:0:0 | NotVisibleBecauseStaticIndirectContainer | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer.class:0:0:0:0 | NotVisibleBecauseStaticIndirectContainer | +| extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer.class:0:0:0:0 | NotVisibleBecauseStaticIndirectContainer | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner<> | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility<> | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect<> | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer<> | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer<> | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer<> | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility<> | +| extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer.class:0:0:0:0 | VisibleBecauseInnerIndirectContainer<> | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +javaKotlinCalleeAgreement +| JavaUser.java:16:22:16:47 | returnsecond(...) | KotlinUser.kt:17:21:17:44 | returnsecond(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | returnsecond | +| JavaUser.java:17:23:17:53 | returnsecond(...) | KotlinUser.kt:18:22:18:50 | returnsecond(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | returnsecond | +| JavaUser.java:18:23:18:35 | identity(...) | KotlinUser.kt:19:21:19:31 | identity(...) | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | identity | +| JavaUser.java:19:23:19:42 | identity(...) | KotlinUser.kt:20:23:20:39 | identity(...) | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | identity | +| JavaUser.java:20:22:20:40 | identity(...) | KotlinUser.kt:21:21:21:37 | identity(...) | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | identity | +| JavaUser.java:21:22:21:42 | identity(...) | KotlinUser.kt:22:21:22:39 | identity(...) | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | identity | +| JavaUser.java:22:21:22:70 | returnSixth(...) | KotlinUser.kt:23:21:23:71 | returnSixth(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | returnSixth | +| JavaUser.java:24:60:24:108 | getInnerNotGeneric(...) | KotlinUser.kt:25:50:25:69 | getInnerNotGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | getInnerNotGeneric | +| JavaUser.java:25:61:25:101 | getInnerGeneric(...) | KotlinUser.kt:26:46:26:62 | getInnerGeneric(...) | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | getInnerGeneric | +| JavaUser.java:28:83:28:110 | getVisibleBecauseInner(...) | KotlinUser.kt:29:35:29:58 | getVisibleBecauseInner(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getVisibleBecauseInner | +| JavaUser.java:29:136:29:171 | getVisibleBecauseInnerIndirect(...) | KotlinUser.kt:30:43:30:74 | getVisibleBecauseInnerIndirect(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getVisibleBecauseInnerIndirect | +| JavaUser.java:30:83:30:114 | getNotVisibleBecauseStatic(...) | KotlinUser.kt:31:39:31:66 | getNotVisibleBecauseStatic(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getNotVisibleBecauseStatic | +| JavaUser.java:31:140:31:179 | getNotVisibleBecauseStaticIndirect(...) | KotlinUser.kt:32:47:32:82 | getNotVisibleBecauseStaticIndirect(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | getNotVisibleBecauseStaticIndirect | +javaKotlinConstructorAgreement +| JavaUser.java:7:52:7:110 | new InnerGeneric(...) | KotlinUser.kt:9:33:9:63 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:7:53:7:79 | new OuterGeneric(...) | KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:7:53:7:79 | new OuterGeneric(...) | KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:7:53:7:79 | new OuterGeneric(...) | KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:8:53:8:123 | new InnerGeneric(...) | KotlinUser.kt:9:33:9:63 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:8:54:8:80 | new OuterGeneric(...) | KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:8:54:8:80 | new OuterGeneric(...) | KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:8:54:8:80 | new OuterGeneric(...) | KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | KotlinUser.kt:10:34:10:65 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:9:54:9:80 | new OuterGeneric(...) | KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:9:54:9:80 | new OuterGeneric(...) | KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:9:54:9:80 | new OuterGeneric(...) | KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:10:48:10:74 | new OuterGeneric(...) | KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:10:48:10:74 | new OuterGeneric(...) | KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:10:48:10:74 | new OuterGeneric(...) | KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:11:48:11:73 | new OuterGeneric(...) | KotlinUser.kt:12:14:12:35 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:11:48:11:73 | new OuterGeneric(...) | KotlinUser.kt:25:27:25:48 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:12:46:12:95 | new InnerGeneric(...) | KotlinUser.kt:13:31:13:52 | new InnerGeneric(...) | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:12:47:12:67 | new OuterNotGeneric(...) | KotlinUser.kt:13:13:13:29 | new OuterNotGeneric(...) | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| JavaUser.java:12:47:12:67 | new OuterNotGeneric(...) | KotlinUser.kt:26:28:26:44 | new OuterNotGeneric(...) | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| JavaUser.java:13:49:13:111 | new InnerStaticGeneric(...) | KotlinUser.kt:14:26:14:63 | new InnerStaticGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | +| JavaUser.java:14:105:14:152 | new OuterManyParams(...) | KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | +| JavaUser.java:24:61:24:86 | new OuterGeneric(...) | KotlinUser.kt:12:14:12:35 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:24:61:24:86 | new OuterGeneric(...) | KotlinUser.kt:25:27:25:48 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | +| JavaUser.java:25:62:25:82 | new OuterNotGeneric(...) | KotlinUser.kt:13:13:13:29 | new OuterNotGeneric(...) | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| JavaUser.java:25:62:25:82 | new OuterNotGeneric(...) | KotlinUser.kt:26:28:26:44 | new OuterNotGeneric(...) | extlib.jar/extlib/OuterNotGeneric.class:0:0:0:0 | OuterNotGeneric | +| JavaUser.java:27:39:27:71 | new TypeParamVisibility(...) | KotlinUser.kt:28:15:28:43 | new TypeParamVisibility(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +javaKotlinLocalTypeAgreement +| JavaUser.java:7:5:7:111 | InnerGeneric a | KotlinUser.kt:9:5:9:63 | InnerGeneric a | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:7:5:7:111 | InnerGeneric a | KotlinUser.kt:10:5:10:65 | InnerGeneric a2 | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:8:5:8:124 | InnerGeneric a2 | KotlinUser.kt:9:5:9:63 | InnerGeneric a | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:8:5:8:124 | InnerGeneric a2 | KotlinUser.kt:10:5:10:65 | InnerGeneric a2 | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:9:5:9:139 | InnerGeneric a3 | KotlinUser.kt:9:5:9:63 | InnerGeneric a | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:9:5:9:139 | InnerGeneric a3 | KotlinUser.kt:10:5:10:65 | InnerGeneric a2 | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:10:5:10:98 | InnerNotGeneric<> b | KotlinUser.kt:11:5:11:49 | InnerNotGeneric<> b | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | +| JavaUser.java:11:5:11:97 | InnerNotGeneric<> b2 | KotlinUser.kt:12:5:12:53 | InnerNotGeneric<> b2 | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | +| JavaUser.java:11:5:11:97 | InnerNotGeneric<> b2 | KotlinUser.kt:25:5:25:69 | InnerNotGeneric<> innerGetterTest | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | +| JavaUser.java:12:5:12:96 | InnerGeneric c | KotlinUser.kt:13:5:13:52 | InnerGeneric c | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:12:5:12:96 | InnerGeneric c | KotlinUser.kt:26:5:26:62 | InnerGeneric innerGetterTest2 | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:13:5:13:112 | InnerStaticGeneric d | KotlinUser.kt:14:5:14:63 | InnerStaticGeneric d | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | +| JavaUser.java:14:5:14:249 | InnerManyParams e | KotlinUser.kt:15:5:15:100 | InnerManyParams e | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | +| JavaUser.java:24:5:24:109 | InnerNotGeneric<> innerGetterTest | KotlinUser.kt:12:5:12:53 | InnerNotGeneric<> b2 | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | +| JavaUser.java:24:5:24:109 | InnerNotGeneric<> innerGetterTest | KotlinUser.kt:25:5:25:69 | InnerNotGeneric<> innerGetterTest | extlib.jar/extlib/OuterGeneric$InnerNotGeneric.class:0:0:0:0 | InnerNotGeneric<> | +| JavaUser.java:25:5:25:102 | InnerGeneric innerGetterTest2 | KotlinUser.kt:13:5:13:52 | InnerGeneric c | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:25:5:25:102 | InnerGeneric innerGetterTest2 | KotlinUser.kt:26:5:26:62 | InnerGeneric innerGetterTest2 | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | +| JavaUser.java:27:5:27:72 | TypeParamVisibility tpv | KotlinUser.kt:28:5:28:43 | TypeParamVisibility tpv | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | +| JavaUser.java:28:5:28:111 | VisibleBecauseInner visibleBecauseInner | KotlinUser.kt:29:5:29:58 | VisibleBecauseInner visibleBecauseInner | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInner.class:0:0:0:0 | VisibleBecauseInner | +| JavaUser.java:29:5:29:172 | VisibleBecauseInnerIndirect visibleBecauseInnerIndirect | KotlinUser.kt:30:5:30:74 | VisibleBecauseInnerIndirect visibleBecauseInnerIndirect | extlib.jar/extlib/TypeParamVisibility$VisibleBecauseInnerIndirectContainer$VisibleBecauseInnerIndirect.class:0:0:0:0 | VisibleBecauseInnerIndirect | +| JavaUser.java:30:5:30:115 | NotVisibleBecauseStatic notVisibleBecauseStatic | KotlinUser.kt:31:5:31:66 | NotVisibleBecauseStatic notVisibleBecauseStatic | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStatic.class:0:0:0:0 | NotVisibleBecauseStatic | +| JavaUser.java:31:5:31:180 | NotVisibleBecauseStaticIndirect notVisibleBecauseStaticIndirect | KotlinUser.kt:32:5:32:82 | NotVisibleBecauseStaticIndirect notVisibleBecauseStaticIndirect | extlib.jar/extlib/TypeParamVisibility$NotVisibleBecauseStaticIndirectContainer$NotVisibleBecauseStaticIndirect.class:0:0:0:0 | NotVisibleBecauseStaticIndirect | +#select +| JavaUser.java:7:52:7:110 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | JavaUser.java:7:99:7:104 | String | +| JavaUser.java:7:53:7:79 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | JavaUser.java:7:70:7:76 | Integer | +| JavaUser.java:8:53:8:123 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | JavaUser.java:8:112:8:117 | String | +| JavaUser.java:8:54:8:80 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | JavaUser.java:8:71:8:77 | Integer | +| JavaUser.java:9:53:9:138 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | JavaUser.java:9:112:9:117 | String | +| JavaUser.java:9:54:9:80 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | JavaUser.java:9:71:9:77 | Integer | +| JavaUser.java:10:48:10:74 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | JavaUser.java:10:65:10:71 | Integer | +| JavaUser.java:11:48:11:73 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | JavaUser.java:11:65:11:70 | String | +| JavaUser.java:12:46:12:95 | new InnerGeneric(...) | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | JavaUser.java:12:87:12:92 | String | +| JavaUser.java:13:49:13:111 | new InnerStaticGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | JavaUser.java:13:85:13:90 | String | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | JavaUser.java:14:223:14:226 | Long | +| JavaUser.java:14:103:14:248 | new InnerManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | JavaUser.java:14:229:14:233 | Short | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | JavaUser.java:14:176:14:180 | Float | +| JavaUser.java:14:104:14:200 | new MiddleManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | JavaUser.java:14:183:14:188 | Double | +| JavaUser.java:14:105:14:152 | new OuterManyParams(...) | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | JavaUser.java:14:125:14:131 | Integer | +| JavaUser.java:14:105:14:152 | new OuterManyParams(...) | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | JavaUser.java:14:134:14:139 | String | +| JavaUser.java:24:61:24:86 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | JavaUser.java:24:78:24:83 | String | +| JavaUser.java:27:39:27:71 | new TypeParamVisibility(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | JavaUser.java:27:63:27:68 | String | +| KotlinUser.kt:9:13:9:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | KotlinUser.kt:9:13:9:31 | Integer | +| KotlinUser.kt:9:33:9:63 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | KotlinUser.kt:9:33:9:63 | String | +| KotlinUser.kt:10:14:10:32 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | KotlinUser.kt:10:14:10:32 | Integer | +| KotlinUser.kt:10:34:10:65 | new InnerGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | KotlinUser.kt:10:34:10:65 | String | +| KotlinUser.kt:11:13:11:31 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | KotlinUser.kt:11:13:11:31 | Integer | +| KotlinUser.kt:12:14:12:35 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | KotlinUser.kt:12:14:12:35 | String | +| KotlinUser.kt:13:31:13:52 | new InnerGeneric(...) | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | extlib.jar/extlib/OuterNotGeneric$InnerGeneric.class:0:0:0:0 | InnerGeneric | KotlinUser.kt:13:31:13:52 | String | +| KotlinUser.kt:14:26:14:63 | new InnerStaticGeneric(...) | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | extlib.jar/extlib/OuterGeneric$InnerStaticGeneric.class:0:0:0:0 | InnerStaticGeneric | KotlinUser.kt:14:26:14:63 | String | +| KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | KotlinUser.kt:15:13:15:39 | Integer | +| KotlinUser.kt:15:13:15:39 | new OuterManyParams(...) | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | extlib.jar/extlib/OuterManyParams.class:0:0:0:0 | OuterManyParams | KotlinUser.kt:15:13:15:39 | String | +| KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | KotlinUser.kt:15:41:15:67 | Double | +| KotlinUser.kt:15:41:15:67 | new MiddleManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams.class:0:0:0:0 | MiddleManyParams | KotlinUser.kt:15:41:15:67 | Float | +| KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | KotlinUser.kt:15:69:15:100 | Long | +| KotlinUser.kt:15:69:15:100 | new InnerManyParams(...) | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | extlib.jar/extlib/OuterManyParams$MiddleManyParams$InnerManyParams.class:0:0:0:0 | InnerManyParams | KotlinUser.kt:15:69:15:100 | Short | +| KotlinUser.kt:25:27:25:48 | new OuterGeneric(...) | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | extlib.jar/extlib/OuterGeneric.class:0:0:0:0 | OuterGeneric | KotlinUser.kt:25:27:25:48 | String | +| KotlinUser.kt:28:15:28:43 | new TypeParamVisibility(...) | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | extlib.jar/extlib/TypeParamVisibility.class:0:0:0:0 | TypeParamVisibility | KotlinUser.kt:28:15:28:43 | String | diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.py b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.py new file mode 100644 index 00000000000..a2eab7dc171 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.py @@ -0,0 +1,11 @@ +from create_database_utils import * +import glob + +# Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler +# will certainly reference the jar, not the source or class file for extlib.Lib + +os.mkdir('build') +runSuccessfully(["javac"] + glob.glob("libsrc/extlib/*.java") + ["-d", "build"]) +runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "extlib"]) +run_codeql_database_create(["javac JavaUser.java -cp extlib.jar", "kotlinc KotlinUser.kt -cp extlib.jar"], lang="java") + diff --git a/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.ql b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.ql new file mode 100644 index 00000000000..5e6bd22674a --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/nested_generic_types/test.ql @@ -0,0 +1,63 @@ +import java + +query predicate callArgs(Call gc, Expr arg, int idx) { + arg.getParent() = gc and idx = arg.getIndex() +} + +query predicate genericTypes(GenericType rt, TypeVariable param) { + rt.getPackage().getName() = "extlib" and + param = rt.getATypeParameter() +} + +query predicate paramTypes(ParameterizedType rt, string typeArg) { + rt.getPackage().getName() = "extlib" and + typeArg = rt.getATypeArgument().toString() +} + +query predicate constructors(Constructor c, string signature) { + c.getDeclaringType().getPackage().getName() = "extlib" and + signature = c.getSignature() +} + +query predicate methods(Method m, RefType declType, string signature) { + declType = m.getDeclaringType() and + signature = m.getSignature() and + declType.getPackage().getName() = "extlib" +} + +query predicate nestedTypes(NestedType nt, RefType parent) { + nt.getPackage().getName() = "extlib" and + parent = nt.getEnclosingType() +} + +query predicate javaKotlinCalleeAgreement( + MethodAccess javaMa, MethodAccess kotlinMa, Callable callee +) { + javaMa.getCallee() = callee and + kotlinMa.getCallee() = callee and + javaMa.getFile().getExtension() = "java" and + kotlinMa.getFile().getExtension() = "kt" +} + +query predicate javaKotlinConstructorAgreement( + ClassInstanceExpr javaCie, ClassInstanceExpr kotlinCie, Constructor constructor +) { + javaCie.getConstructor() = constructor and + kotlinCie.getConstructor() = constructor and + javaCie.getFile().getExtension() = "java" and + kotlinCie.getFile().getExtension() = "kt" +} + +query predicate javaKotlinLocalTypeAgreement( + LocalVariableDecl javaDecl, LocalVariableDecl kotlinDecl, RefType agreedType +) { + javaDecl.getType() = agreedType and + kotlinDecl.getType() = agreedType and + javaDecl.getFile().getExtension() = "java" and + kotlinDecl.getFile().getExtension() = "kt" and + agreedType.getPackage().getName() = "extlib" +} + +from ClassInstanceExpr cie +where cie.getFile().isSourceFile() +select cie, cie.getConstructedType(), cie.getConstructor(), cie.getATypeArgument() diff --git a/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/hasprops.kt b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/hasprops.kt new file mode 100644 index 00000000000..ff83b18a31a --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/hasprops.kt @@ -0,0 +1,9 @@ +class HasProps { + + var accessorsPublic = 1 + + var setterPrivate = 3 + private set + +} + diff --git a/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.expected b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.expected new file mode 100644 index 00000000000..c497684b152 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.expected @@ -0,0 +1,7 @@ +| hasprops.kt:3:3:3:25 | getAccessorsPublic | +| hasprops.kt:3:3:3:25 | setAccessorsPublic | +| hasprops.kt:5:3:6:15 | getSetterPrivate | +| hasprops.kt:6:13:6:15 | setSetterPrivate$private | +| usesprops.kt:1:1:9:1 | user | +| usesprops.kt:3:3:3:58 | useGetters | +| usesprops.kt:5:3:7:3 | useSetter | diff --git a/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.py b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.py new file mode 100644 index 00000000000..5599f459849 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.py @@ -0,0 +1,3 @@ +from create_database_utils import * + +run_codeql_database_create(["kotlinc hasprops.kt", "kotlinc usesprops.kt -cp ."], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.ql b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.ql new file mode 100644 index 00000000000..f1355df2e88 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/test.ql @@ -0,0 +1,5 @@ +import java + +from Method m +where m.fromSource() +select m diff --git a/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/usesprops.kt b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/usesprops.kt new file mode 100644 index 00000000000..5157865df17 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/private_property_accessors/usesprops.kt @@ -0,0 +1,9 @@ +fun user(hp: HasProps) { + + fun useGetters() = hp.accessorsPublic + hp.setterPrivate + + fun useSetter(x: Int) { + hp.accessorsPublic = x + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/qlpack.yml b/java/ql/integration-tests/posix-only/kotlin/qlpack.yml new file mode 100644 index 00000000000..11adb1f538b --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/qlpack.yml @@ -0,0 +1,2 @@ +libraryPathDependencies: + - codeql-java diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/JavaUser.java b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/JavaUser.java new file mode 100644 index 00000000000..bcdf24297a9 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/JavaUser.java @@ -0,0 +1,14 @@ +import extlib.GenericTypeJava; +import extlib.RawTypesInSignatureJava; + +class JavaUser { + + public static void user() { + + GenericTypeJava rawGt = GenericTypeJava.getRaw(); + RawTypesInSignatureJava rtis = new RawTypesInSignatureJava(); + rtis.directParameter(null); + + } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/KotlinUser.kt b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/KotlinUser.kt new file mode 100644 index 00000000000..238a80ad815 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/KotlinUser.kt @@ -0,0 +1,11 @@ +import extlib.GenericTypeKotlin; +import extlib.RawTypesInSignatureKotlin; + +fun test() { + + val rawGt = GenericTypeKotlin.getRaw() + val rtis = RawTypesInSignatureKotlin() + rtis.directParameter(null) + +} + diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/GenericTypeJava.java b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/GenericTypeJava.java new file mode 100644 index 00000000000..c45d751dfe2 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/GenericTypeJava.java @@ -0,0 +1,12 @@ +package extlib; + +import java.util.*; + +class BoundJava {} + +class InheritsGenericJava { } + +public class GenericTypeJava extends InheritsGenericJava { + public static GenericTypeJava getRaw() { return new GenericTypeJava(); } +} + diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/GenericTypeKotlin.java b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/GenericTypeKotlin.java new file mode 100644 index 00000000000..829272760c9 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/GenericTypeKotlin.java @@ -0,0 +1,12 @@ +package extlib; + +import java.util.*; + +class BoundKotlin {} + +class InheritsGenericKotlin { } + +public class GenericTypeKotlin extends InheritsGenericKotlin { + public static GenericTypeKotlin getRaw() { return new GenericTypeKotlin(); } +} + diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/RawTypesInSignatureJava.java b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/RawTypesInSignatureJava.java new file mode 100644 index 00000000000..afa78d3e32d --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/RawTypesInSignatureJava.java @@ -0,0 +1,23 @@ +package extlib; + +class ContainerJava { } + +public class RawTypesInSignatureJava { + + public GenericTypeJava directReturn() { return null; } + + public void directParameter(GenericTypeJava param) { } + + public ContainerJava genericParamReturn() { return null; } + + public void genericParamParameter(ContainerJava param) { } + + public ContainerJava genericParamExtendsReturn() { return null; } + + public void genericParamExtendsParameter(ContainerJava param) { } + + public ContainerJava genericParamSuperReturn() { return null; } + + public void genericParamSuperParameter(ContainerJava param) { } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/RawTypesInSignatureKotlin.java b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/RawTypesInSignatureKotlin.java new file mode 100644 index 00000000000..55e5dd68543 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/libsrc/extlib/RawTypesInSignatureKotlin.java @@ -0,0 +1,23 @@ +package extlib; + +class ContainerKotlin { } + +public class RawTypesInSignatureKotlin { + + public GenericTypeKotlin directReturn() { return null; } + + public void directParameter(GenericTypeKotlin param) { } + + public ContainerKotlin genericParamReturn() { return null; } + + public void genericParamParameter(ContainerKotlin param) { } + + public ContainerKotlin genericParamExtendsReturn() { return null; } + + public void genericParamExtendsParameter(ContainerKotlin param) { } + + public ContainerKotlin genericParamSuperReturn() { return null; } + + public void genericParamSuperParameter(ContainerKotlin param) { } + +} diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.expected b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.expected new file mode 100644 index 00000000000..b0ea074a062 --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.expected @@ -0,0 +1,24 @@ +rawTypeSupertypes +| extlib.jar/extlib/ContainerJava.class:0:0:0:0 | ContainerJava<> | file:///Object.class:0:0:0:0 | Object | +| extlib.jar/extlib/ContainerKotlin.class:0:0:0:0 | ContainerKotlin<> | file:///Object.class:0:0:0:0 | Object | +| extlib.jar/extlib/GenericTypeJava.class:0:0:0:0 | GenericTypeJava<> | extlib.jar/extlib/InheritsGenericJava.class:0:0:0:0 | InheritsGenericJava<> | +| extlib.jar/extlib/GenericTypeKotlin.class:0:0:0:0 | GenericTypeKotlin<> | extlib.jar/extlib/InheritsGenericKotlin.class:0:0:0:0 | InheritsGenericKotlin<> | +| extlib.jar/extlib/InheritsGenericJava.class:0:0:0:0 | InheritsGenericJava<> | file:///Object.class:0:0:0:0 | Object | +| extlib.jar/extlib/InheritsGenericKotlin.class:0:0:0:0 | InheritsGenericKotlin<> | file:///Object.class:0:0:0:0 | Object | +rawTypeMethod +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | directParameter | directParameter(extlib.GenericTypeJava) | GenericTypeJava<> | void | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | directReturn | directReturn() | No parameter | GenericTypeJava<> | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | genericParamExtendsParameter | genericParamExtendsParameter(extlib.ContainerJava) | ContainerJava> | void | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | genericParamExtendsReturn | genericParamExtendsReturn() | No parameter | ContainerJava> | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | genericParamParameter | genericParamParameter(extlib.ContainerJava) | ContainerJava> | void | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | genericParamReturn | genericParamReturn() | No parameter | ContainerJava> | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | genericParamSuperParameter | genericParamSuperParameter(extlib.ContainerJava) | ContainerJava> | void | +| extlib.jar/extlib/RawTypesInSignatureJava.class:0:0:0:0 | RawTypesInSignatureJava | genericParamSuperReturn | genericParamSuperReturn() | No parameter | ContainerJava> | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | directParameter | directParameter(extlib.GenericTypeKotlin) | GenericTypeKotlin<> | void | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | directReturn | directReturn() | No parameter | GenericTypeKotlin<> | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | genericParamExtendsParameter | genericParamExtendsParameter(extlib.ContainerKotlin) | ContainerKotlin> | void | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | genericParamExtendsReturn | genericParamExtendsReturn() | No parameter | ContainerKotlin> | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | genericParamParameter | genericParamParameter(extlib.ContainerKotlin) | ContainerKotlin> | void | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | genericParamReturn | genericParamReturn() | No parameter | ContainerKotlin> | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | genericParamSuperParameter | genericParamSuperParameter(extlib.ContainerKotlin) | ContainerKotlin> | void | +| extlib.jar/extlib/RawTypesInSignatureKotlin.class:0:0:0:0 | RawTypesInSignatureKotlin | genericParamSuperReturn | genericParamSuperReturn() | No parameter | ContainerKotlin> | diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.py b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.py new file mode 100644 index 00000000000..520c75a556f --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.py @@ -0,0 +1,10 @@ +from create_database_utils import * +import glob + +# Compile Java untraced. Note the Java source is hidden under `javasrc` so the Kotlin compiler +# will certainly reference the jar, not the source or class file for extlib.Lib + +os.mkdir('build') +runSuccessfully(["javac"] + glob.glob("libsrc/extlib/*.java") + ["-d", "build"]) +runSuccessfully(["jar", "cf", "extlib.jar", "-C", "build", "extlib"]) +run_codeql_database_create(["javac JavaUser.java -cp extlib.jar", "kotlinc KotlinUser.kt -cp extlib.jar"], lang="java") diff --git a/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.ql b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.ql new file mode 100644 index 00000000000..6416917a38b --- /dev/null +++ b/java/ql/integration-tests/posix-only/kotlin/raw_generic_types/test.ql @@ -0,0 +1,30 @@ +import java + +// Stop external filepaths from appearing in the results +class ClassOrInterfaceLocation extends ClassOrInterface { + override predicate hasLocationInfo(string path, int sl, int sc, int el, int ec) { + exists(string fullPath | super.hasLocationInfo(fullPath, sl, sc, el, ec) | + if exists(this.getFile().getRelativePath()) + then path = fullPath + else path = fullPath.regexpReplaceAll(".*/", "/") + ) + } +} + +query predicate rawTypeSupertypes(RawType rt, RefType superType) { + rt.getFile().getURL().matches("%extlib%") and + rt.getASupertype() = superType +} + +query predicate rawTypeMethod(RefType rt, string name, string sig, string paramType, string retType) { + exists(Method m | m.getDeclaringType() = rt and rt.getName().matches("RawTypesInSignature%") | + name = m.getName() and + sig = m.getSignature() and + ( + if exists(m.getAParamType()) + then paramType = m.getAParamType().toString() + else paramType = "No parameter" + ) and + retType = m.getReturnType().toString() + ) +} diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index afad3a84db7..150a12f68fe 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,39 @@ +## 0.3.2 + +### New Features + +* The QL predicate `Expr::getUnderlyingExpr` has been added. It can be used to look through casts and not-null expressions and obtain the underlying expression to which they apply. + +### Minor Analysis Improvements + +* The JUnit5 version of `AssertNotNull` is now recognized, which removes related false positives in the nullness queries. +* Added data flow models for `java.util.Scanner`. + +## 0.3.1 + +### New Features + +* Added an `ErrorType` class. An instance of this class will be used if an extractor is unable to extract a type, or if an up/downgrade script is unable to provide a type. + +### Minor Analysis Improvements + +* Added data-flow models for `java.util.Properites`. Additional results may be found where relevant data is stored in and then retrieved from a `Properties` instance. +* Added `Modifier.isInline()`. +* Removed Kotlin-specific database and QL structures for loops and `break`/`continue` statements. The Kotlin extractor was changed to reuse the Java structures for these constructs. +* Added additional flow sources for uses of external storage on Android. + +## 0.3.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. + +### Minor Analysis Improvements + +Added a flow step for `String.valueOf` calls on tainted `android.text.Editable` objects. + +## 0.2.3 + ## 0.2.2 ### Deprecated APIs diff --git a/java/ql/src/IDEContextual.qll b/java/ql/lib/IDEContextual.qll similarity index 100% rename from java/ql/src/IDEContextual.qll rename to java/ql/lib/IDEContextual.qll diff --git a/java/ql/lib/change-notes/released/0.2.3.md b/java/ql/lib/change-notes/released/0.2.3.md new file mode 100644 index 00000000000..b92596ffef1 --- /dev/null +++ b/java/ql/lib/change-notes/released/0.2.3.md @@ -0,0 +1 @@ +## 0.2.3 diff --git a/java/ql/lib/change-notes/released/0.3.0.md b/java/ql/lib/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..0c908384d1e --- /dev/null +++ b/java/ql/lib/change-notes/released/0.3.0.md @@ -0,0 +1,9 @@ +## 0.3.0 + +### Deprecated APIs + +* The `BarrierGuard` class has been deprecated. Such barriers and sanitizers can now instead be created using the new `BarrierGuard` parameterized module. + +### Minor Analysis Improvements + +Added a flow step for `String.valueOf` calls on tainted `android.text.Editable` objects. diff --git a/java/ql/lib/change-notes/released/0.3.1.md b/java/ql/lib/change-notes/released/0.3.1.md new file mode 100644 index 00000000000..a453f034d5c --- /dev/null +++ b/java/ql/lib/change-notes/released/0.3.1.md @@ -0,0 +1,12 @@ +## 0.3.1 + +### New Features + +* Added an `ErrorType` class. An instance of this class will be used if an extractor is unable to extract a type, or if an up/downgrade script is unable to provide a type. + +### Minor Analysis Improvements + +* Added data-flow models for `java.util.Properites`. Additional results may be found where relevant data is stored in and then retrieved from a `Properties` instance. +* Added `Modifier.isInline()`. +* Removed Kotlin-specific database and QL structures for loops and `break`/`continue` statements. The Kotlin extractor was changed to reuse the Java structures for these constructs. +* Added additional flow sources for uses of external storage on Android. diff --git a/java/ql/lib/change-notes/released/0.3.2.md b/java/ql/lib/change-notes/released/0.3.2.md new file mode 100644 index 00000000000..b1d193b28b5 --- /dev/null +++ b/java/ql/lib/change-notes/released/0.3.2.md @@ -0,0 +1,10 @@ +## 0.3.2 + +### New Features + +* The QL predicate `Expr::getUnderlyingExpr` has been added. It can be used to look through casts and not-null expressions and obtain the underlying expression to which they apply. + +### Minor Analysis Improvements + +* The JUnit5 version of `AssertNotNull` is now recognized, which removes related false positives in the nullness queries. +* Added data flow models for `java.util.Scanner`. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 16a06790aa8..18c64250f42 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.2 +lastReleaseVersion: 0.3.2 diff --git a/java/ql/lib/config/semmlecode.dbscheme b/java/ql/lib/config/semmlecode.dbscheme index b9225587bc0..81ccfabe82e 100755 --- a/java/ql/lib/config/semmlecode.dbscheme +++ b/java/ql/lib/config/semmlecode.dbscheme @@ -332,6 +332,14 @@ modifiers( string nodeName: string ref ); +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + classes( unique int id: @class, string nodeName: string ref, @@ -1012,13 +1020,13 @@ javadocText( @classorinterfaceorpackage = @classorinterface | @package; @classorinterfaceorcallable = @classorinterface | @callable; @boundedtype = @typevariable | @wildcard; -@reftype = @classorinterface | @array | @boundedtype; +@reftype = @classorinterface | @array | @boundedtype | @errortype; @classorarray = @class | @array; @type = @primitive | @reftype; @callable = @method | @constructor; /** A program element that has a name. */ -@element = @package | @modifier | @annotation | +@element = @package | @modifier | @annotation | @errortype | @locatableElement; @locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | @@ -1165,17 +1173,6 @@ ktCommentOwners( int owner: @top ref ) -@breakcontinuestmt = @breakstmt - | @continuestmt; - -@ktloopstmt = @whilestmt - | @dostmt; - -ktBreakContinueTargets( - unique int id: @breakcontinuestmt ref, - int target: @ktloopstmt ref -) - ktExtensionFunctions( unique int id: @method ref, int typeid: @type ref, @@ -1222,10 +1219,15 @@ ktPropertyDelegates( unique int variableId: @variable ref ) +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ compiler_generated( unique int id: @element ref, int kind: int ref - // 1: Declaring classes of adapter functions in Kotlin ) ktFunctionOriginalNames( diff --git a/java/ql/lib/config/semmlecode.dbscheme.stats b/java/ql/lib/config/semmlecode.dbscheme.stats index f21fb24e899..0490619a996 100644 --- a/java/ql/lib/config/semmlecode.dbscheme.stats +++ b/java/ql/lib/config/semmlecode.dbscheme.stats @@ -6,11 +6,11 @@ @kotlincompilation - 6817 + 6822 @diagnostic - 628563 + 624933 @externalDataElement @@ -26,39 +26,43 @@ @file - 8013164 + 8017700 @folder - 1283033 + 1279884 @package - 612201 + 612652 @primitive - 12271 + 12280 @modifier - 12271 + 13644 + + + @errortype + 1 @class - 12008156 + 12579165 @kt_nullable_type - 1363 + 1364 @kt_notnull_type - 191200 + 194340 @kt_type_alias - 2060 + 2061 @interface @@ -66,47 +70,47 @@ @fielddecl - 399499 + 399793 @field - 27544995 + 27573466 @constructor - 5063959 + 6886544 @method - 59177700 + 93447961 + + + @param + 101099980 @location_default - 430737907 + 431053728 @exception 1228291 - - @param - 62111906 - @typevariable - 5113044 + 5116810 @wildcard - 2416084 + 3637710 @typebound - 3171451 + 4393634 @array - 1109871 + 1118875 @import @@ -114,7 +118,7 @@ @block - 845356 + 845979 @ifstmt @@ -130,7 +134,7 @@ @whilestmt - 13268 + 19739 @dostmt @@ -146,11 +150,11 @@ @synchronizedstmt - 17293 + 18706 @returnstmt - 674742 + 675118 @throwstmt @@ -182,7 +186,7 @@ @localtypedeclstmt - 4062 + 4110 @constructorinvocationstmt @@ -190,7 +194,7 @@ @superconstructorinvocationstmt - 223702 + 226569 @case @@ -202,11 +206,11 @@ @labeledstmt - 2380 + 2518 @yieldstmt - 1 + 36 @errorstmt @@ -214,11 +218,11 @@ @whenbranch - 237749 + 233347 @arrayaccess - 181399 + 409746 @arraycreationexpr @@ -262,7 +266,7 @@ @integerliteral - 799586 + 1151641 @longliteral @@ -270,7 +274,7 @@ @floatingpointliteral - 17688 + 2825445 @doubleliteral @@ -334,7 +338,7 @@ @andlogicalexpr - 40867 + 41715 @orlogicalexpr @@ -382,7 +386,7 @@ @minusexpr - 148828 + 744505 @plusexpr @@ -410,7 +414,7 @@ @instanceofexpr - 29546 + 31086 @localvariabledeclexpr @@ -418,11 +422,11 @@ @typeliteral - 137113 + 148317 @thisaccess - 951850 + 952380 @superaccess @@ -434,11 +438,11 @@ @methodaccess - 1676281 + 1551738 @unannotatedtypeaccess - 2936239 + 2867985 @arraytypeaccess @@ -446,7 +450,7 @@ @wildcardtypeaccess - 63661 + 63664 @declannotation @@ -486,11 +490,11 @@ @lambdaexpr - 183561 + 186985 @memberref - 22864 + 23860 @annotatedtypeaccess @@ -506,7 +510,7 @@ @switchexpr - 1 + 591 @errorexpr @@ -514,43 +518,43 @@ @whenexpr - 172033 + 172129 @getclassexpr - 1363 + 1364 @safecastexpr - 6474 + 6943 @implicitcastexpr - 30743 + 32911 @implicitnotnullexpr - 242928 + 239473 @implicitcoerciontounitexpr - 90274 + 92272 @notinstanceofexpr - 19572 + 19583 @stmtexpr - 54780 + 57757 @stringtemplateexpr - 55902 + 55943 @notnullexpr - 12914 + 21370 @unsafecoerceexpr @@ -558,15 +562,15 @@ @valueeqexpr - 103237 + 104218 @valueneexpr - 108164 + 108225 @propertyref - 9004 + 9663 @localvar @@ -608,29 +612,29 @@ @xmldtd 569 + + @xmlelement + 106753032 + @javadocText 2503256 - - @xmlelement - 106674479 - @xmlattribute - 129755446 + 129850995 @xmlnamespace - 8180 + 8186 @xmlcomment - 107367127 + 107446189 @xmlcharacters - 101461901 + 101536615 @config @@ -646,15 +650,15 @@ @ktcomment - 133620 + 133719 @ktcommentsection - 59545 + 59191 @kt_property - 26996877 + 30306525 @@ -876,30 +880,30 @@ compilation_started - 6817 + 6822 id - 6817 + 6822 compilation_args - 158163 + 158279 id - 6817 + 6822 num - 38177 + 38205 arg - 89989 + 90055 @@ -913,22 +917,22 @@ 20 21 - 2726 + 2728 23 24 - 1363 + 1364 25 26 - 1363 + 1364 28 29 - 1363 + 1364 @@ -944,22 +948,22 @@ 20 21 - 2726 + 2728 23 24 - 1363 + 1364 25 26 - 1363 + 1364 27 28 - 1363 + 1364 @@ -975,22 +979,22 @@ 1 2 - 4090 + 4093 2 3 - 2726 + 2728 3 4 - 4090 + 4093 5 6 - 27269 + 27289 @@ -1006,27 +1010,27 @@ 1 2 - 8180 + 8186 2 3 - 5453 + 5457 3 4 - 10907 + 10915 4 5 - 6817 + 6822 5 6 - 6817 + 6822 @@ -1042,22 +1046,22 @@ 1 2 - 69537 + 69588 2 3 - 2726 + 2728 4 5 - 6817 + 6822 5 6 - 10907 + 10915 @@ -1073,17 +1077,17 @@ 1 2 - 72264 + 72317 2 3 - 14998 + 15009 4 5 - 2726 + 2728 @@ -1093,19 +1097,19 @@ compilation_compiling_files - 56513 + 61130 id - 2161 + 2338 num - 16676 + 18038 file - 47248 + 51109 @@ -1119,22 +1123,22 @@ 1 2 - 308 + 334 2 3 - 617 + 668 35 36 - 617 + 668 54 55 - 617 + 668 @@ -1150,22 +1154,22 @@ 1 2 - 308 + 334 2 3 - 617 + 668 35 36 - 617 + 668 54 55 - 617 + 668 @@ -1181,17 +1185,17 @@ 2 3 - 5867 + 6346 4 5 - 10190 + 11023 6 8 - 617 + 668 @@ -1207,17 +1211,17 @@ 2 3 - 5867 + 6346 3 4 - 9264 + 10021 4 8 - 1544 + 1670 @@ -1233,12 +1237,12 @@ 1 2 - 37984 + 41087 2 3 - 9264 + 10021 @@ -1254,7 +1258,7 @@ 1 2 - 47248 + 51109 @@ -1264,19 +1268,19 @@ compilation_compiling_files_completed - 56513 + 61130 id - 2161 + 2338 num - 16676 + 18038 result - 308 + 668 @@ -1290,22 +1294,22 @@ 1 2 - 308 + 334 2 3 - 617 + 668 35 36 - 617 + 668 54 55 - 617 + 668 @@ -1321,7 +1325,12 @@ 1 2 - 2161 + 1670 + + + 2 + 3 + 668 @@ -1337,17 +1346,17 @@ 2 3 - 5867 + 6346 4 5 - 10190 + 11023 6 8 - 617 + 668 @@ -1363,7 +1372,12 @@ 1 2 - 16676 + 17704 + + + 2 + 3 + 334 @@ -1376,10 +1390,15 @@ 12 + + 2 + 3 + 334 + 7 8 - 308 + 334 @@ -1392,10 +1411,15 @@ 12 + + 1 + 2 + 334 + 54 55 - 308 + 334 @@ -1826,23 +1850,23 @@ diagnostic_for - 628563 + 624933 diagnostic - 628563 + 624933 compilation - 6817 + 6822 file_number - 8180 + 8186 file_number_diagnostic_number - 59993 + 60037 @@ -1856,7 +1880,7 @@ 1 2 - 628563 + 624933 @@ -1872,7 +1896,7 @@ 1 2 - 628563 + 624933 @@ -1888,7 +1912,7 @@ 1 2 - 628563 + 624933 @@ -1904,22 +1928,22 @@ 73 74 - 1363 + 1364 - 85 - 86 - 1363 + 84 + 85 + 1364 100 101 - 2726 + 2728 - 103 - 104 - 1363 + 101 + 102 + 1364 @@ -1935,22 +1959,22 @@ 3 4 - 2726 + 2728 4 5 - 1363 + 1364 5 6 - 1363 + 1364 6 7 - 1363 + 1364 @@ -1966,27 +1990,27 @@ 29 30 - 1363 + 1364 - 36 - 37 - 1363 + 34 + 35 + 1364 40 41 - 1363 + 1364 41 42 - 1363 + 1364 44 45 - 1363 + 1364 @@ -2002,32 +2026,32 @@ 5 6 - 1363 + 1364 - 29 - 30 - 1363 + 34 + 35 + 1364 - 46 - 47 - 1363 + 48 + 49 + 1364 - 108 - 109 - 1363 + 100 + 101 + 1364 - 130 - 131 - 1363 + 128 + 129 + 1364 143 144 - 1363 + 1364 @@ -2043,22 +2067,22 @@ 1 2 - 1363 + 1364 2 3 - 1363 + 1364 3 4 - 1363 + 1364 5 6 - 4090 + 4093 @@ -2074,32 +2098,32 @@ 5 6 - 1363 + 1364 15 16 - 1363 + 1364 - 36 - 37 - 1363 + 34 + 35 + 1364 40 41 - 1363 + 1364 41 42 - 1363 + 1364 44 45 - 1363 + 1364 @@ -2115,62 +2139,62 @@ 1 3 - 5453 + 5457 + + + 3 + 4 + 1364 4 5 - 5453 + 5457 - 6 - 7 - 4090 + 5 + 6 + 1364 7 8 - 5453 + 6822 8 9 - 4090 + 4093 9 10 - 4090 + 9551 10 - 11 - 4090 + 14 + 5457 - 11 - 13 - 5453 - - - 13 + 15 16 - 4090 + 4093 16 17 - 9544 + 6822 - 17 - 19 - 4090 + 18 + 20 + 5457 - 19 + 20 22 - 4090 + 4093 @@ -2186,22 +2210,22 @@ 1 3 - 5453 + 5457 3 4 - 5453 + 8186 4 5 - 9544 + 6822 5 6 - 39540 + 39569 @@ -2217,27 +2241,27 @@ 1 3 - 5453 + 5457 3 4 - 5453 + 8186 4 5 - 28633 + 25925 5 6 - 13634 + 13644 6 7 - 6817 + 6822 @@ -2247,19 +2271,19 @@ compilation_compiler_times - 6817 + 6822 id - 6817 + 6822 cpu_seconds - 1363 + 1364 elapsed_seconds - 6817 + 6822 @@ -2273,7 +2297,7 @@ 1 2 - 6817 + 6822 @@ -2289,7 +2313,7 @@ 1 2 - 6817 + 6822 @@ -2305,7 +2329,7 @@ 5 6 - 1363 + 1364 @@ -2321,7 +2345,7 @@ 5 6 - 1363 + 1364 @@ -2337,7 +2361,7 @@ 1 2 - 6817 + 6822 @@ -2353,7 +2377,7 @@ 1 2 - 6817 + 6822 @@ -2579,35 +2603,35 @@ diagnostics - 628563 + 624933 id - 628563 + 624933 generated_by - 1363 + 1364 severity - 1363 + 1364 error_tag - 1363 + 1364 error_message - 92716 + 95513 full_error_message - 496306 + 502129 location - 1363 + 1364 @@ -2621,7 +2645,7 @@ 1 2 - 628563 + 624933 @@ -2637,7 +2661,7 @@ 1 2 - 628563 + 624933 @@ -2653,7 +2677,7 @@ 1 2 - 628563 + 624933 @@ -2669,7 +2693,7 @@ 1 2 - 628563 + 624933 @@ -2685,7 +2709,7 @@ 1 2 - 628563 + 624933 @@ -2701,7 +2725,7 @@ 1 2 - 628563 + 624933 @@ -2715,9 +2739,9 @@ 12 - 461 - 462 - 1363 + 458 + 459 + 1364 @@ -2733,7 +2757,7 @@ 1 2 - 1363 + 1364 @@ -2749,7 +2773,7 @@ 1 2 - 1363 + 1364 @@ -2763,9 +2787,9 @@ 12 - 68 - 69 - 1363 + 70 + 71 + 1364 @@ -2779,9 +2803,9 @@ 12 - 364 - 365 - 1363 + 368 + 369 + 1364 @@ -2797,7 +2821,7 @@ 1 2 - 1363 + 1364 @@ -2811,9 +2835,9 @@ 12 - 461 - 462 - 1363 + 458 + 459 + 1364 @@ -2829,7 +2853,7 @@ 1 2 - 1363 + 1364 @@ -2845,7 +2869,7 @@ 1 2 - 1363 + 1364 @@ -2859,9 +2883,9 @@ 12 - 68 - 69 - 1363 + 70 + 71 + 1364 @@ -2875,9 +2899,9 @@ 12 - 364 - 365 - 1363 + 368 + 369 + 1364 @@ -2893,7 +2917,7 @@ 1 2 - 1363 + 1364 @@ -2907,9 +2931,9 @@ 12 - 461 - 462 - 1363 + 458 + 459 + 1364 @@ -2925,7 +2949,7 @@ 1 2 - 1363 + 1364 @@ -2941,7 +2965,7 @@ 1 2 - 1363 + 1364 @@ -2955,9 +2979,9 @@ 12 - 68 - 69 - 1363 + 70 + 71 + 1364 @@ -2971,9 +2995,9 @@ 12 - 364 - 365 - 1363 + 368 + 369 + 1364 @@ -2989,7 +3013,7 @@ 1 2 - 1363 + 1364 @@ -3005,181 +3029,181 @@ 1 2 - 14998 + 19102 2 3 - 6817 + 5457 3 4 - 12271 + 12280 4 5 - 4090 + 5457 5 6 - 6817 + 5457 6 7 - 5453 + 6822 7 8 - 4090 + 2728 8 9 - 9544 + 9551 9 10 - 6817 - - - 10 - 14 - 8180 - - - 14 - 16 - 4090 - - - 16 - 20 - 8180 - - - 20 - 21 - 1363 - - - - - - - error_message - generated_by - - - 12 - - - 1 - 2 - 92716 - - - - - - - error_message - severity - - - 12 - - - 1 - 2 - 92716 - - - - - - - error_message - error_tag - - - 12 - - - 1 - 2 - 92716 - - - - - - - error_message - full_error_message - - - 12 - - - 1 - 2 - 19088 - - - 2 - 3 - 5453 - - - 3 - 4 - 12271 - - - 4 - 5 - 5453 - - - 5 - 6 - 4090 - - - 6 - 7 - 5453 - - - 7 - 8 - 9544 - - - 8 - 9 - 14998 - - - 9 - 10 - 2726 + 6822 10 11 - 8180 + 8186 + + + 14 + 17 + 6822 + + + 17 + 21 + 6822 + + + + + + + error_message + generated_by + + + 12 + + + 1 + 2 + 95513 + + + + + + + error_message + severity + + + 12 + + + 1 + 2 + 95513 + + + + + + + error_message + error_tag + + + 12 + + + 1 + 2 + 95513 + + + + + + + error_message + full_error_message + + + 12 + + + 1 + 2 + 21831 + + + 2 + 3 + 5457 + + + 3 + 4 + 12280 + + + 4 + 5 + 5457 + + + 5 + 6 + 4093 + + + 6 + 7 + 8186 + + + 7 + 8 + 12280 + + + 8 + 9 + 6822 + + + 9 + 10 + 4093 + + + 10 + 11 + 5457 11 + 12 + 5457 + + + 12 13 - 5453 + 4093 @@ -3195,7 +3219,7 @@ 1 2 - 92716 + 95513 @@ -3211,17 +3235,17 @@ 1 2 - 409043 + 418896 2 3 - 46358 + 49121 3 5 - 40904 + 34112 @@ -3237,7 +3261,7 @@ 1 2 - 496306 + 502129 @@ -3253,7 +3277,7 @@ 1 2 - 496306 + 502129 @@ -3269,7 +3293,7 @@ 1 2 - 496306 + 502129 @@ -3285,7 +3309,7 @@ 1 2 - 496306 + 502129 @@ -3301,7 +3325,7 @@ 1 2 - 496306 + 502129 @@ -3315,9 +3339,9 @@ 12 - 461 - 462 - 1363 + 458 + 459 + 1364 @@ -3333,7 +3357,7 @@ 1 2 - 1363 + 1364 @@ -3349,7 +3373,7 @@ 1 2 - 1363 + 1364 @@ -3365,7 +3389,7 @@ 1 2 - 1363 + 1364 @@ -3379,9 +3403,9 @@ 12 - 68 - 69 - 1363 + 70 + 71 + 1364 @@ -3395,9 +3419,9 @@ 12 - 364 - 365 - 1363 + 368 + 369 + 1364 @@ -3562,11 +3586,11 @@ sourceLocationPrefix - 1363 + 1364 prefix - 1363 + 1364 @@ -4853,31 +4877,31 @@ locations_default - 430737907 + 431053728 id - 430737907 + 431053728 file - 8013164 + 8017700 beginLine - 2799221 + 2801282 beginColumn - 175888 + 176018 endLine - 2800585 + 2802647 endColumn - 620382 + 620839 @@ -4891,7 +4915,7 @@ 1 2 - 430737907 + 431053728 @@ -4907,7 +4931,7 @@ 1 2 - 430737907 + 431053728 @@ -4923,7 +4947,7 @@ 1 2 - 430737907 + 431053728 @@ -4939,7 +4963,7 @@ 1 2 - 430737907 + 431053728 @@ -4955,7 +4979,7 @@ 1 2 - 430737907 + 431053728 @@ -4971,17 +4995,17 @@ 1 2 - 7173261 + 7177178 2 20 - 604021 + 604465 20 3605 - 235881 + 236055 @@ -4997,17 +5021,17 @@ 1 2 - 7173261 + 7177178 2 15 - 601294 + 601736 15 1830 - 238608 + 238784 @@ -5023,17 +5047,17 @@ 1 2 - 7173261 + 7177178 2 7 - 628563 + 629026 7 105 - 211339 + 211494 @@ -5049,17 +5073,17 @@ 1 2 - 7173261 + 7177178 2 18 - 601294 + 601736 18 1834 - 238608 + 238784 @@ -5075,17 +5099,17 @@ 1 2 - 7173261 + 7177178 2 15 - 604021 + 604465 15 205 - 235881 + 236055 @@ -5101,67 +5125,67 @@ 1 14 - 222247 + 222410 14 125 - 215429 + 215588 125 142 - 215429 + 215588 142 152 - 223610 + 223775 152 159 - 249516 + 249700 159 165 - 257697 + 257887 165 170 - 226337 + 226504 170 174 - 216793 + 216952 174 179 - 229064 + 229233 179 185 - 214066 + 214223 185 194 - 222247 + 222410 194 215 - 215429 + 215588 215 - 5878 - 91353 + 5877 + 91420 @@ -5177,67 +5201,67 @@ 1 7 - 229064 + 229233 7 65 - 212702 + 212859 65 73 - 216793 + 216952 73 78 - 207248 + 207401 78 81 - 190887 + 191027 81 84 - 249516 + 249700 84 86 - 215429 + 215588 86 88 - 257697 + 257887 88 90 - 222247 + 222410 90 93 - 248153 + 248335 93 97 - 218156 + 218317 97 106 - 214066 + 214223 106 - 5878 - 117259 + 5877 + 117345 @@ -5253,62 +5277,62 @@ 1 5 - 222247 + 222410 5 17 - 196340 + 196485 17 19 - 167707 + 167831 19 20 - 214066 + 214223 20 21 - 268605 + 268803 21 22 - 283603 + 283812 22 23 - 329961 + 330204 23 24 - 304055 + 304279 24 25 - 235881 + 236055 25 26 - 170434 + 170560 26 28 - 212702 + 212859 28 45 - 193613 + 193756 @@ -5324,32 +5348,32 @@ 1 2 - 903986 + 904652 2 3 - 895805 + 896465 3 4 - 482671 + 483026 4 5 - 211339 + 211494 5 11 - 220883 + 221046 11 97 - 84535 + 84597 @@ -5365,72 +5389,72 @@ 1 13 - 219520 + 219681 13 60 - 209975 + 210130 60 64 - 223610 + 223775 64 66 - 209975 + 210130 66 68 - 259060 + 259251 68 69 - 130893 + 130990 69 70 - 155436 + 155551 70 71 - 134984 + 135083 71 73 - 235881 + 236055 73 75 - 212702 + 212859 75 78 - 234518 + 234691 78 82 - 252243 + 252429 82 89 - 214066 + 214223 89 104 - 106351 + 106429 @@ -5446,67 +5470,67 @@ 1 11 - 14998 + 15009 15 34 - 14998 + 15009 36 58 - 13634 + 13644 63 88 - 13634 + 13644 89 132 - 13634 + 13644 141 196 - 14998 + 15009 210 285 - 13634 + 13644 316 468 - 13634 + 13644 496 853 - 13634 + 13644 899 1420 - 13634 + 13644 1472 2256 - 13634 + 13644 2300 2526 - 13634 + 13644 2589 226687 - 8180 + 8186 @@ -5522,72 +5546,72 @@ 1 9 - 9544 + 9551 9 11 - 13634 + 13644 12 16 - 8180 + 8186 16 19 - 13634 + 13644 19 31 - 13634 + 13644 35 73 - 13634 + 13644 73 83 - 13634 + 13644 85 104 - 14998 + 15009 104 110 - 10907 + 10915 110 114 - 14998 + 15009 115 119 - 13634 + 13644 119 121 - 12271 + 12280 121 126 - 13634 + 13644 126 - 5878 - 9544 + 5877 + 9551 @@ -5603,67 +5627,67 @@ 1 10 - 14998 + 15009 10 29 - 13634 + 13644 29 43 - 13634 + 13644 45 58 - 13634 + 13644 58 85 - 13634 + 13644 86 106 - 13634 + 13644 108 167 - 13634 + 13644 171 227 - 13634 + 13644 231 379 - 13634 + 13644 383 650 - 13634 + 13644 651 891 - 13634 + 13644 940 1086 - 13634 + 13644 1093 2051 - 10907 + 10915 @@ -5679,67 +5703,67 @@ 1 10 - 14998 + 15009 10 30 - 13634 + 13644 30 43 - 13634 + 13644 46 59 - 13634 + 13644 60 87 - 13634 + 13644 87 109 - 13634 + 13644 115 173 - 13634 + 13644 174 226 - 13634 + 13644 230 380 - 13634 + 13644 383 650 - 13634 + 13644 653 892 - 13634 + 13644 940 1084 - 13634 + 13644 1092 2051 - 10907 + 10915 @@ -5755,72 +5779,72 @@ 1 8 - 14998 + 15009 8 17 - 13634 + 13644 18 25 - 10907 + 10915 25 30 - 13634 + 13644 30 36 - 13634 + 13644 36 44 - 13634 + 13644 45 56 - 12271 + 12280 57 64 - 13634 + 13644 64 73 - 13634 + 13644 73 86 - 13634 + 13644 86 106 - 13634 + 13644 107 129 - 13634 + 13644 129 197 - 13634 + 13644 392 393 - 1363 + 1364 @@ -5836,67 +5860,67 @@ 1 14 - 220883 + 221046 14 124 - 215429 + 215588 124 143 - 218156 + 218317 143 152 - 235881 + 236055 152 159 - 223610 + 223775 159 165 - 257697 + 257887 165 170 - 239972 + 240148 170 174 - 222247 + 222410 174 179 - 222247 + 222410 179 185 - 211339 + 211494 185 194 - 216793 + 216952 194 217 - 212702 + 212859 217 - 5878 - 103624 + 5877 + 103700 @@ -5912,67 +5936,67 @@ 1 7 - 231791 + 231962 7 66 - 224973 + 225139 66 74 - 227700 + 227868 74 80 - 250880 + 251064 80 83 - 241335 + 241513 83 85 - 185433 + 185569 85 87 - 246789 + 246971 87 89 - 246789 + 246971 89 91 - 188160 + 188298 91 94 - 248153 + 248335 94 99 - 226337 + 226504 99 127 - 212702 + 212859 127 - 5878 - 69537 + 5877 + 69588 @@ -5988,32 +6012,32 @@ 1 2 - 710372 + 710895 2 3 - 988522 + 989249 3 4 - 643561 + 644035 4 6 - 237245 + 237419 6 18 - 212702 + 212859 18 22 - 8180 + 8186 @@ -6029,62 +6053,62 @@ 1 5 - 219520 + 219681 5 17 - 199067 + 199214 17 19 - 163617 + 163737 19 20 - 192250 + 192392 20 21 - 280876 + 281083 21 22 - 272695 + 272896 22 23 - 329961 + 330204 23 24 - 306782 + 307008 24 25 - 224973 + 225139 25 26 - 184069 + 184205 26 28 - 223610 + 223775 28 44 - 203158 + 203307 @@ -6100,72 +6124,72 @@ 1 13 - 222247 + 222410 13 61 - 250880 + 251064 61 64 - 173161 + 173289 64 66 - 218156 + 218317 66 68 - 250880 + 251064 68 69 - 137711 + 137812 69 70 - 137711 + 137812 70 71 - 158163 + 158279 71 73 - 231791 + 231962 73 75 - 192250 + 192392 75 77 - 184069 + 184205 77 80 - 211339 + 211494 80 85 - 227700 + 227868 85 119 - 204521 + 204672 @@ -6181,57 +6205,57 @@ 1 2 - 145892 + 145999 2 3 - 64083 + 64130 3 5 - 50448 + 50485 5 13 - 50448 + 50485 13 53 - 47721 + 47756 53 146 - 47721 + 47756 146 351 - 47721 + 47756 357 997 - 47721 + 47756 1053 2396 - 47721 + 47756 2407 4957 - 47721 + 47756 5022 5934 - 23179 + 23196 @@ -6247,57 +6271,57 @@ 1 2 - 151346 + 151457 2 3 - 61356 + 61401 3 5 - 53175 + 53214 5 13 - 50448 + 50485 13 42 - 47721 + 47756 42 77 - 47721 + 47756 77 103 - 51812 + 51850 103 116 - 47721 + 47756 116 144 - 49085 + 49121 144 181 - 47721 + 47756 181 - 5878 - 12271 + 5877 + 12280 @@ -6313,57 +6337,57 @@ 1 2 - 154073 + 154186 2 3 - 62720 + 62766 3 5 - 49085 + 49121 5 13 - 49085 + 49121 13 52 - 49085 + 49121 52 115 - 47721 + 47756 123 271 - 47721 + 47756 277 658 - 47721 + 47756 669 1200 - 47721 + 47756 1219 1635 - 47721 + 47756 1639 1722 - 17725 + 17738 @@ -6379,47 +6403,47 @@ 1 2 - 194977 + 195121 2 3 - 74991 + 75046 3 6 - 54539 + 54579 6 14 - 54539 + 54579 14 26 - 47721 + 47756 26 36 - 49085 + 49121 36 47 - 49085 + 49121 47 55 - 47721 + 47756 55 68 - 47721 + 47756 @@ -6435,57 +6459,57 @@ 1 2 - 154073 + 154186 2 3 - 61356 + 61401 3 5 - 49085 + 49121 5 13 - 49085 + 49121 13 53 - 50448 + 50485 53 115 - 47721 + 47756 123 271 - 47721 + 47756 280 656 - 47721 + 47756 669 1200 - 47721 + 47756 1217 1638 - 47721 + 47756 1640 1722 - 17725 + 17738 @@ -6495,15 +6519,15 @@ hasLocation - 233017139 + 316902470 locatableid - 232872610 + 316759199 id - 11547300 + 11554439 @@ -6517,12 +6541,12 @@ 1 2 - 232728082 + 316615929 2 3 - 144528 + 143270 @@ -6538,62 +6562,62 @@ 1 2 - 2095666 + 2097209 2 3 - 1008974 + 1008352 3 4 - 718553 + 717717 4 6 - 978977 + 978334 6 7 - 773092 + 773661 7 9 - 1047151 + 1019268 9 12 - 858991 + 848708 12 16 - 942163 + 926483 16 23 - 932619 + 882820 23 - 38 - 867172 + 39 + 888278 - 38 - 90 - 869899 + 39 + 89 + 873268 - 90 - 3226 - 454038 + 89 + 9991 + 540335 @@ -6603,23 +6627,23 @@ numlines - 214843332 + 215001538 element_id - 214843332 + 215001538 num_lines - 432222 + 432541 num_code - 433586 + 433905 num_comment - 1344389 + 1345379 @@ -6633,7 +6657,7 @@ 1 2 - 214843332 + 215001538 @@ -6649,7 +6673,7 @@ 1 2 - 214843332 + 215001538 @@ -6665,7 +6689,7 @@ 1 2 - 214843332 + 215001538 @@ -6681,37 +6705,37 @@ 1 2 - 231791 + 231962 2 3 - 53175 + 53214 3 4 - 44994 + 45027 4 7 - 34086 + 34112 7 14 - 32723 + 32747 15 839 - 32723 + 32747 3519 149603 - 2726 + 2728 @@ -6727,12 +6751,12 @@ 1 2 - 422678 + 422989 2 3 - 9544 + 9551 @@ -6748,27 +6772,27 @@ 1 2 - 274059 + 274261 2 3 - 69537 + 69588 3 4 - 36813 + 36841 4 6 - 34086 + 34112 6 987 - 17725 + 17738 @@ -6784,37 +6808,37 @@ 1 2 - 231791 + 231962 2 3 - 53175 + 53214 3 4 - 44994 + 45027 4 7 - 34086 + 34112 7 14 - 32723 + 32747 15 468 - 32723 + 32747 495 78746 - 4090 + 4093 @@ -6830,12 +6854,12 @@ 1 2 - 432222 + 432541 7 8 - 1363 + 1364 @@ -6851,27 +6875,27 @@ 1 2 - 274059 + 274261 2 3 - 69537 + 69588 3 4 - 36813 + 36841 4 6 - 34086 + 34112 6 987 - 19088 + 19102 @@ -6887,77 +6911,77 @@ 1 7 - 109078 + 109158 7 49 - 100897 + 100971 49 71 - 104987 + 105065 71 78 - 107714 + 107794 78 83 - 103624 + 103700 83 87 - 115895 + 115981 87 89 - 99533 + 99607 89 91 - 95443 + 95513 91 92 - 57266 + 57308 92 93 - 68173 + 68224 93 94 - 74991 + 75046 94 95 - 69537 + 69588 95 97 - 109078 + 109158 97 119 - 100897 + 100971 119 75115 - 27269 + 27289 @@ -6973,22 +6997,22 @@ 1 2 - 1103054 + 1103866 2 3 - 114532 + 114616 3 6 - 102260 + 102336 6 120 - 24542 + 24560 @@ -7004,22 +7028,22 @@ 1 2 - 1103054 + 1103866 2 3 - 114532 + 114616 3 6 - 100897 + 100971 6 121 - 25906 + 25925 @@ -7029,15 +7053,15 @@ files - 8013164 + 8017700 id - 8013164 + 8017700 name - 8013164 + 8017700 @@ -7051,7 +7075,7 @@ 1 2 - 8013164 + 8017700 @@ -7067,7 +7091,7 @@ 1 2 - 8013164 + 8017700 @@ -7077,15 +7101,15 @@ folders - 1283033 + 1279884 id - 1283033 + 1279884 name - 1283033 + 1279884 @@ -7099,7 +7123,7 @@ 1 2 - 1283033 + 1279884 @@ -7115,7 +7139,7 @@ 1 2 - 1283033 + 1279884 @@ -7125,15 +7149,15 @@ containerparent - 9293470 + 9294856 parent - 1323937 + 1320819 child - 9293470 + 9294856 @@ -7147,37 +7171,37 @@ 1 2 - 714462 + 713624 2 3 - 139074 + 140541 3 4 - 81808 + 79139 4 7 - 115895 + 113252 7 14 - 110441 + 111887 14 29 - 102260 + 102336 29 194 - 59993 + 60037 @@ -7193,7 +7217,7 @@ 1 2 - 9293470 + 9294856 @@ -7203,15 +7227,15 @@ cupackage - 7152809 + 7158076 id - 7152809 + 7158076 packageid - 610838 + 611288 @@ -7225,7 +7249,7 @@ 1 2 - 7152809 + 7158076 @@ -7241,52 +7265,52 @@ 1 2 - 148619 + 148728 2 3 - 80445 + 80504 3 4 - 55902 + 55943 4 5 - 42267 + 42298 5 7 - 46358 + 46392 7 10 - 50448 + 50485 10 15 - 50448 + 50485 15 21 - 49085 + 49121 21 36 - 47721 + 47756 39 187 - 39540 + 39569 @@ -8048,15 +8072,15 @@ packages - 612201 + 612652 id - 612201 + 612652 nodeName - 612201 + 612652 @@ -8070,7 +8094,7 @@ 1 2 - 612201 + 612652 @@ -8086,7 +8110,7 @@ 1 2 - 612201 + 612652 @@ -8096,15 +8120,15 @@ primitives - 12271 + 12280 id - 12271 + 12280 nodeName - 12271 + 12280 @@ -8118,7 +8142,7 @@ 1 2 - 12271 + 12280 @@ -8134,7 +8158,7 @@ 1 2 - 12271 + 12280 @@ -8144,15 +8168,15 @@ modifiers - 12271 + 13644 id - 12271 + 13644 nodeName - 12271 + 13644 @@ -8166,7 +8190,7 @@ 1 2 - 12271 + 13644 @@ -8182,7 +8206,7 @@ 1 2 - 12271 + 13644 @@ -8191,24 +8215,35 @@ - classes - 12008156 + error_type + 1 id - 12008156 + 1 + + + + + + classes + 12579165 + + + id + 12579165 nodeName - 6521518 + 6871534 parentid - 443130 + 443456 sourceid - 4514477 + 4517802 @@ -8222,7 +8257,7 @@ 1 2 - 12008156 + 12579165 @@ -8238,7 +8273,7 @@ 1 2 - 12008156 + 12579165 @@ -8254,7 +8289,7 @@ 1 2 - 12008156 + 12579165 @@ -8270,17 +8305,17 @@ 1 2 - 5441643 + 5740378 2 3 - 711735 + 745007 3 - 235 - 368139 + 236 + 386148 @@ -8296,17 +8331,17 @@ 1 2 - 5910679 + 6256153 2 3 - 542664 + 547157 3 52 - 68173 + 68224 @@ -8322,17 +8357,17 @@ 1 2 - 5888864 + 6232956 2 3 - 530393 + 536241 3 160 - 102260 + 102336 @@ -8348,57 +8383,57 @@ 1 2 - 107714 + 107794 2 3 - 54539 + 54579 3 4 - 32723 + 32747 4 5 - 31360 + 30018 5 7 - 32723 + 34112 7 - 10 - 28633 + 11 + 40934 - 10 - 14 - 34086 + 11 + 17 + 34112 - 14 - 20 - 35450 + 17 + 23 + 34112 - 20 - 33 - 34086 + 23 + 40 + 36841 - 33 - 60 - 34086 + 40 + 707 + 34112 - 62 - 1398 - 17725 + 1013 + 1414 + 4093 @@ -8414,52 +8449,52 @@ 1 2 - 107714 + 107794 2 3 - 54539 + 54579 3 4 - 35450 + 35476 4 5 - 34086 + 34112 5 7 - 38177 + 38205 7 - 10 - 31360 + 11 + 40934 - 10 - 15 - 35450 + 11 + 17 + 36841 - 15 - 20 - 36813 + 17 + 23 + 34112 - 20 - 36 - 35450 + 23 + 40 + 35476 - 37 - 826 - 34086 + 40 + 830 + 25925 @@ -8475,52 +8510,52 @@ 1 2 - 118622 + 118709 2 3 - 64083 + 64130 3 4 - 36813 + 36841 4 5 - 34086 + 34112 5 7 - 35450 + 35476 7 11 - 40904 + 40934 11 17 - 34086 + 34112 17 26 - 34086 + 34112 26 56 - 34086 + 34112 64 138 - 10907 + 10915 @@ -8536,17 +8571,17 @@ 1 2 - 4048168 + 4051149 2 11 - 346323 + 342485 11 - 1344 - 119986 + 1358 + 124167 @@ -8562,17 +8597,17 @@ 1 2 - 4048168 + 4051149 2 6 - 362685 + 360223 6 - 781 - 103624 + 783 + 106429 @@ -8588,7 +8623,7 @@ 1 2 - 4514477 + 4517802 @@ -8598,26 +8633,26 @@ file_class - 14998 + 15009 id - 14998 + 15009 class_object - 122713 + 122803 id - 122713 + 122803 instance - 122713 + 122803 @@ -8631,7 +8666,7 @@ 1 2 - 122713 + 122803 @@ -8647,7 +8682,7 @@ 1 2 - 122713 + 122803 @@ -8657,19 +8692,19 @@ type_companion_object - 218156 + 218317 id - 218156 + 218317 instance - 218156 + 218317 companion_object - 218156 + 218317 @@ -8683,7 +8718,7 @@ 1 2 - 218156 + 218317 @@ -8699,7 +8734,7 @@ 1 2 - 218156 + 218317 @@ -8715,7 +8750,7 @@ 1 2 - 218156 + 218317 @@ -8731,7 +8766,7 @@ 1 2 - 218156 + 218317 @@ -8747,7 +8782,7 @@ 1 2 - 218156 + 218317 @@ -8763,7 +8798,7 @@ 1 2 - 218156 + 218317 @@ -8773,15 +8808,15 @@ kt_nullable_types - 1363 + 1364 id - 1363 + 1364 classid - 1363 + 1364 @@ -8795,7 +8830,7 @@ 1 2 - 1363 + 1364 @@ -8811,7 +8846,7 @@ 1 2 - 1363 + 1364 @@ -8821,15 +8856,15 @@ kt_notnull_types - 191200 + 194340 id - 191200 + 194340 classid - 191200 + 194340 @@ -8843,7 +8878,7 @@ 1 2 - 191200 + 194340 @@ -8859,7 +8894,7 @@ 1 2 - 191200 + 194340 @@ -8869,15 +8904,15 @@ kt_type_alias - 2060 + 2061 id - 2060 + 2061 name - 2060 + 2061 kttypeid @@ -8895,7 +8930,7 @@ 1 2 - 2060 + 2061 @@ -8911,7 +8946,7 @@ 1 2 - 2060 + 2061 @@ -8927,7 +8962,7 @@ 1 2 - 2060 + 2061 @@ -8943,7 +8978,7 @@ 1 2 - 2060 + 2061 @@ -8985,11 +9020,11 @@ isRecord - 1 + 417 id - 1 + 417 @@ -9442,15 +9477,15 @@ fielddecls - 399499 + 399793 id - 399499 + 399793 parentid - 53175 + 60037 @@ -9464,7 +9499,7 @@ 1 2 - 399499 + 399793 @@ -9480,32 +9515,32 @@ 1 2 - 21815 + 30018 2 3 - 13634 + 13644 3 4 - 6817 + 5457 4 - 7 - 4090 + 5 + 2728 - 7 + 6 16 - 4090 + 5457 40 159 - 2726 + 2728 @@ -9515,19 +9550,19 @@ fieldDeclaredIn - 399499 + 399793 fieldId - 399499 + 399793 fieldDeclId - 399499 + 399793 pos - 1363 + 1364 @@ -9541,7 +9576,7 @@ 1 2 - 399499 + 399793 @@ -9557,7 +9592,7 @@ 1 2 - 399499 + 399793 @@ -9573,7 +9608,7 @@ 1 2 - 399499 + 399793 @@ -9589,7 +9624,7 @@ 1 2 - 399499 + 399793 @@ -9605,7 +9640,7 @@ 293 294 - 1363 + 1364 @@ -9621,7 +9656,7 @@ 293 294 - 1363 + 1364 @@ -9631,27 +9666,27 @@ fields - 27544995 + 27573466 id - 27544995 + 27573466 nodeName - 10922827 + 10925412 typeid - 2732411 + 2734423 parentid - 3866825 + 3860121 sourceid - 27544995 + 27573466 @@ -9665,7 +9700,7 @@ 1 2 - 27544995 + 27573466 @@ -9681,7 +9716,7 @@ 1 2 - 27544995 + 27573466 @@ -9697,7 +9732,7 @@ 1 2 - 27544995 + 27573466 @@ -9713,7 +9748,7 @@ 1 2 - 27544995 + 27573466 @@ -9729,22 +9764,22 @@ 1 2 - 8082701 + 8080466 2 3 - 1435743 + 1436800 3 11 - 759457 + 762745 11 - 822 - 644925 + 828 + 645400 @@ -9760,17 +9795,17 @@ 1 2 - 9896128 + 9897957 2 4 - 852174 + 852801 4 160 - 174525 + 174653 @@ -9786,22 +9821,22 @@ 1 2 - 8082701 + 8080466 2 3 - 1435743 + 1436800 3 11 - 759457 + 762745 11 - 822 - 644925 + 828 + 645400 @@ -9817,22 +9852,22 @@ 1 2 - 8082701 + 8080466 2 3 - 1435743 + 1436800 3 11 - 759457 + 762745 11 - 822 - 644925 + 828 + 645400 @@ -9848,32 +9883,32 @@ 1 2 - 1735708 + 1736986 2 3 - 339506 + 339756 3 4 - 175888 + 176018 4 7 - 208612 + 208765 7 24 - 205885 + 206036 24 - 7473 - 66810 + 7479 + 66859 @@ -9889,27 +9924,27 @@ 1 2 - 1897962 + 1899359 2 3 - 302692 + 302915 3 4 - 184069 + 184205 4 9 - 212702 + 212859 9 2335 - 134984 + 135083 @@ -9925,17 +9960,17 @@ 1 2 - 2328821 + 2331900 2 4 - 230427 + 229233 4 - 1386 - 173161 + 1392 + 173289 @@ -9951,32 +9986,32 @@ 1 2 - 1735708 + 1736986 2 3 - 339506 + 339756 3 4 - 175888 + 176018 4 7 - 208612 + 208765 7 24 - 205885 + 206036 24 - 7473 - 66810 + 7479 + 66859 @@ -9992,37 +10027,37 @@ 1 2 - 1941593 + 1941658 2 3 - 488125 + 485755 3 4 - 308146 + 304279 4 6 - 350414 + 342485 6 10 - 298601 + 301550 10 - 28 - 297238 + 27 + 291999 - 28 + 27 1610 - 182706 + 192392 @@ -10038,37 +10073,37 @@ 1 2 - 1941593 + 1941658 2 3 - 488125 + 485755 3 4 - 308146 + 304279 4 6 - 350414 + 342485 6 10 - 298601 + 301550 10 - 28 - 297238 + 27 + 291999 - 28 + 27 1610 - 182706 + 192392 @@ -10084,27 +10119,27 @@ 1 2 - 2523799 + 2505190 2 3 - 612201 + 624933 3 4 - 252243 + 244242 4 7 - 332688 + 339756 7 76 - 145892 + 145999 @@ -10120,37 +10155,37 @@ 1 2 - 1941593 + 1941658 2 3 - 488125 + 485755 3 4 - 308146 + 304279 4 6 - 350414 + 342485 6 10 - 298601 + 301550 10 - 28 - 297238 + 27 + 291999 - 28 + 27 1610 - 182706 + 192392 @@ -10166,7 +10201,7 @@ 1 2 - 27544995 + 27573466 @@ -10182,7 +10217,7 @@ 1 2 - 27544995 + 27573466 @@ -10198,7 +10233,7 @@ 1 2 - 27544995 + 27573466 @@ -10214,7 +10249,7 @@ 1 2 - 27544995 + 27573466 @@ -10224,15 +10259,15 @@ fieldsKotlinType - 27544995 + 27573466 id - 27544995 + 27573466 kttypeid - 1363 + 1364 @@ -10246,7 +10281,7 @@ 1 2 - 27544995 + 27573466 @@ -10260,9 +10295,9 @@ 12 - 20202 - 20203 - 1363 + 20208 + 20209 + 1364 @@ -10272,31 +10307,31 @@ constrs - 5063959 + 6886544 id - 5063959 + 6886544 nodeName - 2950567 + 3755056 signature - 4712182 + 5885013 typeid - 2726 + 2728 parentid - 3444147 + 4848007 sourceid - 5063959 + 5067688 @@ -10310,7 +10345,7 @@ 1 2 - 5063959 + 6886544 @@ -10326,7 +10361,7 @@ 1 2 - 5063959 + 6886544 @@ -10342,7 +10377,7 @@ 1 2 - 5063959 + 6886544 @@ -10358,7 +10393,7 @@ 1 2 - 5063959 + 6886544 @@ -10374,7 +10409,7 @@ 1 2 - 5063959 + 6886544 @@ -10390,22 +10425,22 @@ 1 2 - 1979771 + 2366012 2 3 - 595840 + 839156 3 5 - 230427 + 346578 5 - 38 - 144528 + 42 + 203307 @@ -10421,95 +10456,95 @@ 1 2 - 2097030 + 2634816 2 3 - 507214 - - - 3 - 6 - 268605 - - - 6 - 19 - 77718 - - - - - - - nodeName - typeid - - - 12 - - - 1 - 2 - 2950567 - - - - - - - nodeName - parentid - - - 12 - - - 1 - 2 - 2661510 - - - 2 - 3 - 234518 - - - 3 - 32 - 54539 - - - - - - - nodeName - sourceid - - - 12 - - - 1 - 2 - 1979771 - - - 2 - 3 - 595840 + 684970 3 5 - 230427 + 302915 + + + 5 + 19 + 132354 + + + + + + + nodeName + typeid + + + 12 + + + 1 + 2 + 3755056 + + + + + + + nodeName + parentid + + + 12 + + + 1 + 2 + 3293861 + + + 2 + 3 + 316559 + + + 3 + 42 + 144635 + + + + + + + nodeName + sourceid + + + 12 + + + 1 + 2 + 2457433 + + + 2 + 3 + 830969 + + + 3 + 5 + 319288 5 38 - 144528 + 147364 @@ -10525,12 +10560,12 @@ 1 2 - 4492662 + 5472940 2 - 32 - 219520 + 42 + 412073 @@ -10546,7 +10581,7 @@ 1 2 - 4712182 + 5885013 @@ -10562,7 +10597,7 @@ 1 2 - 4712182 + 5885013 @@ -10578,12 +10613,12 @@ 1 2 - 4492662 + 5472940 2 - 32 - 219520 + 42 + 412073 @@ -10599,12 +10634,12 @@ 1 2 - 4492662 + 5602565 2 32 - 219520 + 282447 @@ -10620,96 +10655,96 @@ 31 32 - 1363 + 1364 + + + 5016 + 5017 + 1364 + + + + + + + typeid + nodeName + + + 12 + + + 1 + 2 + 1364 + + + 2751 + 2752 + 1364 + + + + + + + typeid + signature + + + 12 + + + 1 + 2 + 1364 + + + 4312 + 4313 + 1364 + + + + + + + typeid + parentid + + + 12 + + + 31 + 32 + 1364 + + + 3522 + 3523 + 1364 + + + + + + + typeid + sourceid + + + 12 + + + 31 + 32 + 1364 3683 3684 - 1363 - - - - - - - typeid - nodeName - - - 12 - - - 1 - 2 - 1363 - - - 2163 - 2164 - 1363 - - - - - - - typeid - signature - - - 12 - - - 1 - 2 - 1363 - - - 3455 - 3456 - 1363 - - - - - - - typeid - parentid - - - 12 - - - 31 - 32 - 1363 - - - 2495 - 2496 - 1363 - - - - - - - typeid - sourceid - - - 12 - - - 31 - 32 - 1363 - - - 3683 - 3684 - 1363 + 1364 @@ -10725,22 +10760,22 @@ 1 2 - 2590609 + 3686832 2 3 - 533120 + 739549 3 6 - 265878 + 367045 6 19 - 54539 + 54579 @@ -10756,7 +10791,7 @@ 1 2 - 3444147 + 4848007 @@ -10772,22 +10807,22 @@ 1 2 - 2590609 + 3686832 2 3 - 533120 + 739549 3 6 - 265878 + 367045 6 19 - 54539 + 54579 @@ -10803,7 +10838,7 @@ 1 2 - 3444147 + 4848007 @@ -10819,22 +10854,22 @@ 1 2 - 2590609 + 3686832 2 3 - 533120 + 739549 3 6 - 265878 + 367045 6 19 - 54539 + 54579 @@ -10850,7 +10885,12 @@ 1 2 - 5063959 + 4755222 + + + 2 + 259 + 312466 @@ -10866,7 +10906,12 @@ 1 2 - 5063959 + 4755222 + + + 2 + 212 + 312466 @@ -10882,7 +10927,12 @@ 1 2 - 5063959 + 4755222 + + + 2 + 212 + 312466 @@ -10898,7 +10948,7 @@ 1 2 - 5063959 + 5067688 @@ -10914,7 +10964,12 @@ 1 2 - 5063959 + 4755222 + + + 2 + 259 + 312466 @@ -10924,15 +10979,15 @@ constrsKotlinType - 5063959 + 6886544 id - 5063959 + 6886544 kttypeid - 1363 + 1364 @@ -10946,7 +11001,7 @@ 1 2 - 5063959 + 6886544 @@ -10960,9 +11015,9 @@ 12 - 3714 - 3715 - 1363 + 5047 + 5048 + 1364 @@ -10972,31 +11027,31 @@ methods - 59177700 + 93447961 id - 59177700 + 93447961 nodeName - 20363553 + 20385371 signature - 29276613 + 29857610 typeid - 9259383 + 11610383 parentid - 7800461 + 11299281 sourceid - 58550500 + 58601802 @@ -11010,7 +11065,7 @@ 1 2 - 59177700 + 93447961 @@ -11026,7 +11081,7 @@ 1 2 - 59177700 + 93447961 @@ -11042,7 +11097,7 @@ 1 2 - 59177700 + 93447961 @@ -11058,7 +11113,7 @@ 1 2 - 59177700 + 93447961 @@ -11074,7 +11129,7 @@ 1 2 - 59177700 + 93447961 @@ -11090,27 +11145,32 @@ 1 2 - 12246765 + 11921485 2 3 - 3894095 + 3790532 3 4 - 1328028 + 1316725 4 7 - 1668897 + 1788836 7 - 922 - 1225767 + 271 + 1529585 + + + 276 + 2134 + 38205 @@ -11126,17 +11186,17 @@ 1 2 - 16896227 + 16903211 2 3 - 2116118 + 2121770 3 - 109 - 1351207 + 361 + 1360389 @@ -11152,17 +11212,22 @@ 1 2 - 17234370 + 17133809 2 3 - 1696167 + 1682407 3 - 839 - 1433016 + 53 + 1529585 + + + 53 + 845 + 39569 @@ -11178,27 +11243,27 @@ 1 2 - 13008949 + 12648754 2 3 - 3718206 + 3557206 3 4 - 1199861 + 1249866 4 - 8 - 1593906 + 7 + 1574613 - 8 - 920 - 842629 + 7 + 1278 + 1354931 @@ -11214,27 +11279,27 @@ 1 2 - 12287669 + 12302175 2 3 - 3914547 + 3921523 3 4 - 1296668 + 1297623 4 7 - 1652536 + 1653753 7 - 922 - 1212132 + 928 + 1210296 @@ -11250,22 +11315,22 @@ 1 2 - 21199366 + 20513632 2 3 - 4359041 + 4878025 3 - 6 - 2518345 + 5 + 2367377 - 6 - 917 - 1199861 + 5 + 1275 + 2098574 @@ -11281,7 +11346,7 @@ 1 2 - 29276613 + 29857610 @@ -11297,17 +11362,17 @@ 1 2 - 26429670 + 26812084 2 5 - 2341092 + 2389209 5 - 837 - 505850 + 843 + 656316 @@ -11323,22 +11388,22 @@ 1 2 - 21203456 + 20517726 2 3 - 4357677 + 4876661 3 - 6 - 2516981 + 5 + 2366012 - 6 - 917 - 1198497 + 5 + 1275 + 2097209 @@ -11354,22 +11419,22 @@ 1 2 - 21264813 + 21137201 2 3 - 4369949 + 4996735 3 6 - 2459715 + 2536573 6 - 917 - 1182135 + 923 + 1187099 @@ -11385,410 +11450,415 @@ 1 2 - 5468912 + 5703537 2 3 - 1708438 + 2457433 3 4 - 601294 + 1087492 4 - 7 - 704918 - - - 7 - 40 - 696737 - - - 40 - 8885 - 79081 - - - - - - - typeid - nodeName - - - 12 - - - 1 - 2 - 6055208 - - - 2 - 3 - 1722073 - - - 3 - 5 - 752640 - - - 5 - 49 - 696737 - - - 49 - 3955 - 32723 - - - - - - - typeid - signature - - - 12 - - - 1 - 2 - 5907953 - - - 2 - 3 - 1712529 - - - 3 - 5 - 770365 - - - 5 - 18 - 702191 - - - 18 - 5683 - 166344 - - - - - - - typeid - parentid - - - 12 - - - 1 - 2 - 6419257 - - - 2 - 3 - 1569363 - - - 3 - 5 - 739005 - - - 5 - 2008 - 531756 - - - - - - - typeid - sourceid - - - 12 - - - 1 - 2 - 5532996 - - - 2 - 3 - 1704348 - - - 3 - 4 - 560389 - - - 4 - 7 - 695374 - - - 7 - 46 - 698101 - - - 46 - 8862 - 68173 - - - - - - - parentid - id - - - 12 - - - 1 - 2 - 2480167 - - - 2 - 3 - 1077148 - - - 3 - 4 - 621746 - - - 4 - 5 - 538574 - - - 5 6 - 413134 + 925119 6 - 8 - 624473 - - - 8 - 11 - 628563 - - - 11 - 18 - 621746 - - - 18 - 42 - 591749 - - - 42 - 319 - 203158 - - - - - - - parentid - nodeName - - - 12 - - - 1 - 2 - 2530616 - - - 2 - 3 - 1096236 - - - 3 - 4 - 672194 - - - 4 - 5 - 548118 - - - 5 - 6 - 403589 - - - 6 - 8 - 632654 - - - 8 - 11 - 628563 - - - 11 - 19 - 644925 - - - 19 - 62 - 586295 - - - 62 - 290 - 57266 - - - - - - - parentid - signature - - - 12 - - - 1 - 2 - 2480167 - - - 2 - 3 - 1077148 - - - 3 - 4 - 621746 - - - 4 - 5 - 538574 - - - 5 - 6 - 413134 - - - 6 - 8 - 624473 - - - 8 - 11 - 628563 - - - 11 - 18 - 623109 - - - 18 - 42 - 590386 - - - 42 - 319 - 203158 - - - - - - - parentid - typeid - - - 12 - - - 1 - 2 - 3063736 - - - 2 - 3 - 1313029 - - - 3 - 4 - 823541 - - - 4 - 5 - 619019 - - - 5 - 6 - 549481 - - - 6 - 8 - 583568 - - - 8 14 - 614928 + 875997 14 + 11682 + 560802 + + + + + + + typeid + nodeName + + + 12 + + + 1 + 2 + 7632916 + + + 2 + 3 + 2221377 + + + 3 + 6 + 1064296 + + + 6 + 3956 + 691792 + + + + + + + typeid + signature + + + 12 + + + 1 + 2 + 7388673 + + + 2 + 3 + 2278686 + + + 3 + 5 + 878726 + + + 5 + 17 + 882820 + + + 17 + 5707 + 181476 + + + + + + + typeid + parentid + + + 12 + + + 1 + 2 + 6808768 + + + 2 + 3 + 2471078 + + + 3 + 4 + 1004259 + + + 4 + 9 + 915567 + + + 9 + 3421 + 410709 + + + + + + + typeid + sourceid + + + 12 + + + 1 + 2 + 6200209 + + + 2 + 3 + 2270499 + + + 3 + 4 + 983792 + + + 4 + 6 + 910109 + + + 6 + 16 + 891007 + + + 16 + 8870 + 354765 + + + + + + + parentid + id + + + 12 + + + 1 + 2 + 3199711 + + + 2 + 3 + 1297623 + + + 3 + 4 + 1027455 + + + 4 + 5 + 747736 + + + 5 + 7 + 925119 + + + 7 + 10 + 959231 + + + 10 + 13 + 997436 + + + 13 + 19 + 908745 + + + 19 + 38 + 910109 + + + 38 + 319 + 326111 + + + + + + + parentid + nodeName + + + 12 + + + 1 + 2 + 3252926 + + + 2 + 3 + 1318090 + + + 3 + 4 + 1107959 + + + 4 + 5 + 788670 + + + 5 + 7 + 888278 + + + 7 + 10 + 1020633 + + + 10 + 13 + 942857 + + + 13 + 17 + 874633 + + + 17 + 35 + 850072 + + + 35 + 290 + 255158 + + + + + + + parentid + signature + + + 12 + + + 1 + 2 + 3199711 + + + 2 + 3 + 1297623 + + + 3 + 4 + 1027455 + + + 4 + 5 + 747736 + + + 5 + 7 + 925119 + + + 7 + 10 + 959231 + + + 10 + 13 + 997436 + + + 13 + 19 + 908745 + + + 19 + 38 + 910109 + + + 38 + 319 + 326111 + + + + + + + parentid + typeid + + + 12 + + + 1 + 2 + 3899691 + + + 2 + 3 + 1623734 + + + 3 + 4 + 1329006 + + + 4 + 5 + 790035 + + + 5 + 6 + 635848 + + + 6 + 7 + 502129 + + + 7 + 9 + 1034277 + + + 9 + 13 + 881455 + + + 13 78 - 233154 + 603101 @@ -11804,52 +11874,52 @@ 1 2 - 2480167 + 3199711 2 3 - 1077148 + 1297623 3 4 - 621746 + 1027455 4 5 - 538574 + 747736 5 - 6 - 413134 + 7 + 925119 - 6 - 8 - 624473 + 7 + 10 + 959231 - 8 - 11 - 628563 + 10 + 13 + 997436 - 11 - 18 - 621746 + 13 + 19 + 908745 - 18 - 42 - 591749 + 19 + 38 + 910109 - 42 + 38 319 - 203158 + 326111 @@ -11865,12 +11935,12 @@ 1 2 - 58210994 + 54239551 2 - 15 - 339506 + 349 + 4362251 @@ -11886,7 +11956,7 @@ 1 2 - 58550500 + 58601802 @@ -11902,12 +11972,12 @@ 1 2 - 58520504 + 58317990 2 - 9 - 29996 + 347 + 283812 @@ -11923,12 +11993,12 @@ 1 2 - 58483690 + 56903021 2 - 10 - 66810 + 259 + 1698780 @@ -11944,12 +12014,12 @@ 1 2 - 58210994 + 54239551 2 - 15 - 339506 + 349 + 4362251 @@ -11959,15 +12029,15 @@ methodsKotlinType - 59177700 + 93447961 id - 59177700 + 93447961 kttypeid - 1363 + 1364 @@ -11981,7 +12051,7 @@ 1 2 - 59177700 + 93447961 @@ -11995,9 +12065,9 @@ 12 - 43402 - 43403 - 1363 + 68486 + 68487 + 1364 @@ -12007,27 +12077,27 @@ params - 62111906 + 101099980 id - 62111906 + 101099980 typeid - 9391641 + 11198309 pos - 29996 + 30018 parentid - 36234445 + 56319023 sourceid - 61258369 + 61303478 @@ -12041,7 +12111,7 @@ 1 2 - 62111906 + 101099980 @@ -12057,7 +12127,7 @@ 1 2 - 62111906 + 101099980 @@ -12073,7 +12143,7 @@ 1 2 - 62111906 + 101099980 @@ -12089,7 +12159,7 @@ 1 2 - 62111906 + 101099980 @@ -12105,32 +12175,32 @@ 1 2 - 5944766 + 5955966 2 3 - 1075784 + 1720612 3 4 - 595840 + 873268 4 - 7 - 804452 + 6 + 974240 - 7 - 24 - 704918 + 6 + 12 + 866446 - 24 - 6303 - 265878 + 12 + 7464 + 807773 @@ -12146,22 +12216,17 @@ 1 2 - 7680475 + 9255286 2 3 - 944890 + 1159810 3 - 9 - 719916 - - - 9 17 - 46358 + 783213 @@ -12177,32 +12242,32 @@ 1 2 - 6221553 + 6146994 2 3 - 977614 + 1685136 3 4 - 598567 + 893736 4 - 7 - 718553 + 6 + 918296 - 7 - 31 - 709008 + 6 + 13 + 866446 - 31 - 4373 - 166344 + 13 + 5239 + 687699 @@ -12218,32 +12283,32 @@ 1 2 - 5974763 + 6350302 2 3 - 1077148 + 1577341 3 4 - 578114 + 904652 4 - 7 - 812633 + 6 + 951044 - 7 - 25 - 714462 + 6 + 13 + 854166 - 25 + 13 6287 - 234518 + 560802 @@ -12259,57 +12324,57 @@ 1 2 - 2726 + 2728 - 4 - 7 - 2726 + 53 + 56 + 2728 - 10 - 12 - 2726 + 110 + 112 + 2728 - 16 - 19 - 2726 + 165 + 172 + 2728 - 22 - 36 - 2726 + 224 + 242 + 2728 - 47 - 72 - 2726 + 304 + 329 + 2728 - 112 - 155 - 2726 + 523 + 665 + 2728 - 215 - 368 - 2726 + 879 + 1140 + 2728 - 584 - 997 - 2726 + 1514 + 2087 + 2728 - 1989 - 4203 - 2726 + 3295 + 5932 + 2728 - 10118 - 26576 - 2726 + 15024 + 41276 + 2728 @@ -12325,57 +12390,57 @@ 1 2 - 2726 + 2728 2 5 - 2726 + 2728 6 7 - 2726 + 2728 10 12 - 2726 + 2728 13 19 - 2726 + 2728 26 - 36 - 2726 + 38 + 2728 57 - 74 - 2726 + 76 + 2728 - 97 + 99 159 - 2726 + 2728 - 210 - 305 - 2726 + 212 + 306 + 2728 - 444 - 791 - 2726 + 452 + 888 + 2728 - 2124 - 5120 - 2726 + 2370 + 6266 + 2728 @@ -12391,57 +12456,57 @@ 1 2 - 2726 + 2728 - 4 - 7 - 2726 + 53 + 56 + 2728 - 10 - 12 - 2726 + 110 + 112 + 2728 - 16 - 19 - 2726 + 165 + 172 + 2728 - 22 - 36 - 2726 + 224 + 242 + 2728 - 47 - 72 - 2726 + 304 + 329 + 2728 - 112 - 155 - 2726 + 523 + 665 + 2728 - 215 - 368 - 2726 + 879 + 1140 + 2728 - 584 - 997 - 2726 + 1514 + 2087 + 2728 - 1989 - 4203 - 2726 + 3295 + 5932 + 2728 - 10118 - 26576 - 2726 + 15024 + 41276 + 2728 @@ -12457,57 +12522,57 @@ 1 2 - 2726 + 2728 2 5 - 2726 + 2728 6 8 - 2726 + 2728 10 13 - 2726 + 2728 14 28 - 2726 + 2728 37 62 - 2726 + 2728 97 137 - 2726 + 2728 192 342 - 2726 + 2728 553 963 - 2726 + 2728 1950 4155 - 2726 + 2728 10027 26335 - 2726 + 2728 @@ -12523,22 +12588,27 @@ 1 2 - 22438768 + 35819035 2 3 - 8066339 + 12407241 3 4 - 3017378 + 3596776 4 + 15 + 4262643 + + + 15 23 - 2711959 + 233326 @@ -12554,22 +12624,17 @@ 1 2 - 24706233 + 39815605 2 3 - 8092245 + 12666492 3 - 5 - 2934206 - - - 5 23 - 501760 + 3836925 @@ -12585,22 +12650,27 @@ 1 2 - 22438768 + 35819035 2 3 - 8066339 + 12407241 3 4 - 3017378 + 3596776 4 + 15 + 4262643 + + + 15 23 - 2711959 + 233326 @@ -12616,22 +12686,27 @@ 1 2 - 22438768 + 35819035 2 3 - 8066339 + 12407241 3 4 - 3017378 + 3596776 4 + 15 + 4262643 + + + 15 23 - 2711959 + 233326 @@ -12647,12 +12722,12 @@ 1 2 - 60793423 + 56874367 2 - 15 - 464946 + 349 + 4429110 @@ -12668,12 +12743,12 @@ 1 2 - 61190195 + 59761613 2 - 9 - 68173 + 349 + 1541865 @@ -12689,7 +12764,7 @@ 1 2 - 61258369 + 61303478 @@ -12705,12 +12780,12 @@ 1 2 - 60793423 + 56874367 2 - 15 - 464946 + 349 + 4429110 @@ -12720,15 +12795,15 @@ paramsKotlinType - 62111906 + 101099980 id - 62111906 + 101099980 kttypeid - 1363 + 1364 @@ -12742,7 +12817,7 @@ 1 2 - 62111906 + 101099980 @@ -12756,9 +12831,9 @@ 12 - 45554 - 45555 - 1363 + 74094 + 74095 + 1364 @@ -12768,15 +12843,15 @@ paramName - 62111906 + 10199508 id - 62111906 + 10199508 nodeName - 1686623 + 1666033 @@ -12790,7 +12865,7 @@ 1 2 - 62111906 + 10199508 @@ -12806,37 +12881,37 @@ 1 2 - 736278 + 729998 2 3 - 336779 + 338391 3 4 - 156800 + 169195 4 5 - 118622 + 117345 5 9 - 139074 + 140541 9 - 23 - 129530 + 25 + 126896 - 23 - 21136 - 69537 + 25 + 516 + 43663 @@ -12846,11 +12921,11 @@ isVarargsParam - 813823 + 1005623 param - 813823 + 1005623 @@ -13073,11 +13148,11 @@ isAnnotType - 29041 + 30064 interfaceid - 29041 + 30064 @@ -13361,11 +13436,11 @@ isEnumType - 350414 + 350672 classid - 350414 + 350672 @@ -13383,27 +13458,27 @@ typeVars - 5113044 + 5116810 id - 5113044 + 5116810 nodeName - 70900 + 70953 pos - 5453 + 5457 kind - 1363 + 1364 parentid - 3720933 + 3723673 @@ -13417,7 +13492,7 @@ 1 2 - 5113044 + 5116810 @@ -13433,7 +13508,7 @@ 1 2 - 5113044 + 5116810 @@ -13449,7 +13524,7 @@ 1 2 - 5113044 + 5116810 @@ -13465,7 +13540,7 @@ 1 2 - 5113044 + 5116810 @@ -13481,47 +13556,47 @@ 1 2 - 20452 + 20467 2 3 - 10907 + 10915 3 4 - 6817 + 6822 4 7 - 5453 + 5457 7 10 - 5453 + 5457 10 28 - 5453 + 5457 37 71 - 5453 + 5457 71 253 - 5453 + 5457 459 951 - 5453 + 5457 @@ -13537,22 +13612,22 @@ 1 2 - 44994 + 45027 2 3 - 16361 + 16373 3 4 - 8180 + 8186 4 5 - 1363 + 1364 @@ -13568,7 +13643,7 @@ 1 2 - 70900 + 70953 @@ -13584,47 +13659,47 @@ 1 2 - 20452 + 20467 2 3 - 10907 + 10915 3 4 - 6817 + 6822 4 7 - 5453 + 5457 7 10 - 5453 + 5457 10 28 - 5453 + 5457 37 71 - 5453 + 5457 71 253 - 5453 + 5457 459 951 - 5453 + 5457 @@ -13640,22 +13715,22 @@ 6 7 - 1363 + 1364 94 95 - 1363 + 1364 921 922 - 1363 + 1364 2729 2730 - 1363 + 1364 @@ -13671,22 +13746,22 @@ 2 3 - 1363 + 1364 13 14 - 1363 + 1364 23 24 - 1363 + 1364 41 42 - 1363 + 1364 @@ -13702,7 +13777,7 @@ 1 2 - 5453 + 5457 @@ -13718,22 +13793,22 @@ 6 7 - 1363 + 1364 94 95 - 1363 + 1364 921 922 - 1363 + 1364 2729 2730 - 1363 + 1364 @@ -13749,7 +13824,7 @@ 3750 3751 - 1363 + 1364 @@ -13765,7 +13840,7 @@ 52 53 - 1363 + 1364 @@ -13781,7 +13856,7 @@ 4 5 - 1363 + 1364 @@ -13797,7 +13872,7 @@ 2729 2730 - 1363 + 1364 @@ -13813,17 +13888,17 @@ 1 2 - 2465169 + 2466984 2 3 - 1127596 + 1128427 3 5 - 128166 + 128261 @@ -13839,17 +13914,17 @@ 1 2 - 2465169 + 2466984 2 3 - 1127596 + 1128427 3 5 - 128166 + 128261 @@ -13865,17 +13940,17 @@ 1 2 - 2465169 + 2466984 2 3 - 1127596 + 1128427 3 5 - 128166 + 128261 @@ -13891,7 +13966,7 @@ 1 2 - 3720933 + 3723673 @@ -13901,19 +13976,19 @@ wildcards - 2416084 + 3637710 id - 2416084 + 3637710 nodeName - 751276 + 982427 kind - 2726 + 2728 @@ -13927,7 +14002,7 @@ 1 2 - 2416084 + 3637710 @@ -13943,7 +14018,7 @@ 1 2 - 2416084 + 3637710 @@ -13959,17 +14034,17 @@ 1 2 - 591749 + 791399 2 3 - 109078 + 120074 3 - 140 - 50448 + 214 + 70953 @@ -13985,7 +14060,7 @@ 1 2 - 751276 + 982427 @@ -13999,14 +14074,14 @@ 12 - 648 - 649 - 1363 + 1027 + 1028 + 1364 - 1124 - 1125 - 1363 + 1639 + 1640 + 1364 @@ -14020,14 +14095,14 @@ 12 - 152 - 153 - 1363 + 222 + 223 + 1364 - 399 - 400 - 1363 + 498 + 499 + 1364 @@ -14037,23 +14112,23 @@ typeBounds - 3171451 + 4393634 id - 3171451 + 4393634 typeid - 2387451 + 3191525 pos - 1363 + 1364 parentid - 3171451 + 4393634 @@ -14067,7 +14142,7 @@ 1 2 - 3171451 + 4393634 @@ -14083,7 +14158,7 @@ 1 2 - 3171451 + 4393634 @@ -14099,7 +14174,7 @@ 1 2 - 3171451 + 4393634 @@ -14115,17 +14190,17 @@ 1 2 - 2101120 + 2512012 2 3 - 218156 + 603101 3 - 51 - 68173 + 52 + 76411 @@ -14141,7 +14216,7 @@ 1 2 - 2387451 + 3191525 @@ -14157,17 +14232,17 @@ 1 2 - 2101120 + 2512012 2 3 - 218156 + 603101 3 - 51 - 68173 + 52 + 76411 @@ -14181,9 +14256,9 @@ 12 - 2326 - 2327 - 1363 + 3220 + 3221 + 1364 @@ -14197,9 +14272,9 @@ 12 - 1751 - 1752 - 1363 + 2339 + 2340 + 1364 @@ -14213,9 +14288,9 @@ 12 - 2326 - 2327 - 1363 + 3220 + 3221 + 1364 @@ -14231,7 +14306,7 @@ 1 2 - 3171451 + 4393634 @@ -14247,7 +14322,7 @@ 1 2 - 3171451 + 4393634 @@ -14263,7 +14338,7 @@ 1 2 - 3171451 + 4393634 @@ -14569,37 +14644,37 @@ isParameterized - 22414889 + 25167883 memberid - 22414889 + 25167883 isRaw - 635381 + 642671 memberid - 635381 + 642671 erasure - 22417402 + 25810554 memberid - 22417402 + 25810554 erasureid - 2850 + 867810 @@ -14613,7 +14688,7 @@ 1 2 - 22417402 + 25810554 @@ -14629,52 +14704,57 @@ 1 2 - 177 + 144635 2 3 - 437 + 133719 3 + 4 + 88691 + + + 4 5 - 249 + 54579 5 6 - 703 + 50485 6 - 9 - 226 + 8 + 64130 - 9 - 23 - 243 + 8 + 11 + 79139 - 23 - 98 - 215 + 11 + 19 + 70953 - 101 - 288 - 215 + 19 + 33 + 70953 - 345 - 2541 - 215 + 33 + 93 + 65495 - 2940 - 468247 - 166 + 97 + 1848 + 45027 @@ -14684,15 +14764,15 @@ isAnonymClass - 192470 + 195608 classid - 192470 + 195608 parent - 192470 + 195608 @@ -14706,7 +14786,7 @@ 1 2 - 192470 + 195608 @@ -14722,7 +14802,7 @@ 1 2 - 192470 + 195608 @@ -14732,15 +14812,15 @@ isLocalClassOrInterface - 4062 + 4110 typeid - 4062 + 4110 parent - 4062 + 4110 @@ -14754,7 +14834,7 @@ 1 2 - 4062 + 4110 @@ -14770,7 +14850,7 @@ 1 2 - 4062 + 4110 @@ -14780,26 +14860,26 @@ isDefConstr - 138448 + 138456 constructorid - 138448 + 138456 lambdaKind - 183561 + 186985 exprId - 183561 + 186985 bodyKind - 15 + 16 @@ -14813,7 +14893,7 @@ 1 2 - 183561 + 186985 @@ -14827,9 +14907,9 @@ 12 - 11702 - 11703 - 15 + 11644 + 11645 + 16 @@ -14839,27 +14919,27 @@ arrays - 1109871 + 1118875 id - 1109871 + 1118875 nodeName - 688556 + 689063 elementtypeid - 1103054 + 1112053 dimension - 2726 + 2728 componenttypeid - 1109871 + 1118875 @@ -14873,7 +14953,7 @@ 1 2 - 1109871 + 1118875 @@ -14889,7 +14969,7 @@ 1 2 - 1109871 + 1118875 @@ -14905,7 +14985,7 @@ 1 2 - 1109871 + 1118875 @@ -14921,7 +15001,7 @@ 1 2 - 1109871 + 1118875 @@ -14937,17 +15017,17 @@ 1 2 - 563116 + 563531 2 3 - 99533 + 99607 3 - 89 - 25906 + 95 + 25925 @@ -14963,17 +15043,17 @@ 1 2 - 563116 + 563531 2 3 - 99533 + 99607 3 - 89 - 25906 + 95 + 25925 @@ -14989,7 +15069,7 @@ 1 2 - 688556 + 689063 @@ -15005,17 +15085,17 @@ 1 2 - 563116 + 563531 2 3 - 99533 + 99607 3 - 89 - 25906 + 95 + 25925 @@ -15031,12 +15111,12 @@ 1 2 - 1096236 + 1105230 2 3 - 6817 + 6822 @@ -15052,12 +15132,12 @@ 1 2 - 1096236 + 1105230 2 3 - 6817 + 6822 @@ -15073,12 +15153,12 @@ 1 2 - 1096236 + 1105230 2 3 - 6817 + 6822 @@ -15094,12 +15174,12 @@ 1 2 - 1096236 + 1105230 2 3 - 6817 + 6822 @@ -15115,12 +15195,12 @@ 5 6 - 1363 + 1364 - 809 - 810 - 1363 + 815 + 816 + 1364 @@ -15136,12 +15216,12 @@ 5 6 - 1363 + 1364 500 501 - 1363 + 1364 @@ -15157,12 +15237,12 @@ 5 6 - 1363 + 1364 - 809 - 810 - 1363 + 815 + 816 + 1364 @@ -15178,12 +15258,12 @@ 5 6 - 1363 + 1364 - 809 - 810 - 1363 + 815 + 816 + 1364 @@ -15199,7 +15279,7 @@ 1 2 - 1109871 + 1118875 @@ -15215,7 +15295,7 @@ 1 2 - 1109871 + 1118875 @@ -15231,7 +15311,7 @@ 1 2 - 1109871 + 1118875 @@ -15247,7 +15327,7 @@ 1 2 - 1109871 + 1118875 @@ -15257,15 +15337,15 @@ enclInReftype - 3363701 + 3419393 child - 3363701 + 3419393 parent - 927165 + 927848 @@ -15279,7 +15359,7 @@ 1 2 - 3363701 + 3419393 @@ -15295,32 +15375,32 @@ 1 2 - 545391 + 545793 2 3 - 149982 + 150093 3 4 - 72264 + 70953 4 7 - 83172 + 83233 7 - 51 - 69537 + 48 + 69588 - 54 - 261 - 6817 + 50 + 279 + 8186 @@ -15330,15 +15410,15 @@ extendsReftype - 42364645 + 47979305 id1 - 29841093 + 34102515 id2 - 12951683 + 14050078 @@ -15352,22 +15432,22 @@ 1 2 - 22519213 + 26206254 2 3 - 2991472 + 3149226 3 4 - 3587312 + 3641804 4 10 - 743095 + 1105230 @@ -15383,17 +15463,17 @@ 1 2 - 10991001 + 11956961 2 3 - 1330755 + 1429977 3 - 10473 - 629927 + 12283 + 663138 @@ -15403,15 +15483,15 @@ implInterface - 3035340 + 3035438 id1 - 753178 + 753152 id2 - 2261946 + 2262035 @@ -15425,37 +15505,37 @@ 1 2 - 208701 + 208645 2 3 - 50090 + 50093 3 4 - 67184 + 67188 4 5 - 61692 + 61695 5 6 - 19204 + 19205 6 7 - 304112 + 304129 7 10 - 42193 + 42195 @@ -15471,12 +15551,12 @@ 1 2 - 2186998 + 2187117 2 63837 - 74948 + 74918 @@ -15486,51 +15566,15 @@ permits - 1 + 143 id1 - 1 + 36 id2 - 1 - - - - - id1 - id2 - - - 12 - - - - - - id2 - id1 - - - 12 - - - - - - - - hasModifier - 172920454 - - - id1 - 125651375 - - - id2 - 12271 + 143 @@ -15544,17 +15588,42 @@ 1 2 - 78728621 + 1 2 3 - 46576431 + 12 3 4 - 346323 + 8 + + + 4 + 5 + 2 + + + 5 + 6 + 2 + + + 6 + 7 + 4 + + + 7 + 8 + 2 + + + 8 + 11 + 2 @@ -15567,50 +15636,113 @@ 12 + + 1 + 2 + 143 + + + + + + + + + hasModifier + 249505212 + + + id1 + 166690663 + + + id2 + 13644 + + + + + id1 + id2 + + + 12 + + + 1 + 2 + 84359142 + + + 2 + 3 + 81848494 + + + 3 + 4 + 483026 + + + + + + + id2 + id1 + + + 12 + + + 31 + 32 + 1364 + 34 35 - 1363 + 1364 - 108 - 109 - 1363 + 109 + 110 + 1364 - 284 - 285 - 1363 + 285 + 286 + 1364 - 391 - 392 - 1363 + 500 + 501 + 1364 - 4671 - 4672 - 1363 + 8057 + 8058 + 1364 - 5009 - 5010 - 1363 + 18033 + 18034 + 1364 - 12072 - 12073 - 1363 + 18277 + 18278 + 1364 - 15259 - 15260 - 1363 + 20697 + 20698 + 1364 - 88995 - 88996 - 1363 + 116834 + 116835 + 1364 @@ -15951,27 +16083,27 @@ stmts - 2531979 + 2533844 id - 2531979 + 2533844 kind - 13634 + 13644 parent - 1783430 + 1784743 idx - 216793 + 216952 bodydecl - 703554 + 704073 @@ -15985,7 +16117,7 @@ 1 2 - 2531979 + 2533844 @@ -16001,7 +16133,7 @@ 1 2 - 2531979 + 2533844 @@ -16017,7 +16149,7 @@ 1 2 - 2531979 + 2533844 @@ -16033,7 +16165,7 @@ 1 2 - 2531979 + 2533844 @@ -16049,42 +16181,42 @@ 2 3 - 4090 + 4093 4 5 - 1363 + 1364 72 73 - 1363 + 1364 96 97 - 1363 + 1364 162 163 - 1363 + 1364 372 373 - 1363 + 1364 525 526 - 1363 + 1364 620 621 - 1363 + 1364 @@ -16100,47 +16232,47 @@ 1 2 - 1363 + 1364 2 3 - 2726 + 2728 4 5 - 1363 + 1364 53 54 - 1363 + 1364 72 73 - 1363 + 1364 98 99 - 1363 + 1364 233 234 - 1363 + 1364 372 373 - 1363 + 1364 620 621 - 1363 + 1364 @@ -16156,32 +16288,32 @@ 1 2 - 5453 + 5457 2 3 - 1363 + 1364 5 6 - 1363 + 1364 6 7 - 1363 + 1364 7 8 - 2726 + 2728 158 159 - 1363 + 1364 @@ -16197,42 +16329,42 @@ 1 2 - 1363 + 1364 2 3 - 4090 + 4093 25 26 - 1363 + 1364 71 72 - 1363 + 1364 72 73 - 1363 + 1364 119 120 - 1363 + 1364 370 371 - 1363 + 1364 516 517 - 1363 + 1364 @@ -16248,17 +16380,17 @@ 1 2 - 1501190 + 1502295 2 3 - 199067 + 199214 3 159 - 83172 + 83233 @@ -16274,17 +16406,17 @@ 1 2 - 1587089 + 1588257 2 3 - 189523 + 189663 3 4 - 6817 + 6822 @@ -16300,17 +16432,17 @@ 1 2 - 1501190 + 1502295 2 3 - 199067 + 199214 3 159 - 83172 + 83233 @@ -16326,7 +16458,7 @@ 1 2 - 1783430 + 1784743 @@ -16342,22 +16474,22 @@ 1 2 - 160890 + 161008 2 3 - 34086 + 34112 3 24 - 16361 + 16373 34 1211 - 5453 + 5457 @@ -16373,12 +16505,12 @@ 1 2 - 204521 + 204672 2 9 - 12271 + 12280 @@ -16394,22 +16526,22 @@ 1 2 - 160890 + 161008 2 3 - 34086 + 34112 3 24 - 16361 + 16373 34 1211 - 5453 + 5457 @@ -16425,22 +16557,22 @@ 1 2 - 160890 + 161008 2 3 - 34086 + 34112 3 19 - 16361 + 16373 29 517 - 5453 + 5457 @@ -16456,22 +16588,22 @@ 2 3 - 544027 + 544428 3 4 - 58629 + 58672 4 7 - 53175 + 53214 7 162 - 47721 + 47756 @@ -16487,17 +16619,17 @@ 2 3 - 575387 + 575811 3 4 - 81808 + 81868 4 7 - 46358 + 46392 @@ -16513,17 +16645,17 @@ 2 3 - 629927 + 630391 3 8 - 57266 + 57308 9 47 - 16361 + 16373 @@ -16539,22 +16671,22 @@ 1 2 - 544027 + 544428 2 3 - 92716 + 92784 3 7 - 54539 + 54579 7 159 - 12271 + 12280 @@ -17435,7 +17567,7 @@ kttypeid - 12361 + 12368 @@ -17465,16 +17597,16 @@ 1 2 - 9271 + 9276 2 3 - 2060 + 2061 - 7182 - 7183 + 7178 + 7179 1030 @@ -17485,15 +17617,15 @@ callableEnclosingExpr - 7217924 + 7300230 id - 7217924 + 7300230 callable_id - 240274 + 19880 @@ -17507,7 +17639,7 @@ 1 2 - 7217924 + 7300230 @@ -17522,68 +17654,73 @@ 1 + 2 + 711 + + + 2 3 - 21096 + 1691 3 - 4 - 16487 - - - 4 5 - 19087 + 1604 5 6 - 31319 + 806 6 7 - 13591 + 1955 7 - 8 - 11582 + 9 + 1374 - 8 - 10 - 19619 - - - 10 + 9 13 - 20328 + 1825 13 18 - 18023 + 1574 18 26 - 19028 + 1530 26 42 - 18673 + 1530 42 - 90 - 18141 + 73 + 1504 - 90 - 2632 - 13296 + 73 + 177 + 1496 + + + 179 + 1146 + 1491 + + + 1148 + 37742 + 780 @@ -17593,15 +17730,15 @@ statementEnclosingExpr - 6747230 + 7259867 id - 6747230 + 7259867 statement_id - 1036488 + 525862 @@ -17615,7 +17752,7 @@ 1 2 - 6747230 + 7259867 @@ -17630,58 +17767,63 @@ 1 - 2 - 91145 - - - 2 3 - 105186 + 29130 3 - 4 - 160261 - - - 4 5 - 132927 + 47085 5 - 6 - 117577 - - - 6 7 - 81534 + 48481 7 8 - 70956 + 36048 8 9 - 74134 + 38151 9 + 10 + 50455 + + + 10 11 - 89864 + 29217 11 - 17 - 80045 + 12 + 127070 - 17 - 5127 - 32854 + 12 + 35 + 35328 + + + 35 + 40 + 44630 + + + 40 + 81 + 40228 + + + 82 + 210 + 34 @@ -17744,37 +17886,37 @@ when_if - 82305 + 84712 id - 82305 + 84712 when_branch_else - 80340 + 79813 id - 80340 + 79813 callableBinding - 1981634 + 1832536 callerid - 1981634 + 1832536 callee - 243322 + 263412 @@ -17788,7 +17930,7 @@ 1 2 - 1981634 + 1832536 @@ -17804,32 +17946,32 @@ 1 2 - 144987 + 162245 2 3 - 30712 + 33027 3 4 - 16063 + 16214 4 7 - 21383 + 22259 7 - 18 - 18691 + 20 + 19913 - 18 - 53688 - 11484 + 20 + 46115 + 9752 @@ -17839,15 +17981,15 @@ memberRefBinding - 22459 + 23208 id - 22459 + 23208 callable - 11307 + 11197 @@ -17861,7 +18003,7 @@ 1 2 - 22459 + 23208 @@ -17877,22 +18019,22 @@ 1 2 - 7789 + 7862 2 3 - 2295 + 2075 3 7 - 917 + 940 7 - 658 - 303 + 912 + 319 @@ -17902,15 +18044,15 @@ propertyRefGetBinding - 9002 + 9660 id - 9002 + 9660 getter - 5441 + 5838 @@ -17924,7 +18066,7 @@ 1 2 - 9002 + 9660 @@ -17940,17 +18082,17 @@ 1 2 - 1977 + 2119 2 3 - 3376 + 3624 3 6 - 87 + 94 @@ -18008,15 +18150,15 @@ propertyRefSetBinding - 2470 + 2672 id - 2470 + 2672 setter - 1235 + 1336 @@ -18030,7 +18172,7 @@ 1 2 - 2470 + 2672 @@ -18046,7 +18188,7 @@ 2 3 - 1235 + 1336 @@ -18505,15 +18647,15 @@ localvarsKotlinType - 223610 + 227573 id - 223610 + 227573 kttypeid - 1363 + 163 @@ -18527,7 +18669,7 @@ 1 2 - 223610 + 227573 @@ -18541,9 +18683,9 @@ 12 - 164 - 165 - 1363 + 1395 + 1396 + 163 @@ -18553,19 +18695,19 @@ namestrings - 1890347 + 4023074 name - 333893 + 23388 value - 328748 + 22170 parent - 1890347 + 4023074 @@ -18579,7 +18721,7 @@ 1 2 - 333893 + 23388 @@ -18595,27 +18737,42 @@ 1 2 - 189516 + 9606 2 3 - 80984 + 3812 3 5 - 30700 + 2151 5 - 15 - 25390 + 9 + 1769 - 15 - 2528 - 7301 + 9 + 21 + 1795 + + + 21 + 69 + 1760 + + + 69 + 385 + 1756 + + + 390 + 412517 + 737 @@ -18631,12 +18788,12 @@ 1 2 - 324102 + 21562 2 - 4 - 4646 + 12 + 607 @@ -18652,27 +18809,42 @@ 1 2 - 185699 + 9120 2 3 - 80984 + 3595 3 5 - 30037 + 1912 5 - 16 - 24726 + 9 + 1665 - 17 - 2537 - 7301 + 9 + 21 + 1691 + + + 21 + 67 + 1678 + + + 67 + 318 + 1665 + + + 320 + 413340 + 841 @@ -18688,7 +18860,7 @@ 1 2 - 1890347 + 4023074 @@ -18704,7 +18876,7 @@ 1 2 - 1890347 + 4023074 @@ -20413,15 +20585,15 @@ xmlEncoding - 801725 + 802315 id - 801725 + 802315 encoding - 1363 + 1364 @@ -20435,7 +20607,7 @@ 1 2 - 801725 + 802315 @@ -20451,7 +20623,7 @@ 588 589 - 1363 + 1364 @@ -20809,27 +20981,27 @@ xmlElements - 106674479 + 106753032 id - 106674479 + 106753032 name - 338142 + 338391 parentid - 2751499 + 2753526 idx - 1209405 + 1210296 fileid - 801725 + 802315 @@ -20843,7 +21015,7 @@ 1 2 - 106674479 + 106753032 @@ -20859,7 +21031,7 @@ 1 2 - 106674479 + 106753032 @@ -20875,7 +21047,7 @@ 1 2 - 106674479 + 106753032 @@ -20891,7 +21063,7 @@ 1 2 - 106674479 + 106753032 @@ -20907,57 +21079,57 @@ 1 2 - 106351 + 106429 2 3 - 40904 + 40934 3 4 - 16361 + 16373 4 6 - 29996 + 30018 6 8 - 24542 + 24560 8 9 - 12271 + 12280 9 10 - 23179 + 23196 10 18 - 28633 + 28654 18 48 - 25906 + 25925 52 250 - 25906 + 25925 342 73380 - 4090 + 4093 @@ -20973,52 +21145,52 @@ 1 2 - 124076 + 124167 2 3 - 46358 + 46392 3 4 - 17725 + 17738 4 5 - 14998 + 15009 5 6 - 19088 + 19102 6 8 - 28633 + 28654 8 10 - 28633 + 28654 10 21 - 27269 + 27289 22 128 - 25906 + 25925 130 229 - 5453 + 5457 @@ -21034,37 +21206,37 @@ 1 2 - 186796 + 186934 2 3 - 49085 + 49121 3 4 - 24542 + 24560 4 6 - 20452 + 20467 6 9 - 20452 + 20467 9 38 - 25906 + 25925 45 888 - 10907 + 10915 @@ -21080,42 +21252,42 @@ 1 2 - 184069 + 184205 2 3 - 36813 + 36841 3 4 - 17725 + 17738 4 5 - 13634 + 13644 5 7 - 29996 + 30018 7 16 - 25906 + 25925 17 114 - 27269 + 27289 118 131 - 2726 + 2728 @@ -21131,32 +21303,32 @@ 1 2 - 1674351 + 1675584 2 3 - 429495 + 429812 3 4 - 178615 + 178747 4 8 - 214066 + 214223 8 777 - 224973 + 225139 777 888 - 29996 + 30018 @@ -21172,17 +21344,17 @@ 1 2 - 2271555 + 2273228 2 3 - 291784 + 291999 3 17 - 188160 + 188298 @@ -21198,32 +21370,32 @@ 1 2 - 1674351 + 1675584 2 3 - 429495 + 429812 3 4 - 178615 + 178747 4 8 - 214066 + 214223 8 777 - 224973 + 225139 777 888 - 29996 + 30018 @@ -21239,7 +21411,7 @@ 1 2 - 2751499 + 2753526 @@ -21255,67 +21427,67 @@ 2 8 - 102260 + 102336 9 76 - 96806 + 96878 76 82 - 91353 + 91420 82 89 - 87262 + 87326 89 92 - 79081 + 79139 92 95 - 95443 + 95513 95 97 - 106351 + 106429 97 98 - 149982 + 150093 98 99 - 92716 + 92784 99 104 - 110441 + 110523 104 106 - 92716 + 92784 106 159 - 91353 + 91420 162 2019 - 13634 + 13644 @@ -21331,22 +21503,22 @@ 1 2 - 980341 + 981063 2 5 - 89989 + 90055 5 9 - 103624 + 103700 9 150 - 35450 + 35476 @@ -21362,67 +21534,67 @@ 2 8 - 102260 + 102336 9 76 - 96806 + 96878 76 82 - 91353 + 91420 82 89 - 87262 + 87326 89 92 - 79081 + 79139 92 95 - 95443 + 95513 95 97 - 106351 + 106429 97 98 - 149982 + 150093 98 99 - 92716 + 92784 99 104 - 110441 + 110523 104 106 - 92716 + 92784 106 159 - 91353 + 91420 162 2019 - 13634 + 13644 @@ -21438,67 +21610,67 @@ 2 8 - 102260 + 102336 9 76 - 96806 + 96878 76 82 - 91353 + 91420 82 89 - 87262 + 87326 89 92 - 79081 + 79139 92 95 - 95443 + 95513 95 97 - 106351 + 106429 97 98 - 149982 + 150093 98 99 - 92716 + 92784 99 104 - 110441 + 110523 104 106 - 92716 + 92784 106 139 - 91353 + 91420 141 589 - 13634 + 13644 @@ -21514,57 +21686,57 @@ 1 2 - 58629 + 58672 2 3 - 134984 + 135083 3 4 - 177252 + 177382 4 5 - 74991 + 75046 5 7 - 59993 + 60037 7 10 - 66810 + 66859 10 31 - 62720 + 62766 35 694 - 61356 + 61401 738 776 - 20452 + 20467 777 779 - 65446 + 65495 788 889 - 19088 + 19102 @@ -21580,37 +21752,37 @@ 1 2 - 58629 + 58672 2 3 - 399499 + 399793 3 4 - 139074 + 139177 4 5 - 65446 + 65495 5 6 - 61356 + 61401 6 9 - 65446 + 65495 9 69 - 12271 + 12280 @@ -21626,27 +21798,27 @@ 1 2 - 58629 + 58672 2 3 - 568570 + 568989 3 4 - 57266 + 57308 4 6 - 58629 + 58672 6 165 - 58629 + 58672 @@ -21662,42 +21834,42 @@ 1 2 - 203158 + 203307 2 3 - 219520 + 219681 3 4 - 88626 + 88691 4 7 - 66810 + 66859 7 17 - 66810 + 66859 18 763 - 61356 + 61401 764 777 - 65446 + 65495 777 888 - 29996 + 30018 @@ -21707,31 +21879,31 @@ xmlAttrs - 129755446 + 129850995 id - 129755446 + 129850995 elementid - 105766403 + 105844287 name - 512667 + 513045 value - 8197233 + 8203269 idx - 31360 + 31383 fileid - 800361 + 800951 @@ -21745,7 +21917,7 @@ 1 2 - 129755446 + 129850995 @@ -21761,7 +21933,7 @@ 1 2 - 129755446 + 129850995 @@ -21777,7 +21949,7 @@ 1 2 - 129755446 + 129850995 @@ -21793,7 +21965,7 @@ 1 2 - 129755446 + 129850995 @@ -21809,7 +21981,7 @@ 1 2 - 129755446 + 129850995 @@ -21825,17 +21997,17 @@ 1 2 - 96786532 + 96857804 2 6 - 7953171 + 7959027 6 24 - 1026699 + 1027455 @@ -21851,17 +22023,17 @@ 1 2 - 96786532 + 96857804 2 6 - 7966805 + 7972672 6 23 - 1013064 + 1013810 @@ -21877,17 +22049,17 @@ 1 2 - 96839708 + 96911018 2 6 - 8006346 + 8012242 6 21 - 920348 + 921025 @@ -21903,17 +22075,17 @@ 1 2 - 96786532 + 96857804 2 6 - 7953171 + 7959027 6 24 - 1026699 + 1027455 @@ -21929,7 +22101,7 @@ 1 2 - 105766403 + 105844287 @@ -21945,62 +22117,62 @@ 1 2 - 106351 + 106429 2 3 - 55902 + 55943 3 4 - 31360 + 31383 4 5 - 17725 + 17738 5 6 - 29996 + 30018 6 8 - 36813 + 36841 8 11 - 42267 + 42298 11 22 - 39540 + 39569 23 38 - 40904 + 40934 38 79 - 40904 + 40934 81 168 - 39540 + 39569 168 74700 - 31360 + 31383 @@ -22016,62 +22188,62 @@ 1 2 - 106351 + 106429 2 3 - 55902 + 55943 3 4 - 31360 + 31383 4 5 - 17725 + 17738 5 6 - 29996 + 30018 6 8 - 36813 + 36841 8 11 - 46358 + 46392 11 25 - 43631 + 43663 25 39 - 42267 + 42298 43 91 - 40904 + 40934 91 227 - 39540 + 39569 227 74700 - 21815 + 21831 @@ -22087,42 +22259,42 @@ 1 2 - 215429 + 215588 2 3 - 80445 + 80504 3 4 - 34086 + 34112 4 5 - 36813 + 36841 5 9 - 42267 + 42298 9 21 - 39540 + 39569 22 64 - 42267 + 42298 68 2100 - 21815 + 21831 @@ -22138,37 +22310,37 @@ 1 2 - 201794 + 201943 2 3 - 95443 + 95513 3 4 - 49085 + 49121 4 5 - 54539 + 54579 5 7 - 32723 + 32747 7 10 - 40904 + 40934 10 21 - 38177 + 38205 @@ -22184,52 +22356,52 @@ 1 2 - 178615 + 178747 2 3 - 53175 + 53214 3 4 - 27269 + 27289 4 5 - 24542 + 24560 5 6 - 38177 + 38205 6 9 - 42267 + 42298 9 17 - 44994 + 45027 17 34 - 39540 + 39569 36 91 - 39540 + 39569 91 223 - 24542 + 24560 @@ -22245,37 +22417,37 @@ 1 2 - 4477663 + 4480961 2 3 - 1212132 + 1213025 3 5 - 628563 + 629026 5 31 - 617655 + 618110 31 91 - 644925 + 645400 91 1111 - 614928 + 615381 3397 3398 - 1363 + 1364 @@ -22291,32 +22463,32 @@ 1 2 - 4567653 + 4571017 2 3 - 1154866 + 1155716 3 5 - 636744 + 637213 5 33 - 646288 + 646764 33 93 - 632654 + 633119 93 3398 - 559026 + 559437 @@ -22332,17 +22504,17 @@ 1 2 - 7439139 + 7444617 2 4 - 659923 + 660409 4 53 - 98170 + 98242 @@ -22358,17 +22530,17 @@ 1 2 - 6788760 + 6793759 2 3 - 991248 + 991978 3 20 - 417224 + 417531 @@ -22384,32 +22556,32 @@ 1 2 - 5276662 + 5280548 2 3 - 888988 + 889642 3 10 - 636744 + 637213 10 83 - 623109 + 623568 83 99 - 625836 + 626297 99 182 - 145892 + 145999 @@ -22425,62 +22597,62 @@ 1 6 - 2726 + 2728 12 14 - 2726 + 2728 17 26 - 2726 + 2728 39 56 - 2726 + 2728 83 110 - 2726 + 2728 153 232 - 2726 + 2728 316 400 - 2726 + 2728 468 545 - 2726 + 2728 626 754 - 2726 + 2728 951 1491 - 2726 + 2728 4718 6587 - 2726 + 2728 77571 77572 - 1363 + 1364 @@ -22496,62 +22668,62 @@ 1 6 - 2726 + 2728 12 14 - 2726 + 2728 17 26 - 2726 + 2728 39 56 - 2726 + 2728 83 110 - 2726 + 2728 153 232 - 2726 + 2728 316 400 - 2726 + 2728 468 545 - 2726 + 2728 626 754 - 2726 + 2728 951 1491 - 2726 + 2728 4718 6587 - 2726 + 2728 77571 77572 - 1363 + 1364 @@ -22567,62 +22739,62 @@ 1 4 - 2726 + 2728 7 10 - 2726 + 2728 11 17 - 2726 + 2728 18 23 - 2726 + 2728 26 38 - 2726 + 2728 39 49 - 2726 + 2728 57 67 - 2726 + 2728 72 79 - 2726 + 2728 95 101 - 2726 + 2728 105 106 - 2726 + 2728 106 132 - 2726 + 2728 140 141 - 1363 + 1364 @@ -22638,62 +22810,62 @@ 1 5 - 2726 + 2728 7 10 - 2726 + 2728 11 18 - 2726 + 2728 22 32 - 2726 + 2728 46 63 - 2726 + 2728 85 119 - 2726 + 2728 142 185 - 2726 + 2728 212 228 - 2726 + 2728 253 275 - 2726 + 2728 307 423 - 2726 + 2728 580 1324 - 2726 + 2728 3579 3580 - 1363 + 1364 @@ -22709,62 +22881,62 @@ 1 6 - 2726 + 2728 7 8 - 2726 + 2728 10 19 - 2726 + 2728 23 36 - 2726 + 2728 45 59 - 2726 + 2728 73 97 - 2726 + 2728 115 131 - 2726 + 2728 140 148 - 2726 + 2728 168 181 - 2726 + 2728 248 363 - 2726 + 2728 473 530 - 2726 + 2728 587 588 - 1363 + 1364 @@ -22780,72 +22952,72 @@ 1 3 - 59993 + 60037 3 5 - 61356 + 61401 5 6 - 36813 + 36841 6 7 - 61356 + 61401 7 8 - 51812 + 51850 8 10 - 58629 + 58672 10 15 - 65446 + 65495 15 27 - 61356 + 61401 27 41 - 61356 + 61401 41 65 - 61356 + 61401 65 157 - 65446 + 65495 162 817 - 61356 + 61401 818 832 - 66810 + 66859 832 1187 - 27269 + 27289 @@ -22861,52 +23033,52 @@ 1 2 - 91353 + 91420 2 3 - 188160 + 188298 3 4 - 113168 + 113252 4 5 - 77718 + 77775 5 8 - 72264 + 72317 8 14 - 61356 + 61401 14 295 - 61356 + 61401 330 775 - 50448 + 50485 776 778 - 65446 + 65495 787 888 - 19088 + 19102 @@ -22922,62 +23094,62 @@ 1 2 - 50448 + 50485 2 3 - 65446 + 65495 3 4 - 50448 + 50485 4 5 - 66810 + 66859 5 6 - 121349 + 121438 6 7 - 114532 + 114616 7 8 - 50448 + 50485 8 12 - 61356 + 61401 12 18 - 69537 + 69588 18 24 - 68173 + 68224 24 37 - 62720 + 62766 37 55 - 19088 + 19102 @@ -22993,67 +23165,67 @@ 1 3 - 69537 + 69588 3 4 - 39540 + 39569 4 5 - 73627 + 73682 5 6 - 88626 + 88691 6 8 - 62720 + 62766 8 12 - 70900 + 70953 12 19 - 61356 + 61401 19 27 - 69537 + 69588 27 41 - 61356 + 61401 42 170 - 61356 + 61401 205 780 - 57266 + 57308 781 783 - 65446 + 65495 791 893 - 19088 + 19102 @@ -23069,47 +23241,47 @@ 1 2 - 79081 + 79139 2 3 - 76354 + 76411 3 4 - 151346 + 151457 4 5 - 155436 + 155551 5 6 - 92716 + 92784 6 10 - 68173 + 68224 10 12 - 46358 + 46392 12 15 - 69537 + 69588 15 24 - 61356 + 61401 @@ -23119,23 +23291,23 @@ xmlNs - 1285760 + 1286707 id - 8180 + 8186 prefixName - 9544 + 9551 URI - 8180 + 8186 fileid - 748549 + 749100 @@ -23149,12 +23321,12 @@ 1 2 - 6817 + 6822 2 3 - 1363 + 1364 @@ -23170,7 +23342,7 @@ 1 2 - 8180 + 8186 @@ -23186,32 +23358,32 @@ 2 3 - 1363 + 1364 20 21 - 1363 + 1364 88 89 - 1363 + 1364 167 168 - 1363 + 1364 213 214 - 1363 + 1364 453 454 - 1363 + 1364 @@ -23227,7 +23399,7 @@ 1 2 - 9544 + 9551 @@ -23243,7 +23415,7 @@ 1 2 - 9544 + 9551 @@ -23259,37 +23431,37 @@ 1 2 - 1363 + 1364 2 3 - 1363 + 1364 20 21 - 1363 + 1364 88 89 - 1363 + 1364 166 167 - 1363 + 1364 213 214 - 1363 + 1364 453 454 - 1363 + 1364 @@ -23305,7 +23477,7 @@ 1 2 - 8180 + 8186 @@ -23321,12 +23493,12 @@ 1 2 - 6817 + 6822 2 3 - 1363 + 1364 @@ -23342,32 +23514,32 @@ 2 3 - 1363 + 1364 20 21 - 1363 + 1364 88 89 - 1363 + 1364 167 168 - 1363 + 1364 213 214 - 1363 + 1364 453 454 - 1363 + 1364 @@ -23383,17 +23555,17 @@ 1 2 - 334052 + 334298 2 3 - 291784 + 291999 3 4 - 122713 + 122803 @@ -23409,17 +23581,17 @@ 1 2 - 334052 + 334298 2 3 - 291784 + 291999 3 4 - 122713 + 122803 @@ -23435,17 +23607,17 @@ 1 2 - 334052 + 334298 2 3 - 291784 + 291999 3 4 - 122713 + 122803 @@ -23455,19 +23627,19 @@ xmlHasNs - 25937454 + 25956554 elementId - 25937454 + 25956554 nsId - 8180 + 8186 fileid - 744459 + 745007 @@ -23481,7 +23653,7 @@ 1 2 - 25937454 + 25956554 @@ -23497,7 +23669,7 @@ 1 2 - 25937454 + 25956554 @@ -23513,32 +23685,32 @@ 13 14 - 1363 + 1364 84 85 - 1363 + 1364 2426 2427 - 1363 + 1364 2733 2734 - 1363 + 1364 3704 3705 - 1363 + 1364 10063 10064 - 1363 + 1364 @@ -23554,32 +23726,32 @@ 2 3 - 1363 + 1364 20 21 - 1363 + 1364 86 87 - 1363 + 1364 164 165 - 1363 + 1364 209 210 - 1363 + 1364 453 454 - 1363 + 1364 @@ -23595,77 +23767,77 @@ 1 3 - 44994 + 45027 3 5 - 62720 + 62766 5 6 - 34086 + 34112 6 7 - 65446 + 65495 7 8 - 49085 + 49121 8 10 - 61356 + 61401 10 15 - 65446 + 65495 15 25 - 55902 + 55943 25 36 - 57266 + 57308 36 49 - 58629 + 58672 49 54 - 14998 + 15009 54 55 - 58629 + 58672 55 81 - 57266 + 57308 81 298 - 55902 + 55943 298 833 - 2726 + 2728 @@ -23681,17 +23853,17 @@ 1 2 - 335415 + 335662 2 3 - 289057 + 289270 3 4 - 119986 + 120074 @@ -23701,23 +23873,23 @@ xmlComments - 107367127 + 107446189 id - 107367127 + 107446189 text - 1694803 + 1696051 parentid - 841266 + 841885 fileid - 786727 + 787306 @@ -23731,7 +23903,7 @@ 1 2 - 107367127 + 107446189 @@ -23747,7 +23919,7 @@ 1 2 - 107367127 + 107446189 @@ -23763,7 +23935,7 @@ 1 2 - 107367127 + 107446189 @@ -23779,67 +23951,67 @@ 1 2 - 233154 + 233326 2 7 - 139074 + 139177 7 32 - 140438 + 140541 32 61 - 128166 + 128261 61 76 - 128166 + 128261 76 84 - 136347 + 136448 84 90 - 125440 + 125532 90 94 - 111805 + 111887 94 95 - 59993 + 60037 95 96 - 100897 + 100971 96 98 - 140438 + 140541 98 100 - 126803 + 126896 100 460 - 124076 + 124167 @@ -23855,67 +24027,67 @@ 1 2 - 235881 + 236055 2 6 - 134984 + 135083 6 32 - 143165 + 143270 32 61 - 129530 + 129625 61 75 - 132257 + 132354 75 84 - 148619 + 148728 84 90 - 122713 + 122803 90 94 - 119986 + 120074 94 95 - 66810 + 66859 95 96 - 103624 + 103700 96 98 - 143165 + 143270 98 100 - 134984 + 135083 100 460 - 79081 + 79139 @@ -23931,67 +24103,67 @@ 1 2 - 246789 + 246971 2 7 - 133620 + 133719 7 32 - 133620 + 133719 32 61 - 129530 + 129625 61 75 - 132257 + 132354 75 84 - 148619 + 148728 84 90 - 122713 + 122803 90 94 - 119986 + 120074 94 95 - 66810 + 66859 95 96 - 103624 + 103700 96 98 - 143165 + 143270 98 100 - 134984 + 135083 100 460 - 79081 + 79139 @@ -24007,22 +24179,22 @@ 1 2 - 669468 + 669961 2 724 - 64083 + 64130 726 830 - 77718 + 77775 831 941 - 29996 + 30018 @@ -24038,27 +24210,27 @@ 1 2 - 669468 + 669961 2 697 - 64083 + 64130 697 795 - 34086 + 34112 795 827 - 64083 + 64130 838 899 - 9544 + 9551 @@ -24074,7 +24246,7 @@ 1 2 - 841266 + 841885 @@ -24090,27 +24262,27 @@ 1 2 - 601294 + 601736 2 549 - 59993 + 60037 579 829 - 40904 + 40934 829 832 - 65446 + 65495 834 941 - 19088 + 19102 @@ -24126,27 +24298,27 @@ 1 2 - 601294 + 601736 2 536 - 59993 + 60037 560 795 - 51812 + 51850 795 812 - 59993 + 60037 819 899 - 13634 + 13644 @@ -24162,12 +24334,12 @@ 1 2 - 747186 + 747736 2 6 - 39540 + 39569 @@ -24177,31 +24349,31 @@ xmlChars - 101461901 + 101536615 id - 101461901 + 101536615 text - 77920078 + 77977457 parentid - 101461901 + 101536615 idx - 1363 + 1364 isCDATA - 2726 + 2728 fileid - 177252 + 177382 @@ -24215,7 +24387,7 @@ 1 2 - 101461901 + 101536615 @@ -24231,7 +24403,7 @@ 1 2 - 101461901 + 101536615 @@ -24247,7 +24419,7 @@ 1 2 - 101461901 + 101536615 @@ -24263,7 +24435,7 @@ 1 2 - 101461901 + 101536615 @@ -24279,7 +24451,7 @@ 1 2 - 101461901 + 101536615 @@ -24295,17 +24467,17 @@ 1 2 - 66672743 + 66721839 2 3 - 7002826 + 7007983 3 128 - 4244509 + 4247634 @@ -24321,17 +24493,17 @@ 1 2 - 66672743 + 66721839 2 3 - 7002826 + 7007983 3 128 - 4244509 + 4247634 @@ -24347,7 +24519,7 @@ 1 2 - 77920078 + 77977457 @@ -24363,7 +24535,7 @@ 1 2 - 77920078 + 77977457 @@ -24379,12 +24551,12 @@ 1 2 - 74553649 + 74608549 2 76 - 3366428 + 3368907 @@ -24400,7 +24572,7 @@ 1 2 - 101461901 + 101536615 @@ -24416,7 +24588,7 @@ 1 2 - 101461901 + 101536615 @@ -24432,7 +24604,7 @@ 1 2 - 101461901 + 101536615 @@ -24448,7 +24620,7 @@ 1 2 - 101461901 + 101536615 @@ -24464,7 +24636,7 @@ 1 2 - 101461901 + 101536615 @@ -24480,7 +24652,7 @@ 74414 74415 - 1363 + 1364 @@ -24496,7 +24668,7 @@ 57148 57149 - 1363 + 1364 @@ -24512,7 +24684,7 @@ 74414 74415 - 1363 + 1364 @@ -24528,7 +24700,7 @@ 2 3 - 1363 + 1364 @@ -24544,7 +24716,7 @@ 130 131 - 1363 + 1364 @@ -24560,12 +24732,12 @@ 518 519 - 1363 + 1364 73896 73897 - 1363 + 1364 @@ -24581,12 +24753,12 @@ 492 493 - 1363 + 1364 56656 56657 - 1363 + 1364 @@ -24602,12 +24774,12 @@ 518 519 - 1363 + 1364 73896 73897 - 1363 + 1364 @@ -24623,7 +24795,7 @@ 1 2 - 2726 + 2728 @@ -24639,12 +24811,12 @@ 98 99 - 1363 + 1364 130 131 - 1363 + 1364 @@ -24660,57 +24832,57 @@ 1 2 - 14998 + 15009 2 23 - 13634 + 13644 24 243 - 13634 + 13644 294 566 - 13634 + 13644 610 686 - 13634 + 13644 691 764 - 13634 + 13644 765 775 - 13634 + 13644 775 776 - 4090 + 4093 776 777 - 49085 + 49121 777 803 - 13634 + 13644 807 888 - 13634 + 13644 @@ -24726,67 +24898,67 @@ 1 2 - 14998 + 15009 2 21 - 13634 + 13644 22 188 - 13634 + 13644 208 492 - 13634 + 13644 525 589 - 13634 + 13644 590 638 - 13634 + 13644 639 651 - 13634 + 13644 652 656 - 12271 + 12280 656 659 - 16361 + 16373 659 663 - 14998 + 15009 663 667 - 13634 + 13644 667 701 - 13634 + 13644 702 744 - 9544 + 9551 @@ -24802,57 +24974,57 @@ 1 2 - 14998 + 15009 2 23 - 13634 + 13644 24 243 - 13634 + 13644 294 566 - 13634 + 13644 610 686 - 13634 + 13644 691 764 - 13634 + 13644 765 775 - 13634 + 13644 775 776 - 4090 + 4093 776 777 - 49085 + 49121 777 803 - 13634 + 13644 807 888 - 13634 + 13644 @@ -24868,7 +25040,7 @@ 1 2 - 177252 + 177382 @@ -24884,12 +25056,12 @@ 1 2 - 43631 + 43663 2 3 - 133620 + 133719 @@ -24899,15 +25071,15 @@ xmllocations - 447346440 + 447675856 xmlElement - 446068861 + 446397336 location - 419190606 + 419499288 @@ -24921,12 +25093,12 @@ 1 2 - 446060680 + 446389149 2 454 - 8180 + 8186 @@ -24942,12 +25114,12 @@ 1 2 - 409688523 + 409990208 2 25 - 9502082 + 9509079 @@ -25188,19 +25360,19 @@ ktComments - 133620 + 133719 id - 133620 + 133719 kind - 4090 + 4093 text - 96806 + 96878 @@ -25214,7 +25386,7 @@ 1 2 - 133620 + 133719 @@ -25230,7 +25402,7 @@ 1 2 - 133620 + 133719 @@ -25246,17 +25418,17 @@ 16 17 - 1363 + 1364 22 23 - 1363 + 1364 60 61 - 1363 + 1364 @@ -25272,17 +25444,17 @@ 1 2 - 1363 + 1364 16 17 - 1363 + 1364 54 55 - 1363 + 1364 @@ -25298,12 +25470,12 @@ 1 2 - 92716 + 92784 4 23 - 4090 + 4093 @@ -25319,7 +25491,7 @@ 1 2 - 96806 + 96878 @@ -25329,19 +25501,19 @@ ktCommentSections - 59545 + 59191 id - 59545 + 59191 comment - 54462 + 54069 content - 50556 + 50263 @@ -25355,7 +25527,7 @@ 1 2 - 59545 + 59191 @@ -25371,7 +25543,7 @@ 1 2 - 59545 + 59191 @@ -25387,12 +25559,12 @@ 1 2 - 52423 + 52013 2 18 - 2039 + 2055 @@ -25408,12 +25580,12 @@ 1 2 - 52423 + 52013 2 18 - 2039 + 2055 @@ -25429,17 +25601,17 @@ 1 2 - 44658 + 44482 2 3 - 4941 + 4801 3 63 - 956 + 979 @@ -25455,17 +25627,17 @@ 1 2 - 44768 + 44594 2 3 - 4847 + 4705 3 56 - 941 + 963 @@ -25475,15 +25647,15 @@ ktCommentSectionNames - 5082 + 5122 id - 5082 + 5122 name - 15 + 16 @@ -25497,7 +25669,7 @@ 1 2 - 5082 + 5122 @@ -25511,9 +25683,9 @@ 12 - 324 - 325 - 15 + 319 + 320 + 16 @@ -25523,15 +25695,15 @@ ktCommentSectionSubjectNames - 5082 + 5122 id - 5082 + 5122 subjectname - 3325 + 3388 @@ -25545,7 +25717,7 @@ 1 2 - 5082 + 5122 @@ -25561,22 +25733,22 @@ 1 2 - 2525 + 2601 2 3 - 501 + 497 3 - 9 - 250 + 10 + 256 - 10 + 13 16 - 47 + 32 @@ -25586,15 +25758,15 @@ ktCommentOwners - 84753 + 82540 id - 53694 + 53314 owner - 82651 + 80437 @@ -25608,22 +25780,22 @@ 1 2 - 34400 + 34638 2 3 - 12235 + 12076 3 4 - 4580 + 4496 4 6 - 2478 + 2103 @@ -25639,70 +25811,12 @@ 1 2 - 80564 - - - 2 - 4 - 2086 - - - - - - - - - ktBreakContinueTargets - 5129 - - - id - 5129 - - - target - 3764 - - - - - id - target - - - 12 - - - 1 - 2 - 5129 - - - - - - - target - id - - - 12 - - - 1 - 2 - 2807 + 78333 2 3 - 690 - - - 3 - 7 - 266 + 2103 @@ -25712,19 +25826,19 @@ ktExtensionFunctions - 702191 + 702708 id - 702191 + 702708 typeid - 84535 + 84597 kttypeid - 1363 + 1364 @@ -25738,7 +25852,7 @@ 1 2 - 702191 + 702708 @@ -25754,7 +25868,7 @@ 1 2 - 702191 + 702708 @@ -25770,37 +25884,37 @@ 1 2 - 53175 + 53214 2 3 - 6817 + 6822 3 4 - 1363 + 1364 4 5 - 6817 + 6822 5 12 - 6817 + 6822 12 69 - 6817 + 6822 84 174 - 2726 + 2728 @@ -25816,7 +25930,7 @@ 1 2 - 84535 + 84597 @@ -25832,7 +25946,7 @@ 515 516 - 1363 + 1364 @@ -25848,7 +25962,7 @@ 62 63 - 1363 + 1364 @@ -25858,15 +25972,15 @@ ktProperties - 26996877 + 30306525 id - 26996877 + 30306525 nodeName - 10684218 + 10692086 @@ -25880,7 +25994,7 @@ 1 2 - 26996877 + 30306525 @@ -25896,22 +26010,22 @@ 1 2 - 7928628 + 7886709 2 3 - 1254400 + 1215754 3 - 10 - 804452 + 8 + 809138 - 10 - 172 - 696737 + 8 + 554 + 780484 @@ -25921,15 +26035,15 @@ ktPropertyGetters - 3722296 + 4568288 id - 3722296 + 4568288 getter - 3722296 + 4568288 @@ -25943,7 +26057,7 @@ 1 2 - 3722296 + 4568288 @@ -25959,7 +26073,7 @@ 1 2 - 3722296 + 4568288 @@ -25969,15 +26083,15 @@ ktPropertySetters - 284967 + 290634 id - 284967 + 290634 setter - 284967 + 290634 @@ -25991,7 +26105,7 @@ 1 2 - 284967 + 290634 @@ -26007,7 +26121,7 @@ 1 2 - 284967 + 290634 @@ -26017,15 +26131,15 @@ ktPropertyBackingFields - 23584090 + 23606915 id - 23584090 + 23606915 backingField - 23584090 + 23606915 @@ -26039,7 +26153,7 @@ 1 2 - 23584090 + 23606915 @@ -26055,7 +26169,7 @@ 1 2 - 23584090 + 23606915 @@ -26065,15 +26179,15 @@ ktSyntheticBody - 10301 + 10307 id - 10301 + 10307 kind - 2060 + 2061 @@ -26087,7 +26201,7 @@ 1 2 - 10301 + 10307 @@ -26103,7 +26217,7 @@ 5 6 - 2060 + 2061 @@ -26113,37 +26227,37 @@ ktLocalFunction - 2726 + 2728 id - 2726 + 2728 ktInitializerAssignment - 392681 + 392971 id - 392681 + 392971 ktPropertyDelegates - 5247 + 5664 id - 5247 + 5664 variableId - 5247 + 5664 @@ -26157,7 +26271,7 @@ 1 2 - 5247 + 5664 @@ -26173,7 +26287,7 @@ 1 2 - 5247 + 5664 @@ -26183,15 +26297,15 @@ compiler_generated - 111 + 491650 id - 111 + 491650 kind - 2 + 5153 @@ -26205,7 +26319,7 @@ 1 2 - 111 + 491650 @@ -26219,9 +26333,29 @@ 12 - 42 - 43 - 2 + 2 + 3 + 1030 + + + 5 + 6 + 1030 + + + 10 + 11 + 1030 + + + 184 + 185 + 1030 + + + 276 + 277 + 1030 @@ -26231,15 +26365,15 @@ ktFunctionOriginalNames - 88629 + 1147529 id - 88629 + 1147529 name - 70718 + 79139 @@ -26253,7 +26387,7 @@ 1 2 - 88629 + 1147529 @@ -26269,17 +26403,27 @@ 1 2 - 57439 + 55943 2 - 3 - 10190 + 4 + 6822 - 3 - 8 - 3088 + 7 + 14 + 4093 + + + 16 + 31 + 6822 + + + 92 + 380 + 5457 diff --git a/java/ql/src/definitions.qll b/java/ql/lib/definitions.qll similarity index 100% rename from java/ql/src/definitions.qll rename to java/ql/lib/definitions.qll diff --git a/java/ql/src/localDefinitions.ql b/java/ql/lib/localDefinitions.ql similarity index 100% rename from java/ql/src/localDefinitions.ql rename to java/ql/lib/localDefinitions.ql diff --git a/java/ql/src/localReferences.ql b/java/ql/lib/localReferences.ql similarity index 100% rename from java/ql/src/localReferences.ql rename to java/ql/lib/localReferences.ql diff --git a/java/ql/src/printAst.ql b/java/ql/lib/printAst.ql similarity index 100% rename from java/ql/src/printAst.ql rename to java/ql/lib/printAst.ql diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 4a9cae91dcd..5fe704a4f35 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 0.2.3-dev +version: 0.3.3-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/lib/semmle/code/Location.qll b/java/ql/lib/semmle/code/Location.qll index d977395a83c..8bb81becb11 100755 --- a/java/ql/lib/semmle/code/Location.qll +++ b/java/ql/lib/semmle/code/Location.qll @@ -47,6 +47,8 @@ predicate hasName(Element e, string name) { kt_type_alias(e, name, _) or ktProperties(e, name) + or + e instanceof ErrorType and name = "" } /** diff --git a/java/ql/lib/semmle/code/java/Element.qll b/java/ql/lib/semmle/code/java/Element.qll index 553e447fa38..96c8a8c5c21 100755 --- a/java/ql/lib/semmle/code/java/Element.qll +++ b/java/ql/lib/semmle/code/java/Element.qll @@ -44,6 +44,27 @@ class Element extends @element, Top { /** Holds if this is an auxiliary program element generated by the compiler. */ predicate isCompilerGenerated() { compiler_generated(this, _) } + + /** Gets the reason this element was generated by the compiler, if any. */ + string compilerGeneratedReason() { + exists(int i | compiler_generated(this, i) | + i = 1 and result = "Declaring classes of adapter functions in Kotlin" + or + i = 2 and result = "Generated data class member" + or + i = 3 and result = "Default property accessor" + or + i = 4 and result = "Class initialisation method " + or + i = 5 and result = "Enum class special member" + or + i = 6 and result = "Getter for a Kotlin delegated property" + or + i = 7 and result = "Setter for a Kotlin delegated property" + or + i = 8 and result = "Proxy static method for a @JvmStatic-annotated function or property" + ) + } } /** diff --git a/java/ql/lib/semmle/code/java/Expr.qll b/java/ql/lib/semmle/code/java/Expr.qll index 48023e135af..2c969a8d442 100755 --- a/java/ql/lib/semmle/code/java/Expr.qll +++ b/java/ql/lib/semmle/code/java/Expr.qll @@ -100,6 +100,18 @@ class Expr extends ExprParent, @expr { /** Holds if this expression is parenthesized. */ predicate isParenthesized() { isParenthesized(this, _) } + + /** + * Gets the underlying expression looking through casts and not-nulls, if any. + * Otherwise just gets this expression. + */ + Expr getUnderlyingExpr() { + if this instanceof CastingExpr or this instanceof NotNullExpr + then + result = this.(CastingExpr).getExpr().getUnderlyingExpr() or + result = this.(NotNullExpr).getExpr().getUnderlyingExpr() + else result = this + } } /** diff --git a/java/ql/lib/semmle/code/java/Modifier.qll b/java/ql/lib/semmle/code/java/Modifier.qll index d3971e42e59..8f947383d1e 100755 --- a/java/ql/lib/semmle/code/java/Modifier.qll +++ b/java/ql/lib/semmle/code/java/Modifier.qll @@ -58,6 +58,9 @@ abstract class Modifiable extends Element { /** Holds if this element has an `internal` modifier. */ predicate isInternal() { this.hasModifier("internal") } + /** Holds if this element has an `inline` modifier. */ + predicate isInline() { this.hasModifier("inline") } + /** Holds if this element has a `volatile` modifier. */ predicate isVolatile() { this.hasModifier("volatile") } diff --git a/java/ql/lib/semmle/code/java/PrintAst.qll b/java/ql/lib/semmle/code/java/PrintAst.qll index 05453baa045..9d88550faa3 100644 --- a/java/ql/lib/semmle/code/java/PrintAst.qll +++ b/java/ql/lib/semmle/code/java/PrintAst.qll @@ -534,10 +534,12 @@ final class ClassInterfaceNode extends ElementNode { or childIndex >= 0 and result.(ElementNode).getElement() = - rank[childIndex](Element e, string file, int line, int column | - e = this.getADeclaration() and locationSortKeys(e, file, line, column) + rank[childIndex](Element e, string file, int line, int column, string childStr | + e = this.getADeclaration() and + locationSortKeys(e, file, line, column) and + childStr = e.toString() | - e order by file, line, column + e order by file, line, column, childStr ) } } diff --git a/java/ql/lib/semmle/code/java/Statement.qll b/java/ql/lib/semmle/code/java/Statement.qll index bbd2d15a47b..2c8cff3c217 100755 --- a/java/ql/lib/semmle/code/java/Statement.qll +++ b/java/ql/lib/semmle/code/java/Statement.qll @@ -29,7 +29,8 @@ class Stmt extends StmtParent, ExprParent, @stmt { */ Stmt getEnclosingStmt() { result = this.getParent() or - result = this.getParent().(SwitchExpr).getEnclosingStmt() + result = this.getParent().(SwitchExpr).getEnclosingStmt() or + result = this.getParent().(WhenExpr).getEnclosingStmt() } /** Holds if this statement is the child of the specified parent at the specified (zero-based) position. */ @@ -887,27 +888,3 @@ class SuperConstructorInvocationStmt extends Stmt, ConstructorCall, @superconstr override string getAPrimaryQlClass() { result = "SuperConstructorInvocationStmt" } } - -/** A Kotlin loop statement. */ -class KtLoopStmt extends Stmt, @ktloopstmt { - KtLoopStmt() { - this instanceof WhileStmt or - this instanceof DoStmt - } -} - -/** A Kotlin `break` or `continue` statement. */ -abstract class KtBreakContinueStmt extends Stmt, @breakcontinuestmt { - KtLoopStmt loop; - - KtBreakContinueStmt() { ktBreakContinueTargets(this, loop) } - - /** Gets the target loop statement of this `break`. */ - KtLoopStmt getLoopStmt() { result = loop } -} - -/** A Kotlin `break` statement. */ -class KtBreakStmt extends BreakStmt, KtBreakContinueStmt { } - -/** A Kotlin `continue` statement. */ -class KtContinueStmt extends ContinueStmt, KtBreakContinueStmt { } diff --git a/java/ql/lib/semmle/code/java/Type.qll b/java/ql/lib/semmle/code/java/Type.qll index a37f9810c44..256df5d66f3 100755 --- a/java/ql/lib/semmle/code/java/Type.qll +++ b/java/ql/lib/semmle/code/java/Type.qll @@ -413,8 +413,12 @@ class RefType extends Type, Annotatable, Modifiable, @reftype { /** Gets a direct or indirect supertype of this type, including itself. */ RefType getAnAncestor() { hasDescendant(result, this) } - /** Gets a direct or indirect supertype of this type, not including itself. */ - RefType getAStrictAncestor() { result = this.getAnAncestor() and result != this } + /** + * Gets a direct or indirect supertype of this type. + * This does not including itself, unless this type is part of a cycle + * in the type hierarchy. + */ + RefType getAStrictAncestor() { result = this.getASupertype().getAnAncestor() } /** * Gets the source declaration of a direct supertype of this type, excluding itself. @@ -666,6 +670,14 @@ class RefType extends Type, Annotatable, Modifiable, @reftype { } } +/** + * An `ErrorType` is generated when CodeQL is unable to correctly + * extract a type. + */ +class ErrorType extends RefType, @errortype { + override string getAPrimaryQlClass() { result = "ErrorType" } +} + /** A type that is the same as its source declaration. */ class SrcRefType extends RefType { SrcRefType() { this.isSourceDeclaration() } @@ -1182,8 +1194,8 @@ private Type erase(Type t) { } /** - * Is there a common (reflexive, transitive) subtype of the erasures of - * types `t1` and `t2`? + * Holds if there is a common (reflexive, transitive) subtype of the erasures of + * types `t1` and `t2`. * * If there is no such common subtype, then the two types are disjoint. * However, the converse is not true; for example, the parameterized types @@ -1200,6 +1212,25 @@ predicate haveIntersection(RefType t1, RefType t2) { ) } +/** + * Holds if there is no common (reflexive, transitive) subtype of the erasures + * of types `t1` and `t2`. + * + * If there is no such common subtype, then the two types are disjoint. + * However, the converse is not true; for example, the parameterized types + * `List` and `Collection` are disjoint, + * but their erasures (`List` and `Collection`, respectively) + * do have common subtypes (such as `List` itself). + * + * For the definition of the notion of *erasure* see JLS v8, section 4.6 (Type Erasure). + */ +bindingset[t1, t2] +predicate notHaveIntersection(RefType t1, RefType t2) { + exists(RefType e1, RefType e2 | e1 = erase(t1) and e2 = erase(t2) | + not erasedHaveIntersection(e1, e2) + ) +} + /** * Holds if there is a common (reflexive, transitive) subtype of the erased * types `t1` and `t2`. diff --git a/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll b/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll index 6a6f8faed18..e8c1034a83a 100644 --- a/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/ExternalFlow.qll @@ -62,6 +62,10 @@ * sources "remote" indicates a default remote flow source, and for summaries * "taint" indicates a default additional taint step and "value" indicates a * globally applicable value-preserving step. + * 9. The `provenance` column is a tag to indicate the origin of the summary. + * There are two supported values: "generated" and "manual". "generated" means that + * the model has been emitted by the model generator tool and "manual" means + * that the model has been written by hand. */ import java @@ -80,6 +84,7 @@ private module Frameworks { private import internal.ContainerFlow private import semmle.code.java.frameworks.android.Android private import semmle.code.java.frameworks.android.ContentProviders + private import semmle.code.java.frameworks.android.ExternalStorage private import semmle.code.java.frameworks.android.Intent private import semmle.code.java.frameworks.android.Notifications private import semmle.code.java.frameworks.android.SharedPreferences @@ -151,112 +156,112 @@ private predicate sourceModelCsv(string row) { row = [ // org.springframework.security.web.savedrequest.SavedRequest - "org.springframework.security.web.savedrequest;SavedRequest;true;getRedirectUrl;;;ReturnValue;remote", - "org.springframework.security.web.savedrequest;SavedRequest;true;getCookies;;;ReturnValue;remote", - "org.springframework.security.web.savedrequest;SavedRequest;true;getHeaderValues;;;ReturnValue;remote", - "org.springframework.security.web.savedrequest;SavedRequest;true;getHeaderNames;;;ReturnValue;remote", - "org.springframework.security.web.savedrequest;SavedRequest;true;getParameterValues;;;ReturnValue;remote", - "org.springframework.security.web.savedrequest;SavedRequest;true;getParameterMap;;;ReturnValue;remote", + "org.springframework.security.web.savedrequest;SavedRequest;true;getRedirectUrl;;;ReturnValue;remote;manual", + "org.springframework.security.web.savedrequest;SavedRequest;true;getCookies;;;ReturnValue;remote;manual", + "org.springframework.security.web.savedrequest;SavedRequest;true;getHeaderValues;;;ReturnValue;remote;manual", + "org.springframework.security.web.savedrequest;SavedRequest;true;getHeaderNames;;;ReturnValue;remote;manual", + "org.springframework.security.web.savedrequest;SavedRequest;true;getParameterValues;;;ReturnValue;remote;manual", + "org.springframework.security.web.savedrequest;SavedRequest;true;getParameterMap;;;ReturnValue;remote;manual", // ServletRequestGetParameterMethod - "javax.servlet;ServletRequest;false;getParameter;(String);;ReturnValue;remote", - "javax.servlet;ServletRequest;false;getParameterValues;(String);;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getParameter;(String);;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getParameterValues;(String);;ReturnValue;remote", + "javax.servlet;ServletRequest;false;getParameter;(String);;ReturnValue;remote;manual", + "javax.servlet;ServletRequest;false;getParameterValues;(String);;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getParameter;(String);;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getParameterValues;(String);;ReturnValue;remote;manual", // ServletRequestGetParameterMapMethod - "javax.servlet;ServletRequest;false;getParameterMap;();;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getParameterMap;();;ReturnValue;remote", + "javax.servlet;ServletRequest;false;getParameterMap;();;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getParameterMap;();;ReturnValue;remote;manual", // ServletRequestGetParameterNamesMethod - "javax.servlet;ServletRequest;false;getParameterNames;();;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getParameterNames;();;ReturnValue;remote", + "javax.servlet;ServletRequest;false;getParameterNames;();;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getParameterNames;();;ReturnValue;remote;manual", // HttpServletRequestGetQueryStringMethod - "javax.servlet.http;HttpServletRequest;false;getQueryString;();;ReturnValue;remote", + "javax.servlet.http;HttpServletRequest;false;getQueryString;();;ReturnValue;remote;manual", // // URLConnectionGetInputStreamMethod - "java.net;URLConnection;false;getInputStream;();;ReturnValue;remote", + "java.net;URLConnection;false;getInputStream;();;ReturnValue;remote;manual", // SocketGetInputStreamMethod - "java.net;Socket;false;getInputStream;();;ReturnValue;remote", + "java.net;Socket;false;getInputStream;();;ReturnValue;remote;manual", // BeanValidationSource - "javax.validation;ConstraintValidator;true;isValid;;;Parameter[0];remote", + "javax.validation;ConstraintValidator;true;isValid;;;Parameter[0];remote;manual", // SpringMultipartRequestSource - "org.springframework.web.multipart;MultipartRequest;true;getFile;(String);;ReturnValue;remote", - "org.springframework.web.multipart;MultipartRequest;true;getFileMap;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartRequest;true;getFileNames;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartRequest;true;getFiles;(String);;ReturnValue;remote", - "org.springframework.web.multipart;MultipartRequest;true;getMultiFileMap;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartRequest;true;getMultipartContentType;(String);;ReturnValue;remote", + "org.springframework.web.multipart;MultipartRequest;true;getFile;(String);;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFileMap;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFileNames;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFiles;(String);;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartRequest;true;getMultiFileMap;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartRequest;true;getMultipartContentType;(String);;ReturnValue;remote;manual", // SpringMultipartFileSource - "org.springframework.web.multipart;MultipartFile;true;getBytes;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartFile;true;getContentType;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartFile;true;getInputStream;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartFile;true;getName;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartFile;true;getOriginalFilename;();;ReturnValue;remote", - "org.springframework.web.multipart;MultipartFile;true;getResource;();;ReturnValue;remote", + "org.springframework.web.multipart;MultipartFile;true;getBytes;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartFile;true;getContentType;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartFile;true;getInputStream;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartFile;true;getName;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartFile;true;getOriginalFilename;();;ReturnValue;remote;manual", + "org.springframework.web.multipart;MultipartFile;true;getResource;();;ReturnValue;remote;manual", // HttpServletRequest.get* - "javax.servlet.http;HttpServletRequest;false;getHeader;(String);;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getHeaders;(String);;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getHeaderNames;();;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getPathInfo;();;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getRequestURI;();;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getRequestURL;();;ReturnValue;remote", - "javax.servlet.http;HttpServletRequest;false;getRemoteUser;();;ReturnValue;remote", + "javax.servlet.http;HttpServletRequest;false;getHeader;(String);;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getHeaders;(String);;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getHeaderNames;();;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getPathInfo;();;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getRequestURI;();;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getRequestURL;();;ReturnValue;remote;manual", + "javax.servlet.http;HttpServletRequest;false;getRemoteUser;();;ReturnValue;remote;manual", // SpringWebRequestGetMethod - "org.springframework.web.context.request;WebRequest;false;getDescription;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getHeader;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getHeaderNames;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getHeaderValues;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getParameter;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getParameterMap;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getParameterNames;;;ReturnValue;remote", - "org.springframework.web.context.request;WebRequest;false;getParameterValues;;;ReturnValue;remote", + "org.springframework.web.context.request;WebRequest;false;getDescription;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getHeader;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getHeaderNames;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getHeaderValues;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getParameter;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getParameterMap;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getParameterNames;;;ReturnValue;remote;manual", + "org.springframework.web.context.request;WebRequest;false;getParameterValues;;;ReturnValue;remote;manual", // TODO consider org.springframework.web.context.request.WebRequest.getRemoteUser // ServletRequestGetBodyMethod - "javax.servlet;ServletRequest;false;getInputStream;();;ReturnValue;remote", - "javax.servlet;ServletRequest;false;getReader;();;ReturnValue;remote", + "javax.servlet;ServletRequest;false;getInputStream;();;ReturnValue;remote;manual", + "javax.servlet;ServletRequest;false;getReader;();;ReturnValue;remote;manual", // CookieGet* - "javax.servlet.http;Cookie;false;getValue;();;ReturnValue;remote", - "javax.servlet.http;Cookie;false;getName;();;ReturnValue;remote", - "javax.servlet.http;Cookie;false;getComment;();;ReturnValue;remote", + "javax.servlet.http;Cookie;false;getValue;();;ReturnValue;remote;manual", + "javax.servlet.http;Cookie;false;getName;();;ReturnValue;remote;manual", + "javax.servlet.http;Cookie;false;getComment;();;ReturnValue;remote;manual", // ApacheHttp* - "org.apache.http;HttpMessage;false;getParams;();;ReturnValue;remote", - "org.apache.http;HttpEntity;false;getContent;();;ReturnValue;remote", + "org.apache.http;HttpMessage;false;getParams;();;ReturnValue;remote;manual", + "org.apache.http;HttpEntity;false;getContent;();;ReturnValue;remote;manual", // In the setting of Android we assume that XML has been transmitted over // the network, so may be tainted. // XmlPullGetMethod - "org.xmlpull.v1;XmlPullParser;false;getName;();;ReturnValue;remote", - "org.xmlpull.v1;XmlPullParser;false;getNamespace;();;ReturnValue;remote", - "org.xmlpull.v1;XmlPullParser;false;getText;();;ReturnValue;remote", + "org.xmlpull.v1;XmlPullParser;false;getName;();;ReturnValue;remote;manual", + "org.xmlpull.v1;XmlPullParser;false;getNamespace;();;ReturnValue;remote;manual", + "org.xmlpull.v1;XmlPullParser;false;getText;();;ReturnValue;remote;manual", // XmlAttrSetGetMethod - "android.util;AttributeSet;false;getAttributeBooleanValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeCount;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeFloatValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeIntValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeListValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeName;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeNameResource;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeNamespace;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeResourceValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeUnsignedIntValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getAttributeValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getClassAttribute;;;ReturnValue;remote", - "android.util;AttributeSet;false;getIdAttribute;;;ReturnValue;remote", - "android.util;AttributeSet;false;getIdAttributeResourceValue;;;ReturnValue;remote", - "android.util;AttributeSet;false;getPositionDescription;;;ReturnValue;remote", - "android.util;AttributeSet;false;getStyleAttribute;;;ReturnValue;remote", + "android.util;AttributeSet;false;getAttributeBooleanValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeCount;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeFloatValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeIntValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeListValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeName;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeNameResource;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeNamespace;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeResourceValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeUnsignedIntValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getAttributeValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getClassAttribute;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getIdAttribute;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getIdAttributeResourceValue;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getPositionDescription;;;ReturnValue;remote;manual", + "android.util;AttributeSet;false;getStyleAttribute;;;ReturnValue;remote;manual", // The current URL in a browser may be untrusted or uncontrolled. // WebViewGetUrlMethod - "android.webkit;WebView;false;getUrl;();;ReturnValue;remote", - "android.webkit;WebView;false;getOriginalUrl;();;ReturnValue;remote", + "android.webkit;WebView;false;getUrl;();;ReturnValue;remote;manual", + "android.webkit;WebView;false;getOriginalUrl;();;ReturnValue;remote;manual", // SpringRestTemplateResponseEntityMethod - "org.springframework.web.client;RestTemplate;false;exchange;;;ReturnValue;remote", - "org.springframework.web.client;RestTemplate;false;getForEntity;;;ReturnValue;remote", - "org.springframework.web.client;RestTemplate;false;postForEntity;;;ReturnValue;remote", + "org.springframework.web.client;RestTemplate;false;exchange;;;ReturnValue;remote;manual", + "org.springframework.web.client;RestTemplate;false;getForEntity;;;ReturnValue;remote;manual", + "org.springframework.web.client;RestTemplate;false;postForEntity;;;ReturnValue;remote;manual", // WebSocketMessageParameterSource - "java.net.http;WebSocket$Listener;true;onText;(WebSocket,CharSequence,boolean);;Parameter[1];remote", + "java.net.http;WebSocket$Listener;true;onText;(WebSocket,CharSequence,boolean);;Parameter[1];remote;manual", // PlayRequestGetMethod - "play.mvc;Http$RequestHeader;false;queryString;;;ReturnValue;remote", - "play.mvc;Http$RequestHeader;false;getQueryString;;;ReturnValue;remote", - "play.mvc;Http$RequestHeader;false;header;;;ReturnValue;remote", - "play.mvc;Http$RequestHeader;false;getHeader;;;ReturnValue;remote" + "play.mvc;Http$RequestHeader;false;queryString;;;ReturnValue;remote;manual", + "play.mvc;Http$RequestHeader;false;getQueryString;;;ReturnValue;remote;manual", + "play.mvc;Http$RequestHeader;false;header;;;ReturnValue;remote;manual", + "play.mvc;Http$RequestHeader;false;getHeader;;;ReturnValue;remote;manual" ] } @@ -264,21 +269,21 @@ private predicate sinkModelCsv(string row) { row = [ // Open URL - "java.net;URL;false;openConnection;;;Argument[-1];open-url", - "java.net;URL;false;openStream;;;Argument[-1];open-url", - "java.net.http;HttpRequest;false;newBuilder;;;Argument[0];open-url", - "java.net.http;HttpRequest$Builder;false;uri;;;Argument[0];open-url", - "java.net;URLClassLoader;false;URLClassLoader;(URL[]);;Argument[0];open-url", - "java.net;URLClassLoader;false;URLClassLoader;(URL[],ClassLoader);;Argument[0];open-url", - "java.net;URLClassLoader;false;URLClassLoader;(URL[],ClassLoader,URLStreamHandlerFactory);;Argument[0];open-url", - "java.net;URLClassLoader;false;URLClassLoader;(String,URL[],ClassLoader);;Argument[1];open-url", - "java.net;URLClassLoader;false;URLClassLoader;(String,URL[],ClassLoader,URLStreamHandlerFactory);;Argument[1];open-url", - "java.net;URLClassLoader;false;newInstance;;;Argument[0];open-url", + "java.net;URL;false;openConnection;;;Argument[-1];open-url;manual", + "java.net;URL;false;openStream;;;Argument[-1];open-url;manual", + "java.net.http;HttpRequest;false;newBuilder;;;Argument[0];open-url;manual", + "java.net.http;HttpRequest$Builder;false;uri;;;Argument[0];open-url;manual", + "java.net;URLClassLoader;false;URLClassLoader;(URL[]);;Argument[0];open-url;manual", + "java.net;URLClassLoader;false;URLClassLoader;(URL[],ClassLoader);;Argument[0];open-url;manual", + "java.net;URLClassLoader;false;URLClassLoader;(URL[],ClassLoader,URLStreamHandlerFactory);;Argument[0];open-url;manual", + "java.net;URLClassLoader;false;URLClassLoader;(String,URL[],ClassLoader);;Argument[1];open-url;manual", + "java.net;URLClassLoader;false;URLClassLoader;(String,URL[],ClassLoader,URLStreamHandlerFactory);;Argument[1];open-url;manual", + "java.net;URLClassLoader;false;newInstance;;;Argument[0];open-url;manual", // Bean validation - "javax.validation;ConstraintValidatorContext;true;buildConstraintViolationWithTemplate;;;Argument[0];bean-validation", + "javax.validation;ConstraintValidatorContext;true;buildConstraintViolationWithTemplate;;;Argument[0];bean-validation;manual", // Set hostname - "javax.net.ssl;HttpsURLConnection;true;setDefaultHostnameVerifier;;;Argument[0];set-hostname-verifier", - "javax.net.ssl;HttpsURLConnection;true;setHostnameVerifier;;;Argument[0];set-hostname-verifier" + "javax.net.ssl;HttpsURLConnection;true;setDefaultHostnameVerifier;;;Argument[0];set-hostname-verifier;manual", + "javax.net.ssl;HttpsURLConnection;true;setHostnameVerifier;;;Argument[0];set-hostname-verifier;manual" ] } @@ -286,87 +291,87 @@ private predicate summaryModelCsv(string row) { row = [ // qualifier to arg - "java.io;InputStream;true;read;(byte[]);;Argument[-1];Argument[0];taint", - "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint", - "java.io;InputStream;true;readNBytes;(byte[],int,int);;Argument[-1];Argument[0];taint", - "java.io;InputStream;true;transferTo;(OutputStream);;Argument[-1];Argument[0];taint", - "java.io;ByteArrayOutputStream;false;writeTo;;;Argument[-1];Argument[0];taint", - "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint", + "java.io;InputStream;true;read;(byte[]);;Argument[-1];Argument[0];taint;manual", + "java.io;InputStream;true;read;(byte[],int,int);;Argument[-1];Argument[0];taint;manual", + "java.io;InputStream;true;readNBytes;(byte[],int,int);;Argument[-1];Argument[0];taint;manual", + "java.io;InputStream;true;transferTo;(OutputStream);;Argument[-1];Argument[0];taint;manual", + "java.io;ByteArrayOutputStream;false;writeTo;;;Argument[-1];Argument[0];taint;manual", + "java.io;Reader;true;read;;;Argument[-1];Argument[0];taint;manual", // qualifier to return - "java.io;ByteArrayOutputStream;false;toByteArray;;;Argument[-1];ReturnValue;taint", - "java.io;ByteArrayOutputStream;false;toString;;;Argument[-1];ReturnValue;taint", - "java.io;InputStream;true;readAllBytes;;;Argument[-1];ReturnValue;taint", - "java.io;InputStream;true;readNBytes;(int);;Argument[-1];ReturnValue;taint", - "java.util;StringTokenizer;false;nextElement;();;Argument[-1];ReturnValue;taint", - "java.util;StringTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint", - "javax.xml.transform.sax;SAXSource;false;getInputSource;;;Argument[-1];ReturnValue;taint", - "javax.xml.transform.stream;StreamSource;false;getInputStream;;;Argument[-1];ReturnValue;taint", - "java.nio;ByteBuffer;false;get;;;Argument[-1];ReturnValue;taint", - "java.net;URI;false;toURL;;;Argument[-1];ReturnValue;taint", - "java.net;URI;false;toString;;;Argument[-1];ReturnValue;taint", - "java.net;URI;false;toAsciiString;;;Argument[-1];ReturnValue;taint", - "java.io;File;true;toURI;;;Argument[-1];ReturnValue;taint", - "java.io;File;true;toPath;;;Argument[-1];ReturnValue;taint", - "java.io;File;true;getAbsoluteFile;;;Argument[-1];ReturnValue;taint", - "java.io;File;true;getCanonicalFile;;;Argument[-1];ReturnValue;taint", - "java.io;File;true;getAbsolutePath;;;Argument[-1];ReturnValue;taint", - "java.io;File;true;getCanonicalPath;;;Argument[-1];ReturnValue;taint", - "java.nio;ByteBuffer;false;array;();;Argument[-1];ReturnValue;taint", - "java.nio.file;Path;false;toFile;;;Argument[-1];ReturnValue;taint", - "java.io;BufferedReader;true;readLine;;;Argument[-1];ReturnValue;taint", - "java.io;Reader;true;read;();;Argument[-1];ReturnValue;taint", + "java.io;ByteArrayOutputStream;false;toByteArray;;;Argument[-1];ReturnValue;taint;manual", + "java.io;ByteArrayOutputStream;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "java.io;InputStream;true;readAllBytes;;;Argument[-1];ReturnValue;taint;manual", + "java.io;InputStream;true;readNBytes;(int);;Argument[-1];ReturnValue;taint;manual", + "java.util;StringTokenizer;false;nextElement;();;Argument[-1];ReturnValue;taint;manual", + "java.util;StringTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint;manual", + "javax.xml.transform.sax;SAXSource;false;getInputSource;;;Argument[-1];ReturnValue;taint;manual", + "javax.xml.transform.stream;StreamSource;false;getInputStream;;;Argument[-1];ReturnValue;taint;manual", + "java.nio;ByteBuffer;false;get;;;Argument[-1];ReturnValue;taint;manual", + "java.net;URI;false;toURL;;;Argument[-1];ReturnValue;taint;manual", + "java.net;URI;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "java.net;URI;false;toAsciiString;;;Argument[-1];ReturnValue;taint;manual", + "java.io;File;true;toURI;;;Argument[-1];ReturnValue;taint;manual", + "java.io;File;true;toPath;;;Argument[-1];ReturnValue;taint;manual", + "java.io;File;true;getAbsoluteFile;;;Argument[-1];ReturnValue;taint;manual", + "java.io;File;true;getCanonicalFile;;;Argument[-1];ReturnValue;taint;manual", + "java.io;File;true;getAbsolutePath;;;Argument[-1];ReturnValue;taint;manual", + "java.io;File;true;getCanonicalPath;;;Argument[-1];ReturnValue;taint;manual", + "java.nio;ByteBuffer;false;array;();;Argument[-1];ReturnValue;taint;manual", + "java.nio.file;Path;false;toFile;;;Argument[-1];ReturnValue;taint;manual", + "java.io;BufferedReader;true;readLine;;;Argument[-1];ReturnValue;taint;manual", + "java.io;Reader;true;read;();;Argument[-1];ReturnValue;taint;manual", // arg to return - "java.nio;ByteBuffer;false;wrap;(byte[]);;Argument[0];ReturnValue;taint", - "java.util;Base64$Encoder;false;encode;(byte[]);;Argument[0];ReturnValue;taint", - "java.util;Base64$Encoder;false;encode;(ByteBuffer);;Argument[0];ReturnValue;taint", - "java.util;Base64$Encoder;false;encodeToString;(byte[]);;Argument[0];ReturnValue;taint", - "java.util;Base64$Encoder;false;wrap;(OutputStream);;Argument[0];ReturnValue;taint", - "java.util;Base64$Decoder;false;decode;(byte[]);;Argument[0];ReturnValue;taint", - "java.util;Base64$Decoder;false;decode;(ByteBuffer);;Argument[0];ReturnValue;taint", - "java.util;Base64$Decoder;false;decode;(String);;Argument[0];ReturnValue;taint", - "java.util;Base64$Decoder;false;wrap;(InputStream);;Argument[0];ReturnValue;taint", - "cn.hutool.core.codec;Base64;true;decode;;;Argument[0];ReturnValue;taint", - "org.apache.shiro.codec;Base64;false;decode;(String);;Argument[0];ReturnValue;taint", - "org.apache.commons.codec;Encoder;true;encode;(Object);;Argument[0];ReturnValue;taint", - "org.apache.commons.codec;Decoder;true;decode;(Object);;Argument[0];ReturnValue;taint", - "org.apache.commons.codec;BinaryEncoder;true;encode;(byte[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.codec;BinaryDecoder;true;decode;(byte[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.codec;StringEncoder;true;encode;(String);;Argument[0];ReturnValue;taint", - "org.apache.commons.codec;StringDecoder;true;decode;(String);;Argument[0];ReturnValue;taint", - "java.net;URLDecoder;false;decode;;;Argument[0];ReturnValue;taint", - "java.net;URI;false;create;;;Argument[0];ReturnValue;taint", - "javax.xml.transform.sax;SAXSource;false;sourceToInputSource;;;Argument[0];ReturnValue;taint", + "java.nio;ByteBuffer;false;wrap;(byte[]);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Encoder;false;encode;(byte[]);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Encoder;false;encode;(ByteBuffer);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Encoder;false;encodeToString;(byte[]);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Encoder;false;wrap;(OutputStream);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Decoder;false;decode;(byte[]);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Decoder;false;decode;(ByteBuffer);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Decoder;false;decode;(String);;Argument[0];ReturnValue;taint;manual", + "java.util;Base64$Decoder;false;wrap;(InputStream);;Argument[0];ReturnValue;taint;manual", + "cn.hutool.core.codec;Base64;true;decode;;;Argument[0];ReturnValue;taint;manual", + "org.apache.shiro.codec;Base64;false;decode;(String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.codec;Encoder;true;encode;(Object);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.codec;Decoder;true;decode;(Object);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.codec;BinaryEncoder;true;encode;(byte[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.codec;BinaryDecoder;true;decode;(byte[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.codec;StringEncoder;true;encode;(String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.codec;StringDecoder;true;decode;(String);;Argument[0];ReturnValue;taint;manual", + "java.net;URLDecoder;false;decode;;;Argument[0];ReturnValue;taint;manual", + "java.net;URI;false;create;;;Argument[0];ReturnValue;taint;manual", + "javax.xml.transform.sax;SAXSource;false;sourceToInputSource;;;Argument[0];ReturnValue;taint;manual", // arg to arg - "java.lang;System;false;arraycopy;;;Argument[0];Argument[2];taint", + "java.lang;System;false;arraycopy;;;Argument[0];Argument[2];taint;manual", // constructor flow - "java.io;File;false;File;;;Argument[0];Argument[-1];taint", - "java.io;File;false;File;;;Argument[1];Argument[-1];taint", - "java.net;URI;false;URI;(String);;Argument[0];Argument[-1];taint", - "java.net;URL;false;URL;(String);;Argument[0];Argument[-1];taint", - "javax.xml.transform.stream;StreamSource;false;StreamSource;;;Argument[0];Argument[-1];taint", - "javax.xml.transform.sax;SAXSource;false;SAXSource;(InputSource);;Argument[0];Argument[-1];taint", - "javax.xml.transform.sax;SAXSource;false;SAXSource;(XMLReader,InputSource);;Argument[1];Argument[-1];taint", - "org.xml.sax;InputSource;false;InputSource;;;Argument[0];Argument[-1];taint", - "javax.servlet.http;Cookie;false;Cookie;;;Argument[0];Argument[-1];taint", - "javax.servlet.http;Cookie;false;Cookie;;;Argument[1];Argument[-1];taint", - "java.util.zip;ZipInputStream;false;ZipInputStream;;;Argument[0];Argument[-1];taint", - "java.util.zip;GZIPInputStream;false;GZIPInputStream;;;Argument[0];Argument[-1];taint", - "java.util;StringTokenizer;false;StringTokenizer;;;Argument[0];Argument[-1];taint", - "java.beans;XMLDecoder;false;XMLDecoder;;;Argument[0];Argument[-1];taint", - "com.esotericsoftware.kryo.io;Input;false;Input;;;Argument[0];Argument[-1];taint", - "com.esotericsoftware.kryo5.io;Input;false;Input;;;Argument[0];Argument[-1];taint", - "java.io;BufferedInputStream;false;BufferedInputStream;;;Argument[0];Argument[-1];taint", - "java.io;DataInputStream;false;DataInputStream;;;Argument[0];Argument[-1];taint", - "java.io;ByteArrayInputStream;false;ByteArrayInputStream;;;Argument[0];Argument[-1];taint", - "java.io;ObjectInputStream;false;ObjectInputStream;;;Argument[0];Argument[-1];taint", - "java.io;StringReader;false;StringReader;;;Argument[0];Argument[-1];taint", - "java.io;CharArrayReader;false;CharArrayReader;;;Argument[0];Argument[-1];taint", - "java.io;BufferedReader;false;BufferedReader;;;Argument[0];Argument[-1];taint", - "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[-1];taint", - "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[-1];taint", - "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint", - "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint", - "java.io;FilterOutputStream;true;FilterOutputStream;(OutputStream);;Argument[0];Argument[-1];taint" + "java.io;File;false;File;;;Argument[0];Argument[-1];taint;manual", + "java.io;File;false;File;;;Argument[1];Argument[-1];taint;manual", + "java.net;URI;false;URI;(String);;Argument[0];Argument[-1];taint;manual", + "java.net;URL;false;URL;(String);;Argument[0];Argument[-1];taint;manual", + "javax.xml.transform.stream;StreamSource;false;StreamSource;;;Argument[0];Argument[-1];taint;manual", + "javax.xml.transform.sax;SAXSource;false;SAXSource;(InputSource);;Argument[0];Argument[-1];taint;manual", + "javax.xml.transform.sax;SAXSource;false;SAXSource;(XMLReader,InputSource);;Argument[1];Argument[-1];taint;manual", + "org.xml.sax;InputSource;false;InputSource;;;Argument[0];Argument[-1];taint;manual", + "javax.servlet.http;Cookie;false;Cookie;;;Argument[0];Argument[-1];taint;manual", + "javax.servlet.http;Cookie;false;Cookie;;;Argument[1];Argument[-1];taint;manual", + "java.util.zip;ZipInputStream;false;ZipInputStream;;;Argument[0];Argument[-1];taint;manual", + "java.util.zip;GZIPInputStream;false;GZIPInputStream;;;Argument[0];Argument[-1];taint;manual", + "java.util;StringTokenizer;false;StringTokenizer;;;Argument[0];Argument[-1];taint;manual", + "java.beans;XMLDecoder;false;XMLDecoder;;;Argument[0];Argument[-1];taint;manual", + "com.esotericsoftware.kryo.io;Input;false;Input;;;Argument[0];Argument[-1];taint;manual", + "com.esotericsoftware.kryo5.io;Input;false;Input;;;Argument[0];Argument[-1];taint;manual", + "java.io;BufferedInputStream;false;BufferedInputStream;;;Argument[0];Argument[-1];taint;manual", + "java.io;DataInputStream;false;DataInputStream;;;Argument[0];Argument[-1];taint;manual", + "java.io;ByteArrayInputStream;false;ByteArrayInputStream;;;Argument[0];Argument[-1];taint;manual", + "java.io;ObjectInputStream;false;ObjectInputStream;;;Argument[0];Argument[-1];taint;manual", + "java.io;StringReader;false;StringReader;;;Argument[0];Argument[-1];taint;manual", + "java.io;CharArrayReader;false;CharArrayReader;;;Argument[0];Argument[-1];taint;manual", + "java.io;BufferedReader;false;BufferedReader;;;Argument[0];Argument[-1];taint;manual", + "java.io;InputStreamReader;false;InputStreamReader;;;Argument[0];Argument[-1];taint;manual", + "java.io;OutputStream;true;write;(byte[]);;Argument[0];Argument[-1];taint;manual", + "java.io;OutputStream;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual", + "java.io;OutputStream;true;write;(int);;Argument[0];Argument[-1];taint;manual", + "java.io;FilterOutputStream;true;FilterOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;manual" ] } @@ -415,17 +420,10 @@ private predicate summaryModel(string row) { any(SummaryModelCsv s).row(row) } -bindingset[input] -private predicate getKind(string input, string kind, boolean generated) { - input.splitAt(":", 0) = "generated" and kind = input.splitAt(":", 1) and generated = true - or - not input.matches("%:%") and kind = input and generated = false -} - /** Holds if a source model exists for the given parameters. */ predicate sourceModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string output, string kind, boolean generated + string output, string kind, string provenance ) { exists(string row | sourceModel(row) and @@ -437,14 +435,15 @@ predicate sourceModel( row.splitAt(";", 4) = signature and row.splitAt(";", 5) = ext and row.splitAt(";", 6) = output and - exists(string k | row.splitAt(";", 7) = k and getKind(k, kind, generated)) + row.splitAt(";", 7) = kind and + row.splitAt(";", 8) = provenance ) } /** Holds if a sink model exists for the given parameters. */ predicate sinkModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string input, string kind, boolean generated + string input, string kind, string provenance ) { exists(string row | sinkModel(row) and @@ -456,22 +455,23 @@ predicate sinkModel( row.splitAt(";", 4) = signature and row.splitAt(";", 5) = ext and row.splitAt(";", 6) = input and - exists(string k | row.splitAt(";", 7) = k and getKind(k, kind, generated)) + row.splitAt(";", 7) = kind and + row.splitAt(";", 8) = provenance ) } /** Holds if a summary model exists for the given parameters. */ predicate summaryModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string input, string output, string kind, boolean generated + string input, string output, string kind, string provenance ) { - summaryModel(namespace, type, subtypes, name, signature, ext, input, output, kind, generated, _) + summaryModel(namespace, type, subtypes, name, signature, ext, input, output, kind, provenance, _) } /** Holds if a summary model `row` exists for the given parameters. */ predicate summaryModel( string namespace, string type, boolean subtypes, string name, string signature, string ext, - string input, string output, string kind, boolean generated, string row + string input, string output, string kind, string provenance, string row ) { summaryModel(row) and row.splitAt(";", 0) = namespace and @@ -483,7 +483,8 @@ predicate summaryModel( row.splitAt(";", 5) = ext and row.splitAt(";", 6) = input and row.splitAt(";", 7) = output and - exists(string k | row.splitAt(";", 8) = k and getKind(k, kind, generated)) + row.splitAt(";", 8) = kind and + row.splitAt(";", 9) = provenance } private predicate relevantPackage(string package) { @@ -517,25 +518,25 @@ predicate modelCoverage(string package, int pkgs, string kind, string part, int part = "source" and n = strictcount(string subpkg, string type, boolean subtypes, string name, string signature, - string ext, string output, boolean generated | + string ext, string output, string provenance | canonicalPkgLink(package, subpkg) and - sourceModel(subpkg, type, subtypes, name, signature, ext, output, kind, generated) + sourceModel(subpkg, type, subtypes, name, signature, ext, output, kind, provenance) ) or part = "sink" and n = strictcount(string subpkg, string type, boolean subtypes, string name, string signature, - string ext, string input, boolean generated | + string ext, string input, string provenance | canonicalPkgLink(package, subpkg) and - sinkModel(subpkg, type, subtypes, name, signature, ext, input, kind, generated) + sinkModel(subpkg, type, subtypes, name, signature, ext, input, kind, provenance) ) or part = "summary" and n = strictcount(string subpkg, string type, boolean subtypes, string name, string signature, - string ext, string input, string output, boolean generated | + string ext, string input, string output, string provenance | canonicalPkgLink(package, subpkg) and - summaryModel(subpkg, type, subtypes, name, signature, ext, input, output, kind, generated) + summaryModel(subpkg, type, subtypes, name, signature, ext, input, output, kind, provenance) ) ) } @@ -544,12 +545,16 @@ predicate modelCoverage(string package, int pkgs, string kind, string part, int module CsvValidation { /** Holds if some row in a CSV-based flow model appears to contain typos. */ query predicate invalidModelRow(string msg) { - exists(string pred, string namespace, string type, string name, string signature, string ext | - sourceModel(namespace, type, _, name, signature, ext, _, _, _) and pred = "source" + exists( + string pred, string namespace, string type, string name, string signature, string ext, + string provenance + | + sourceModel(namespace, type, _, name, signature, ext, _, _, provenance) and pred = "source" or - sinkModel(namespace, type, _, name, signature, ext, _, _, _) and pred = "sink" + sinkModel(namespace, type, _, name, signature, ext, _, _, provenance) and pred = "sink" or - summaryModel(namespace, type, _, name, signature, ext, _, _, _, _) and pred = "summary" + summaryModel(namespace, type, _, name, signature, ext, _, _, _, provenance) and + pred = "summary" | not namespace.regexpMatch("[a-zA-Z0-9_\\.]+") and msg = "Dubious namespace \"" + namespace + "\" in " + pred + " model." @@ -565,6 +570,9 @@ module CsvValidation { or not ext.regexpMatch("|Annotated") and msg = "Unrecognized extra API graph element \"" + ext + "\" in " + pred + " model." + or + not provenance = ["manual", "generated"] and + msg = "Unrecognized provenance description \"" + provenance + "\" in " + pred + " model." ) or exists(string pred, string input, string part | @@ -596,18 +604,18 @@ module CsvValidation { ) or exists(string pred, string row, int expect | - sourceModel(row) and expect = 8 and pred = "source" + sourceModel(row) and expect = 9 and pred = "source" or - sinkModel(row) and expect = 8 and pred = "sink" + sinkModel(row) and expect = 9 and pred = "sink" or - summaryModel(row) and expect = 9 and pred = "summary" + summaryModel(row) and expect = 10 and pred = "summary" | exists(int cols | cols = 1 + max(int n | exists(row.splitAt(";", n))) and cols != expect and msg = "Wrong number of columns in " + pred + " model row, expected " + expect + ", got " + cols + - "." + " in " + row + "." ) or exists(string b | @@ -617,12 +625,32 @@ module CsvValidation { ) ) or - exists(string row, string k, string kind | summaryModel(row) | - k = row.splitAt(";", 8) and - getKind(k, kind, _) and + exists(string row, string kind | summaryModel(row) | + kind = row.splitAt(";", 8) and not kind = ["taint", "value"] and msg = "Invalid kind \"" + kind + "\" in summary model." ) + or + exists(string row, string kind | sinkModel(row) | + kind = row.splitAt(";", 7) and + not kind = + [ + "open-url", "jndi-injection", "ldap", "sql", "jdbc-url", "logging", "mvel", "xpath", + "groovy", "xss", "ognl-injection", "intent-start", "pending-intent-sent", + "url-open-stream", "url-redirect", "create-file", "write-file", "set-hostname-verifier", + "header-splitting", "information-leak", "xslt", "jexl", "bean-validation" + ] and + not kind.matches("regex-use%") and + not kind.matches("qltest%") and + msg = "Invalid kind \"" + kind + "\" in sink model." + ) + or + exists(string row, string kind | sourceModel(row) | + kind = row.splitAt(";", 7) and + not kind = ["remote", "contentprovider", "android-widget", "android-external-storage-dir"] and + not kind.matches("qltest%") and + msg = "Invalid kind \"" + kind + "\" in source model." + ) } } diff --git a/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll b/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll index 2c44d7a15b6..fcd4fe90b6d 100644 --- a/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll +++ b/java/ql/lib/semmle/code/java/dataflow/FlowSources.qll @@ -17,6 +17,7 @@ import semmle.code.java.frameworks.android.WebView import semmle.code.java.frameworks.JaxWS import semmle.code.java.frameworks.javase.WebSocket import semmle.code.java.frameworks.android.Android +import semmle.code.java.frameworks.android.ExternalStorage import semmle.code.java.frameworks.android.OnActivityResultSource import semmle.code.java.frameworks.android.Intent import semmle.code.java.frameworks.play.Play @@ -152,6 +153,12 @@ private class ThriftIfaceParameterSource extends RemoteFlowSource { override string getSourceType() { result = "Thrift Iface parameter" } } +private class AndroidExternalStorageSource extends RemoteFlowSource { + AndroidExternalStorageSource() { androidExternalStorageSource(this) } + + override string getSourceType() { result = "Android external storage" } +} + /** Class for `tainted` user input. */ abstract class UserInput extends DataFlow::Node { } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/ContainerFlow.qll b/java/ql/lib/semmle/code/java/dataflow/internal/ContainerFlow.qll index 13b609a9199..6c4a369527c 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/ContainerFlow.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/ContainerFlow.qll @@ -95,324 +95,345 @@ private class ContainerFlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "java.lang;Object;true;clone;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.lang;Object;true;clone;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.lang;Object;true;clone;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Map$Entry;true;getKey;;;Argument[-1].MapKey;ReturnValue;value", - "java.util;Map$Entry;true;getValue;;;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map$Entry;true;setValue;;;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map$Entry;true;setValue;;;Argument[0];Argument[-1].MapValue;value", - "java.lang;Iterable;true;iterator;();;Argument[-1].Element;ReturnValue.Element;value", - "java.lang;Iterable;true;spliterator;();;Argument[-1].Element;ReturnValue.Element;value", - "java.lang;Iterable;true;forEach;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;Iterator;true;next;;;Argument[-1].Element;ReturnValue;value", - "java.util;Iterator;true;forEachRemaining;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;ListIterator;true;previous;;;Argument[-1].Element;ReturnValue;value", - "java.util;ListIterator;true;add;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;ListIterator;true;set;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Enumeration;true;asIterator;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Enumeration;true;nextElement;;;Argument[-1].Element;ReturnValue;value", - "java.util;Map;true;computeIfAbsent;;;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;computeIfAbsent;;;Argument[1].ReturnValue;ReturnValue;value", - "java.util;Map;true;computeIfAbsent;;;Argument[1].ReturnValue;Argument[-1].MapValue;value", - "java.util;Map;true;entrySet;;;Argument[-1].MapValue;ReturnValue.Element.MapValue;value", - "java.util;Map;true;entrySet;;;Argument[-1].MapKey;ReturnValue.Element.MapKey;value", - "java.util;Map;true;get;;;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;getOrDefault;;;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;getOrDefault;;;Argument[1];ReturnValue;value", - "java.util;Map;true;put;(Object,Object);;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "java.util;Map;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "java.util;Map;true;putIfAbsent;;;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;putIfAbsent;;;Argument[0];Argument[-1].MapKey;value", - "java.util;Map;true;putIfAbsent;;;Argument[1];Argument[-1].MapValue;value", - "java.util;Map;true;remove;(Object);;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;replace;(Object,Object);;Argument[-1].MapValue;ReturnValue;value", - "java.util;Map;true;replace;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "java.util;Map;true;replace;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "java.util;Map;true;replace;(Object,Object,Object);;Argument[0];Argument[-1].MapKey;value", - "java.util;Map;true;replace;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value", - "java.util;Map;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value", - "java.util;Map;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value", - "java.util;Map;true;merge;(Object,Object,BiFunction);;Argument[1];Argument[-1].MapValue;value", - "java.util;Map;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;Map;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;Map;true;forEach;(BiConsumer);;Argument[-1].MapKey;Argument[0].Parameter[0];value", - "java.util;Map;true;forEach;(BiConsumer);;Argument[-1].MapValue;Argument[0].Parameter[1];value", - "java.util;Collection;true;parallelStream;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Collection;true;stream;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Collection;true;toArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - "java.util;Collection;true;toArray;;;Argument[-1].Element;Argument[0].ArrayElement;value", - "java.util;Collection;true;add;;;Argument[0];Argument[-1].Element;value", - "java.util;Collection;true;addAll;;;Argument[0].Element;Argument[-1].Element;value", - "java.util;List;true;get;(int);;Argument[-1].Element;ReturnValue;value", - "java.util;List;true;listIterator;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util;List;true;remove;(int);;Argument[-1].Element;ReturnValue;value", - "java.util;List;true;set;(int,Object);;Argument[-1].Element;ReturnValue;value", - "java.util;List;true;set;(int,Object);;Argument[1];Argument[-1].Element;value", - "java.util;List;true;subList;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util;List;true;add;(int,Object);;Argument[1];Argument[-1].Element;value", - "java.util;List;true;addAll;(int,Collection);;Argument[1].Element;Argument[-1].Element;value", - "java.util;Vector;true;elementAt;(int);;Argument[-1].Element;ReturnValue;value", - "java.util;Vector;true;elements;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Vector;true;firstElement;();;Argument[-1].Element;ReturnValue;value", - "java.util;Vector;true;lastElement;();;Argument[-1].Element;ReturnValue;value", - "java.util;Vector;true;addElement;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Vector;true;insertElementAt;(Object,int);;Argument[0];Argument[-1].Element;value", - "java.util;Vector;true;setElementAt;(Object,int);;Argument[0];Argument[-1].Element;value", - "java.util;Vector;true;copyInto;(Object[]);;Argument[-1].Element;Argument[0].ArrayElement;value", - "java.util;Stack;true;peek;();;Argument[-1].Element;ReturnValue;value", - "java.util;Stack;true;pop;();;Argument[-1].Element;ReturnValue;value", - "java.util;Stack;true;push;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Queue;true;element;();;Argument[-1].Element;ReturnValue;value", - "java.util;Queue;true;peek;();;Argument[-1].Element;ReturnValue;value", - "java.util;Queue;true;poll;();;Argument[-1].Element;ReturnValue;value", - "java.util;Queue;true;remove;();;Argument[-1].Element;ReturnValue;value", - "java.util;Queue;true;offer;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Deque;true;descendingIterator;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Deque;true;getFirst;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;getLast;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;peekFirst;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;peekLast;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;pollFirst;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;pollLast;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;pop;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;removeFirst;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;removeLast;();;Argument[-1].Element;ReturnValue;value", - "java.util;Deque;true;push;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Deque;true;offerLast;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Deque;true;offerFirst;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Deque;true;addLast;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;Deque;true;addFirst;(Object);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingDeque;true;pollFirst;(long,TimeUnit);;Argument[-1].Element;ReturnValue;value", - "java.util.concurrent;BlockingDeque;true;pollLast;(long,TimeUnit);;Argument[-1].Element;ReturnValue;value", - "java.util.concurrent;BlockingDeque;true;takeFirst;();;Argument[-1].Element;ReturnValue;value", - "java.util.concurrent;BlockingDeque;true;takeLast;();;Argument[-1].Element;ReturnValue;value", - "java.util.concurrent;BlockingQueue;true;poll;(long,TimeUnit);;Argument[-1].Element;ReturnValue;value", - "java.util.concurrent;BlockingQueue;true;take;();;Argument[-1].Element;ReturnValue;value", - "java.util.concurrent;BlockingQueue;true;offer;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingQueue;true;put;(Object);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingDeque;true;offerLast;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingDeque;true;offerFirst;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingDeque;true;putLast;(Object);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingDeque;true;putFirst;(Object);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;BlockingQueue;true;drainTo;(Collection,int);;Argument[-1].Element;Argument[0].Element;value", - "java.util.concurrent;BlockingQueue;true;drainTo;(Collection);;Argument[-1].Element;Argument[0].Element;value", - "java.util.concurrent;ConcurrentHashMap;true;elements;();;Argument[-1].MapValue;ReturnValue.Element;value", - "java.util;Dictionary;true;elements;();;Argument[-1].MapValue;ReturnValue.Element;value", - "java.util;Dictionary;true;get;(Object);;Argument[-1].MapValue;ReturnValue;value", - "java.util;Dictionary;true;keys;();;Argument[-1].MapKey;ReturnValue.Element;value", - "java.util;Dictionary;true;put;(Object,Object);;Argument[-1].MapValue;ReturnValue;value", - "java.util;Dictionary;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "java.util;Dictionary;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "java.util;Dictionary;true;remove;(Object);;Argument[-1].MapValue;ReturnValue;value", - "java.util;NavigableMap;true;ceilingEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;ceilingEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;descendingMap;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;descendingMap;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;firstEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;firstEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;floorEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;floorEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;headMap;(Object,boolean);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;headMap;(Object,boolean);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;higherEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;higherEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;lastEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;lastEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;lowerEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;lowerEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;pollFirstEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;pollFirstEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;pollLastEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;pollLastEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;subMap;(Object,boolean,Object,boolean);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;subMap;(Object,boolean,Object,boolean);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableMap;true;tailMap;(Object,boolean);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;NavigableMap;true;tailMap;(Object,boolean);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;NavigableSet;true;ceiling;(Object);;Argument[-1].Element;ReturnValue;value", - "java.util;NavigableSet;true;descendingIterator;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util;NavigableSet;true;descendingSet;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util;NavigableSet;true;floor;(Object);;Argument[-1].Element;ReturnValue;value", - "java.util;NavigableSet;true;headSet;(Object,boolean);;Argument[-1].Element;ReturnValue.Element;value", - "java.util;NavigableSet;true;higher;(Object);;Argument[-1].Element;ReturnValue;value", - "java.util;NavigableSet;true;lower;(Object);;Argument[-1].Element;ReturnValue;value", - "java.util;NavigableSet;true;pollFirst;();;Argument[-1].Element;ReturnValue;value", - "java.util;NavigableSet;true;pollLast;();;Argument[-1].Element;ReturnValue;value", - "java.util;NavigableSet;true;subSet;(Object,boolean,Object,boolean);;Argument[-1].Element;ReturnValue.Element;value", - "java.util;NavigableSet;true;tailSet;(Object,boolean);;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Scanner;true;next;(Pattern);;Argument[-1];ReturnValue;taint", - "java.util;Scanner;true;next;(String);;Argument[-1];ReturnValue;taint", - "java.util;SortedMap;true;headMap;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;SortedMap;true;headMap;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;SortedMap;true;subMap;(Object,Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;SortedMap;true;subMap;(Object,Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;SortedMap;true;tailMap;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "java.util;SortedMap;true;tailMap;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "java.util;SortedSet;true;first;();;Argument[-1].Element;ReturnValue;value", - "java.util;SortedSet;true;headSet;(Object);;Argument[-1].Element;ReturnValue.Element;value", - "java.util;SortedSet;true;last;();;Argument[-1].Element;ReturnValue;value", - "java.util;SortedSet;true;subSet;(Object,Object);;Argument[-1].Element;ReturnValue.Element;value", - "java.util;SortedSet;true;tailSet;(Object);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.concurrent;TransferQueue;true;tryTransfer;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;TransferQueue;true;transfer;(Object);;Argument[0];Argument[-1].Element;value", - "java.util.concurrent;TransferQueue;true;tryTransfer;(Object);;Argument[0];Argument[-1].Element;value", - "java.util;List;false;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "java.util;List;false;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "java.util;List;false;of;(Object);;Argument[0];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object);;Argument[0..1];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object);;Argument[0..2];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object);;Argument[0..3];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object,Object);;Argument[0..4];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object,Object,Object);;Argument[0..5];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object);;Argument[0..6];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];ReturnValue.Element;value", - "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];ReturnValue.Element;value", - "java.util;Map;false;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Map;false;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Map;false;entry;(Object,Object);;Argument[0];ReturnValue.MapKey;value", - "java.util;Map;false;entry;(Object,Object);;Argument[1];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[0];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[1];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[2];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[3];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[4];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[5];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[6];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[7];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[8];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[9];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[10];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[11];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[12];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[13];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[14];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[15];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[16];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[17];ReturnValue.MapValue;value", - "java.util;Map;false;of;;;Argument[18];ReturnValue.MapKey;value", - "java.util;Map;false;of;;;Argument[19];ReturnValue.MapValue;value", - "java.util;Map;false;ofEntries;;;Argument[0].ArrayElement.MapKey;ReturnValue.MapKey;value", - "java.util;Map;false;ofEntries;;;Argument[0].ArrayElement.MapValue;ReturnValue.MapValue;value", - "java.util;Set;false;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Set;false;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "java.util;Set;false;of;(Object);;Argument[0];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object);;Argument[0..1];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object);;Argument[0..2];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object);;Argument[0..3];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object,Object);;Argument[0..4];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object);;Argument[0..5];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object);;Argument[0..6];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];ReturnValue.Element;value", - "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];ReturnValue.Element;value", - "java.util;Arrays;false;stream;;;Argument[0].ArrayElement;ReturnValue.Element;value", - "java.util;Arrays;false;spliterator;;;Argument[0].ArrayElement;ReturnValue.Element;value", - "java.util;Arrays;false;copyOfRange;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "java.util;Arrays;false;copyOf;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "java.util;Collections;false;list;(Enumeration);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;enumeration;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;nCopies;(int,Object);;Argument[1];ReturnValue.Element;value", - "java.util;Collections;false;singletonMap;(Object,Object);;Argument[0];ReturnValue.MapKey;value", - "java.util;Collections;false;singletonMap;(Object,Object);;Argument[1];ReturnValue.MapValue;value", - "java.util;Collections;false;singletonList;(Object);;Argument[0];ReturnValue.Element;value", - "java.util;Collections;false;singleton;(Object);;Argument[0];ReturnValue.Element;value", - "java.util;Collections;false;checkedNavigableMap;(NavigableMap,Class,Class);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;checkedNavigableMap;(NavigableMap,Class,Class);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;checkedSortedMap;(SortedMap,Class,Class);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;checkedSortedMap;(SortedMap,Class,Class);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;checkedMap;(Map,Class,Class);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;checkedMap;(Map,Class,Class);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;checkedList;(List,Class);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;checkedNavigableSet;(NavigableSet,Class);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;checkedSortedSet;(SortedSet,Class);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;checkedSet;(Set,Class);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;checkedCollection;(Collection,Class);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;synchronizedSortedMap;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;synchronizedSortedMap;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;synchronizedMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;synchronizedMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;synchronizedList;(List);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;synchronizedNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;synchronizedSortedSet;(SortedSet);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;synchronizedSet;(Set);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;synchronizedCollection;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;unmodifiableSortedMap;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;unmodifiableSortedMap;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;unmodifiableMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "java.util;Collections;false;unmodifiableMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "java.util;Collections;false;unmodifiableList;(List);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;unmodifiableNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;unmodifiableSortedSet;(SortedSet);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;unmodifiableSet;(Set);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;unmodifiableCollection;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "java.util;Collections;false;max;;;Argument[0].Element;ReturnValue;value", - "java.util;Collections;false;min;;;Argument[0].Element;ReturnValue;value", - "java.util;Arrays;false;fill;(Object[],int,int,Object);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(Object[],Object);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(float[],int,int,float);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(float[],float);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(double[],int,int,double);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(double[],double);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(boolean[],int,int,boolean);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(boolean[],boolean);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(byte[],int,int,byte);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(byte[],byte);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(char[],int,int,char);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(char[],char);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(short[],int,int,short);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(short[],short);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(int[],int,int,int);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(int[],int);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(long[],int,int,long);;Argument[3];Argument[0].ArrayElement;value", - "java.util;Arrays;false;fill;(long[],long);;Argument[1];Argument[0].ArrayElement;value", - "java.util;Collections;false;replaceAll;(List,Object,Object);;Argument[2];Argument[0].Element;value", - "java.util;Collections;false;copy;(List,List);;Argument[1].Element;Argument[0].Element;value", - "java.util;Collections;false;fill;(List,Object);;Argument[1];Argument[0].Element;value", - "java.util;Arrays;false;asList;;;Argument[0].ArrayElement;ReturnValue.Element;value", - "java.util;Collections;false;addAll;(Collection,Object[]);;Argument[1].ArrayElement;Argument[0].Element;value", - "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;ArrayDeque;false;ArrayDeque;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;ArrayList;false;ArrayList;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;EnumMap;false;EnumMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;EnumMap;false;EnumMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;EnumMap;false;EnumMap;(EnumMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;EnumMap;false;EnumMap;(EnumMap);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;HashMap;false;HashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;HashMap;false;HashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;HashSet;false;HashSet;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;Hashtable;false;Hashtable;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;Hashtable;false;Hashtable;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;IdentityHashMap;false;IdentityHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;IdentityHashMap;false;IdentityHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;LinkedHashMap;false;LinkedHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;LinkedHashMap;false;LinkedHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;LinkedHashSet;false;LinkedHashSet;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;LinkedList;false;LinkedList;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;PriorityQueue;false;PriorityQueue;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;PriorityQueue;false;PriorityQueue;(PriorityQueue);;Argument[0].Element;Argument[-1].Element;value", - "java.util;PriorityQueue;false;PriorityQueue;(SortedSet);;Argument[0].Element;Argument[-1].Element;value", - "java.util;TreeMap;false;TreeMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;TreeMap;false;TreeMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;TreeMap;false;TreeMap;(SortedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;TreeMap;false;TreeMap;(SortedMap);;Argument[0].MapValue;Argument[-1].MapValue;value", - "java.util;TreeSet;false;TreeSet;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;TreeSet;false;TreeSet;(SortedSet);;Argument[0].Element;Argument[-1].Element;value", - "java.util;Vector;false;Vector;(Collection);;Argument[0].Element;Argument[-1].Element;value", - "java.util;WeakHashMap;false;WeakHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "java.util;WeakHashMap;false;WeakHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value" + "java.lang;Object;true;clone;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.lang;Object;true;clone;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.lang;Object;true;clone;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Map$Entry;true;getKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + "java.util;Map$Entry;true;getValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map$Entry;true;setValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map$Entry;true;setValue;;;Argument[0];Argument[-1].MapValue;value;manual", + "java.lang;Iterable;true;iterator;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.lang;Iterable;true;spliterator;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.lang;Iterable;true;forEach;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;Iterator;true;next;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Iterator;true;forEachRemaining;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;ListIterator;true;previous;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;ListIterator;true;add;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;ListIterator;true;set;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Enumeration;true;asIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Enumeration;true;nextElement;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Map;true;computeIfAbsent;;;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;computeIfAbsent;;;Argument[1].ReturnValue;ReturnValue;value;manual", + "java.util;Map;true;computeIfAbsent;;;Argument[1].ReturnValue;Argument[-1].MapValue;value;manual", + "java.util;Map;true;entrySet;;;Argument[-1].MapValue;ReturnValue.Element.MapValue;value;manual", + "java.util;Map;true;entrySet;;;Argument[-1].MapKey;ReturnValue.Element.MapKey;value;manual", + "java.util;Map;true;get;;;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;getOrDefault;;;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;getOrDefault;;;Argument[1];ReturnValue;value;manual", + "java.util;Map;true;put;(Object,Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;Map;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;Map;true;putIfAbsent;;;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;putIfAbsent;;;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;Map;true;putIfAbsent;;;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;Map;true;remove;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;replace;(Object,Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Map;true;replace;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;Map;true;replace;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;Map;true;replace;(Object,Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;Map;true;replace;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value;manual", + "java.util;Map;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value;manual", + "java.util;Map;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "java.util;Map;true;merge;(Object,Object,BiFunction);;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;Map;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;Map;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;Map;true;forEach;(BiConsumer);;Argument[-1].MapKey;Argument[0].Parameter[0];value;manual", + "java.util;Map;true;forEach;(BiConsumer);;Argument[-1].MapValue;Argument[0].Parameter[1];value;manual", + "java.util;Collection;true;parallelStream;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Collection;true;stream;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Collection;true;toArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + "java.util;Collection;true;toArray;;;Argument[-1].Element;Argument[0].ArrayElement;value;manual", + "java.util;Collection;true;add;;;Argument[0];Argument[-1].Element;value;manual", + "java.util;Collection;true;addAll;;;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;List;true;get;(int);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;List;true;listIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;List;true;remove;(int);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;List;true;set;(int,Object);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;List;true;set;(int,Object);;Argument[1];Argument[-1].Element;value;manual", + "java.util;List;true;subList;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;List;true;add;(int,Object);;Argument[1];Argument[-1].Element;value;manual", + "java.util;List;true;addAll;(int,Collection);;Argument[1].Element;Argument[-1].Element;value;manual", + "java.util;Vector;true;elementAt;(int);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Vector;true;elements;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Vector;true;firstElement;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Vector;true;lastElement;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Vector;true;addElement;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Vector;true;insertElementAt;(Object,int);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Vector;true;setElementAt;(Object,int);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Vector;true;copyInto;(Object[]);;Argument[-1].Element;Argument[0].ArrayElement;value;manual", + "java.util;Stack;true;peek;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Stack;true;pop;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Stack;true;push;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Queue;true;element;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Queue;true;peek;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Queue;true;poll;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Queue;true;remove;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Queue;true;offer;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Deque;true;descendingIterator;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Deque;true;getFirst;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;getLast;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;peekFirst;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;peekLast;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;pollFirst;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;pollLast;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;pop;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;removeFirst;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;removeLast;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Deque;true;push;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Deque;true;offerLast;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Deque;true;offerFirst;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Deque;true;addLast;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;Deque;true;addFirst;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingDeque;true;pollFirst;(long,TimeUnit);;Argument[-1].Element;ReturnValue;value;manual", + "java.util.concurrent;BlockingDeque;true;pollLast;(long,TimeUnit);;Argument[-1].Element;ReturnValue;value;manual", + "java.util.concurrent;BlockingDeque;true;takeFirst;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util.concurrent;BlockingDeque;true;takeLast;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util.concurrent;BlockingQueue;true;poll;(long,TimeUnit);;Argument[-1].Element;ReturnValue;value;manual", + "java.util.concurrent;BlockingQueue;true;take;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util.concurrent;BlockingQueue;true;offer;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingQueue;true;put;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingDeque;true;offerLast;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingDeque;true;offerFirst;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingDeque;true;putLast;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingDeque;true;putFirst;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;BlockingQueue;true;drainTo;(Collection,int);;Argument[-1].Element;Argument[0].Element;value;manual", + "java.util.concurrent;BlockingQueue;true;drainTo;(Collection);;Argument[-1].Element;Argument[0].Element;value;manual", + "java.util.concurrent;ConcurrentHashMap;true;elements;();;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "java.util;Dictionary;true;elements;();;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "java.util;Dictionary;true;get;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Dictionary;true;keys;();;Argument[-1].MapKey;ReturnValue.Element;value;manual", + "java.util;Dictionary;true;put;(Object,Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Dictionary;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;Dictionary;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;Dictionary;true;remove;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;NavigableMap;true;ceilingEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;ceilingEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;descendingMap;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;descendingMap;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;firstEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;firstEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;floorEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;floorEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;headMap;(Object,boolean);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;headMap;(Object,boolean);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;higherEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;higherEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;lastEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;lastEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;lowerEntry;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;lowerEntry;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;pollFirstEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;pollFirstEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;pollLastEntry;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;pollLastEntry;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;subMap;(Object,boolean,Object,boolean);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;subMap;(Object,boolean,Object,boolean);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableMap;true;tailMap;(Object,boolean);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;NavigableMap;true;tailMap;(Object,boolean);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;NavigableSet;true;ceiling;(Object);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;NavigableSet;true;descendingIterator;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;NavigableSet;true;descendingSet;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;NavigableSet;true;floor;(Object);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;NavigableSet;true;headSet;(Object,boolean);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;NavigableSet;true;higher;(Object);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;NavigableSet;true;lower;(Object);;Argument[-1].Element;ReturnValue;value;manual", + "java.util;NavigableSet;true;pollFirst;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;NavigableSet;true;pollLast;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;NavigableSet;true;subSet;(Object,boolean,Object,boolean);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;NavigableSet;true;tailSet;(Object,boolean);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Properties;true;getProperty;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Properties;true;getProperty;(String,String);;Argument[-1].MapValue;ReturnValue;value;manual", + "java.util;Properties;true;getProperty;(String,String);;Argument[1];ReturnValue;value;manual", + "java.util;Scanner;true;Scanner;;;Argument[0];Argument[-1];taint;manual", + "java.util;Scanner;true;findInLine;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;findWithinHorizon;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;findWithinHorizon;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;next;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextBigDecimal;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextBigInteger;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextBoolean;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextByte;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextDouble;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextFloat;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextInt;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextLine;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextLong;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;nextShort;;;Argument[-1];ReturnValue;taint;manual", + "java.util;Scanner;true;reset;;;Argument[-1];ReturnValue;value;manual", + "java.util;Scanner;true;skip;;;Argument[-1];ReturnValue;value;manual", + "java.util;Scanner;true;useDelimiter;;;Argument[-1];ReturnValue;value;manual", + "java.util;Scanner;true;useLocale;;;Argument[-1];ReturnValue;value;manual", + "java.util;Scanner;true;useRadix;;;Argument[-1];ReturnValue;value;manual", + "java.util;SortedMap;true;headMap;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;SortedMap;true;headMap;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;SortedMap;true;subMap;(Object,Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;SortedMap;true;subMap;(Object,Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;SortedMap;true;tailMap;(Object);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "java.util;SortedMap;true;tailMap;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "java.util;SortedSet;true;first;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;SortedSet;true;headSet;(Object);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;SortedSet;true;last;();;Argument[-1].Element;ReturnValue;value;manual", + "java.util;SortedSet;true;subSet;(Object,Object);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;SortedSet;true;tailSet;(Object);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.concurrent;TransferQueue;true;tryTransfer;(Object,long,TimeUnit);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;TransferQueue;true;transfer;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util.concurrent;TransferQueue;true;tryTransfer;(Object);;Argument[0];Argument[-1].Element;value;manual", + "java.util;List;false;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object);;Argument[0];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object);;Argument[0..1];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object);;Argument[0..2];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object);;Argument[0..3];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object,Object);;Argument[0..4];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object,Object,Object);;Argument[0..5];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object);;Argument[0..6];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];ReturnValue.Element;value;manual", + "java.util;List;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];ReturnValue.Element;value;manual", + "java.util;Map;false;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Map;false;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Map;false;entry;(Object,Object);;Argument[0];ReturnValue.MapKey;value;manual", + "java.util;Map;false;entry;(Object,Object);;Argument[1];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[10];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[11];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[12];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[13];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[14];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[15];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[16];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[17];ReturnValue.MapValue;value;manual", + "java.util;Map;false;of;;;Argument[18];ReturnValue.MapKey;value;manual", + "java.util;Map;false;of;;;Argument[19];ReturnValue.MapValue;value;manual", + "java.util;Map;false;ofEntries;;;Argument[0].ArrayElement.MapKey;ReturnValue.MapKey;value;manual", + "java.util;Map;false;ofEntries;;;Argument[0].ArrayElement.MapValue;ReturnValue.MapValue;value;manual", + "java.util;Set;false;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object);;Argument[0];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object);;Argument[0..1];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object);;Argument[0..2];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object);;Argument[0..3];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object,Object);;Argument[0..4];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object);;Argument[0..5];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object);;Argument[0..6];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];ReturnValue.Element;value;manual", + "java.util;Set;false;of;(Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];ReturnValue.Element;value;manual", + "java.util;Arrays;false;stream;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "java.util;Arrays;false;spliterator;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "java.util;Arrays;false;copyOfRange;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "java.util;Arrays;false;copyOf;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "java.util;Collections;false;list;(Enumeration);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;enumeration;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;nCopies;(int,Object);;Argument[1];ReturnValue.Element;value;manual", + "java.util;Collections;false;singletonMap;(Object,Object);;Argument[0];ReturnValue.MapKey;value;manual", + "java.util;Collections;false;singletonMap;(Object,Object);;Argument[1];ReturnValue.MapValue;value;manual", + "java.util;Collections;false;singletonList;(Object);;Argument[0];ReturnValue.Element;value;manual", + "java.util;Collections;false;singleton;(Object);;Argument[0];ReturnValue.Element;value;manual", + "java.util;Collections;false;checkedNavigableMap;(NavigableMap,Class,Class);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;checkedNavigableMap;(NavigableMap,Class,Class);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;checkedSortedMap;(SortedMap,Class,Class);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;checkedSortedMap;(SortedMap,Class,Class);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;checkedMap;(Map,Class,Class);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;checkedMap;(Map,Class,Class);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;checkedList;(List,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;checkedNavigableSet;(NavigableSet,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;checkedSortedSet;(SortedSet,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;checkedSet;(Set,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;checkedCollection;(Collection,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;synchronizedSortedMap;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;synchronizedSortedMap;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;synchronizedMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;synchronizedMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;synchronizedList;(List);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;synchronizedNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;synchronizedSortedSet;(SortedSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;synchronizedSet;(Set);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;synchronizedCollection;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;unmodifiableSortedMap;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;unmodifiableSortedMap;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;unmodifiableMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "java.util;Collections;false;unmodifiableMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "java.util;Collections;false;unmodifiableList;(List);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;unmodifiableNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;unmodifiableSortedSet;(SortedSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;unmodifiableSet;(Set);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;unmodifiableCollection;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "java.util;Collections;false;max;;;Argument[0].Element;ReturnValue;value;manual", + "java.util;Collections;false;min;;;Argument[0].Element;ReturnValue;value;manual", + "java.util;Arrays;false;fill;(Object[],int,int,Object);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(Object[],Object);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(float[],int,int,float);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(float[],float);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(double[],int,int,double);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(double[],double);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(boolean[],int,int,boolean);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(boolean[],boolean);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(byte[],int,int,byte);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(byte[],byte);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(char[],int,int,char);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(char[],char);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(short[],int,int,short);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(short[],short);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(int[],int,int,int);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(int[],int);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(long[],int,int,long);;Argument[3];Argument[0].ArrayElement;value;manual", + "java.util;Arrays;false;fill;(long[],long);;Argument[1];Argument[0].ArrayElement;value;manual", + "java.util;Collections;false;replaceAll;(List,Object,Object);;Argument[2];Argument[0].Element;value;manual", + "java.util;Collections;false;copy;(List,List);;Argument[1].Element;Argument[0].Element;value;manual", + "java.util;Collections;false;fill;(List,Object);;Argument[1];Argument[0].Element;value;manual", + "java.util;Arrays;false;asList;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "java.util;Collections;false;addAll;(Collection,Object[]);;Argument[1].ArrayElement;Argument[0].Element;value;manual", + "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;AbstractMap$SimpleEntry;false;SimpleEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;AbstractMap$SimpleImmutableEntry;false;SimpleImmutableEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;ArrayDeque;false;ArrayDeque;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;ArrayList;false;ArrayList;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;EnumMap;false;EnumMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;EnumMap;false;EnumMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;EnumMap;false;EnumMap;(EnumMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;EnumMap;false;EnumMap;(EnumMap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;HashMap;false;HashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;HashMap;false;HashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;HashSet;false;HashSet;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;Hashtable;false;Hashtable;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;Hashtable;false;Hashtable;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;IdentityHashMap;false;IdentityHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;IdentityHashMap;false;IdentityHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;LinkedHashMap;false;LinkedHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;LinkedHashMap;false;LinkedHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;LinkedHashSet;false;LinkedHashSet;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;LinkedList;false;LinkedList;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;PriorityQueue;false;PriorityQueue;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;PriorityQueue;false;PriorityQueue;(PriorityQueue);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;PriorityQueue;false;PriorityQueue;(SortedSet);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;TreeMap;false;TreeMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;TreeMap;false;TreeMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;TreeMap;false;TreeMap;(SortedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;TreeMap;false;TreeMap;(SortedMap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "java.util;TreeSet;false;TreeSet;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;TreeSet;false;TreeSet;(SortedSet);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;Vector;false;Vector;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + "java.util;WeakHashMap;false;WeakHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "java.util;WeakHashMap;false;WeakHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl2.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl3.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl4.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl5.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImpl6.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForOnActivityResult.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll index e3602649581..340bfe280b7 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowImplForSerializability.qll @@ -90,14 +90,20 @@ abstract class Configuration extends string { /** Holds if data flow out of `node` is prohibited. */ predicate isBarrierOut(Node node) { none() } - /** Holds if data flow through nodes guarded by `guard` is prohibited. */ - predicate isBarrierGuard(BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * + * Holds if data flow through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isBarrierGuard(BarrierGuard guard) { none() } /** + * DEPRECATED: Use `isBarrier` and `BarrierGuard` module instead. + * * Holds if data flow through nodes guarded by `guard` is prohibited when * the flow state is `state` */ - predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } + deprecated predicate isBarrierGuard(BarrierGuard guard, FlowState state) { none() } /** * Holds if data may flow from `node1` to `node2` in addition to the normal data-flow steps. @@ -335,6 +341,29 @@ private predicate outBarrier(NodeEx node, Configuration config) { ) } +/** A bridge class to access the deprecated `isBarrierGuard`. */ +private class BarrierGuardGuardedNodeBridge extends Unit { + abstract predicate guardedNode(Node n, Configuration config); + + abstract predicate guardedNode(Node n, FlowState state, Configuration config); +} + +private class BarrierGuardGuardedNode extends BarrierGuardGuardedNodeBridge { + deprecated override predicate guardedNode(Node n, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g) and + n = g.getAGuardedNode() + ) + } + + deprecated override predicate guardedNode(Node n, FlowState state, Configuration config) { + exists(BarrierGuard g | + config.isBarrierGuard(g, state) and + n = g.getAGuardedNode() + ) + } +} + pragma[nomagic] private predicate fullBarrier(NodeEx node, Configuration config) { exists(Node n | node.asNode() = n | @@ -348,10 +377,7 @@ private predicate fullBarrier(NodeEx node, Configuration config) { not config.isSink(n) and not config.isSink(n, _) or - exists(BarrierGuard g | - config.isBarrierGuard(g) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, config) ) } @@ -360,10 +386,7 @@ private predicate stateBarrier(NodeEx node, FlowState state, Configuration confi exists(Node n | node.asNode() = n | config.isBarrier(n, state) or - exists(BarrierGuard g | - config.isBarrierGuard(g, state) and - n = g.getAGuardedNode() - ) + any(BarrierGuardGuardedNodeBridge b).guardedNode(n, state, config) ) } @@ -405,7 +428,7 @@ private predicate localFlowStep(NodeEx node1, NodeEx node2, Configuration config exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - simpleLocalFlowStepExt(n1, n2) and + simpleLocalFlowStepExt(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) ) or @@ -424,7 +447,7 @@ private predicate additionalLocalFlowStep(NodeEx node1, NodeEx node2, Configurat exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) ) @@ -443,7 +466,7 @@ private predicate additionalLocalStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) = getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -458,7 +481,7 @@ private predicate jumpStep(NodeEx node1, NodeEx node2, Configuration config) { exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - jumpStepCached(n1, n2) and + jumpStepCached(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext ) @@ -471,7 +494,7 @@ private predicate additionalJumpStep(NodeEx node1, NodeEx node2, Configuration c exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, n2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), pragma[only_bind_into](n2)) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not config.getAFeature() instanceof FeatureEqualSourceSinkCallContext @@ -484,7 +507,7 @@ private predicate additionalJumpStateStep( exists(Node n1, Node n2 | node1.asNode() = n1 and node2.asNode() = n2 and - config.isAdditionalFlowStep(n1, s1, n2, s2) and + config.isAdditionalFlowStep(pragma[only_bind_into](n1), s1, pragma[only_bind_into](n2), s2) and getNodeEnclosingCallable(n1) != getNodeEnclosingCallable(n2) and stepFilter(node1, node2, config) and not stateBarrier(node1, s1, config) and @@ -495,7 +518,7 @@ private predicate additionalJumpStateStep( pragma[nomagic] private predicate readSet(NodeEx node1, ContentSet c, NodeEx node2, Configuration config) { - readSet(node1.asNode(), c, node2.asNode()) and + readSet(pragma[only_bind_into](node1.asNode()), c, pragma[only_bind_into](node2.asNode())) and stepFilter(node1, node2, config) or exists(Node n | @@ -539,7 +562,8 @@ pragma[nomagic] private predicate store( NodeEx node1, TypedContent tc, NodeEx node2, DataFlowType contentType, Configuration config ) { - store(node1.asNode(), tc, node2.asNode(), contentType) and + store(pragma[only_bind_into](node1.asNode()), tc, pragma[only_bind_into](node2.asNode()), + contentType) and read(_, tc.getContent(), _, config) and stepFilter(node1, node2, config) } @@ -573,7 +597,7 @@ private predicate hasSinkCallCtx(Configuration config) { ) } -private module Stage1 { +private module Stage1 implements StageSig { class ApApprox = Unit; class Ap = Unit; @@ -920,12 +944,9 @@ private module Stage1 { predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, config) } bindingset[node, state, config] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, toReturn, pragma[only_bind_into](config)) and + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, _, pragma[only_bind_into](config)) and exists(state) and - exists(returnAp) and exists(ap) } @@ -1118,66 +1139,754 @@ private predicate flowIntoCallNodeCand1( ) } -private module Stage2 { - module PrevStage = Stage1; +private signature module StageSig { + class Ap; + predicate revFlow(NodeEx node, Configuration config); + + bindingset[node, state, config] + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config); + + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config); + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config); + + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ); + + predicate readStepCand(NodeEx n1, Content c, NodeEx n2, Configuration config); +} + +private module MkStage { class ApApprox = PrevStage::Ap; - class Ap = boolean; + signature module StageParam { + class Ap; - class ApNil extends Ap { - ApNil() { this = false } + class ApNil extends Ap; + + bindingset[result, ap] + ApApprox getApprox(Ap ap); + + ApNil getApNil(NodeEx node); + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail); + + Content getHeadContent(Ap ap); + + class ApOption; + + ApOption apNone(); + + ApOption apSome(Ap ap); + + class Cc; + + class CcCall extends Cc; + + // TODO: member predicate on CcCall + predicate matchesCall(CcCall cc, DataFlowCall call); + + class CcNoCall extends Cc; + + Cc ccNone(); + + CcCall ccSomeCall(); + + class LocalCc; + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc); + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc); + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc); + + bindingset[node1, state1, config] + bindingset[node2, state2, config] + predicate localStep( + NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, + ApNil ap, Configuration config, LocalCc lcc + ); + + predicate flowOutOfCall( + DataFlowCall call, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, Configuration config + ); + + predicate flowIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ); + + bindingset[node, state, ap, config] + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config); + + bindingset[ap, contentType] + predicate typecheckStore(Ap ap, DataFlowType contentType); } - bindingset[result, ap] - private ApApprox getApprox(Ap ap) { any() } + module Stage implements StageSig { + import Param - private ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and exists(result) } + /* Begin: Stage logic. */ + bindingset[result, apa] + private ApApprox unbindApa(ApApprox apa) { + pragma[only_bind_out](apa) = pragma[only_bind_out](result) + } - bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + pragma[nomagic] + private predicate flowThroughOutOfCall( + DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, + Configuration config + ) { + flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and + PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, + pragma[only_bind_into](config)) and + matchesCall(ccc, call) + } - pragma[inline] - private Content getHeadContent(Ap ap) { exists(result) and ap = true } + /** + * Holds if `node` is reachable with access path `ap` from a source in the + * configuration `config`. + * + * The call context `cc` records whether the node is reached through an + * argument in a call, and if so, `argAp` records the access path of that + * argument. + */ + pragma[nomagic] + predicate fwdFlow( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + fwdFlow0(node, state, cc, argAp, ap, config) and + PrevStage::revFlow(node, state, unbindApa(getApprox(ap)), config) and + filter(node, state, ap, config) + } - class ApOption = BooleanOption; + pragma[nomagic] + private predicate fwdFlow0( + NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + sourceNode(node, state, config) and + (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and + argAp = apNone() and + ap = getApNil(node) + or + exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | + fwdFlow(mid, state0, cc, argAp, ap0, config) and + localCc = getLocalCc(mid, cc) + | + localStep(mid, state0, node, state, true, _, config, localCc) and + ap = ap0 + or + localStep(mid, state0, node, state, false, ap, config, localCc) and + ap0 instanceof ApNil + ) + or + exists(NodeEx mid | + fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + jumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStep(mid, node, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and + additionalJumpStateStep(mid, state0, node, state, config) and + cc = ccNone() and + argAp = apNone() and + ap = getApNil(node) + ) + or + // store + exists(TypedContent tc, Ap ap0 | + fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and + ap = apCons(tc, ap0) + ) + or + // read + exists(Ap ap0, Content c | + fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and + fwdFlowConsCand(ap0, c, ap, config) + ) + or + // flow into a callable + exists(ApApprox apa | + fwdFlowIn(_, node, state, _, cc, _, ap, config) and + apa = getApprox(ap) and + if PrevStage::parameterMayFlowThrough(node, _, apa, config) + then argAp = apSome(ap) + else argAp = apNone() + ) + or + // flow out of a callable + fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) + or + exists(DataFlowCall call, Ap argAp0 | + fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and + fwdFlowIsEntered(call, cc, argAp, argAp0, config) + ) + } - ApOption apNone() { result = TBooleanNone() } + pragma[nomagic] + private predicate fwdFlowStore( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + exists(DataFlowType contentType | + fwdFlow(node1, state, cc, argAp, ap1, config) and + PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and + typecheckStore(ap1, contentType) + ) + } - ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + /** + * Holds if forward flow with access path `tail` reaches a store of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(TypedContent tc | + fwdFlowStore(_, tail, tc, _, _, _, _, config) and + tc.getContent() = c and + cons = apCons(tc, tail) + ) + } + pragma[nomagic] + private predicate fwdFlowRead( + Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, + Configuration config + ) { + fwdFlow(node1, state, cc, argAp, ap, config) and + PrevStage::readStepCand(node1, c, node2, config) and + getHeadContent(ap) = c + } + + pragma[nomagic] + private predicate fwdFlowIn( + DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, + Ap ap, Configuration config + ) { + exists(ArgNodeEx arg, boolean allowsFieldFlow | + fwdFlow(arg, state, outercc, argAp, ap, config) and + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutNotFromArg( + NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config + ) { + exists( + DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, + DataFlowCallable inner + | + fwdFlow(ret, state, innercc, argAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + inner = ret.getEnclosingCallable() and + ccOut = getCallContextReturn(inner, call, innercc) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate fwdFlowOutFromArg( + DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | + fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and + flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` + * and data might flow through the target callable and back out at `call`. + */ + pragma[nomagic] + private predicate fwdFlowIsEntered( + DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p | + fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and + PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) + ) + } + + pragma[nomagic] + private predicate storeStepFwd( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config + ) { + fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and + ap2 = apCons(tc, ap1) and + fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) + } + + private predicate readStepFwd( + NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config + ) { + fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and + fwdFlowConsCand(ap1, c, ap2, config) + } + + pragma[nomagic] + private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { + exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, + pragma[only_bind_into](config)) and + fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and + fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), + pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), + pragma[only_bind_into](config)) + ) + } + + pragma[nomagic] + private predicate flowThroughIntoCall( + DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config + ) { + flowIntoCall(call, arg, p, allowsFieldFlow, config) and + fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and + PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and + callMayFlowThroughFwd(call, pragma[only_bind_into](config)) + } + + pragma[nomagic] + private predicate returnNodeMayFlowThrough( + RetNodeEx ret, FlowState state, Ap ap, Configuration config + ) { + fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) + } + + /** + * Holds if `node` with access path `ap` is part of a path from a source to a + * sink in the configuration `config`. + * + * The Boolean `toReturn` records whether the node must be returned from the + * enclosing callable in order to reach a sink, and if so, `returnAp` records + * the access path of the returned value. + */ + pragma[nomagic] + predicate revFlow( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + revFlow0(node, state, toReturn, returnAp, ap, config) and + fwdFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + private predicate revFlow0( + NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + fwdFlow(node, state, _, _, ap, config) and + sinkNode(node, state, config) and + (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and + returnAp = apNone() and + ap instanceof ApNil + or + exists(NodeEx mid, FlowState state0 | + localStep(node, state, mid, state0, true, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, ap, config) + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and + localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and + revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and + ap instanceof ApNil + ) + or + exists(NodeEx mid | + jumpStep(node, mid, config) and + revFlow(mid, state, _, _, ap, config) and + toReturn = false and + returnAp = apNone() + ) + or + exists(NodeEx mid, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStep(node, mid, config) and + revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + exists(NodeEx mid, FlowState state0, ApNil nil | + fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and + additionalJumpStateStep(node, state, mid, state0, config) and + revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, + pragma[only_bind_into](config)) and + toReturn = false and + returnAp = apNone() and + ap instanceof ApNil + ) + or + // store + exists(Ap ap0, Content c | + revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and + revFlowConsCand(ap0, c, ap, config) + ) + or + // read + exists(NodeEx mid, Ap ap0 | + revFlow(mid, state, toReturn, returnAp, ap0, config) and + readStepFwd(node, ap, _, mid, ap0, config) + ) + or + // flow into a callable + revFlowInNotToReturn(node, state, returnAp, ap, config) and + toReturn = false + or + exists(DataFlowCall call, Ap returnAp0 | + revFlowInToReturn(call, node, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + or + // flow out of a callable + revFlowOut(_, node, state, _, _, ap, config) and + toReturn = true and + if returnNodeMayFlowThrough(node, state, ap, config) + then returnAp = apSome(ap) + else returnAp = apNone() + } + + pragma[nomagic] + private predicate revFlowStore( + Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, + boolean toReturn, ApOption returnAp, Configuration config + ) { + revFlow(mid, state, toReturn, returnAp, ap0, config) and + storeStepFwd(node, ap, tc, mid, ap0, config) and + tc.getContent() = c + } + + /** + * Holds if reverse flow with access path `tail` reaches a read of `c` + * resulting in access path `cons`. + */ + pragma[nomagic] + private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { + exists(NodeEx mid, Ap tail0 | + revFlow(mid, _, _, _, tail, config) and + tail = pragma[only_bind_into](tail0) and + readStepFwd(_, cons, c, mid, tail0, config) + ) + } + + pragma[nomagic] + private predicate revFlowOut( + DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, + Configuration config + ) { + exists(NodeEx out, boolean allowsFieldFlow | + revFlow(out, state, toReturn, returnAp, ap, config) and + flowOutOfCall(call, ret, out, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInNotToReturn( + ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, false, returnAp, ap, config) and + flowIntoCall(_, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + pragma[nomagic] + private predicate revFlowInToReturn( + DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config + ) { + exists(ParamNodeEx p, boolean allowsFieldFlow | + revFlow(p, state, true, apSome(returnAp), ap, config) and + flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and + if allowsFieldFlow = false then ap instanceof ApNil else any() + ) + } + + /** + * Holds if an output from `call` is reached in the flow covered by `revFlow` + * and data might flow through the target callable resulting in reverse flow + * reaching an argument of `call`. + */ + pragma[nomagic] + private predicate revFlowIsReturned( + DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config + ) { + exists(RetNodeEx ret, FlowState state, CcCall ccc | + revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and + fwdFlow(ret, state, ccc, apSome(_), ap, config) and + matchesCall(ccc, call) + ) + } + + pragma[nomagic] + predicate storeStepCand( + NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, + Configuration config + ) { + exists(Ap ap2, Content c | + PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and + revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and + revFlowConsCand(ap2, c, ap1, config) + ) + } + + predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { + exists(Ap ap1, Ap ap2 | + revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and + readStepFwd(node1, ap1, c, node2, ap2, config) and + revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, + pragma[only_bind_into](config)) + ) + } + + predicate revFlow(NodeEx node, FlowState state, Configuration config) { + revFlow(node, state, _, _, _, config) + } + + predicate revFlow(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, _, _, ap, config) + } + + pragma[nomagic] + predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } + + // use an alias as a workaround for bad functionality-induced joins + pragma[nomagic] + predicate revFlowAlias(NodeEx node, FlowState state, Ap ap, Configuration config) { + revFlow(node, state, ap, config) + } + + private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepFwd(_, ap, tc, _, _, config) + } + + private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { + storeStepCand(_, ap, tc, _, _, config) + } + + private predicate validAp(Ap ap, Configuration config) { + revFlow(_, _, _, _, ap, config) and ap instanceof ApNil + or + exists(TypedContent head, Ap tail | + consCand(head, tail, config) and + ap = apCons(head, tail) + ) + } + + predicate consCand(TypedContent tc, Ap ap, Configuration config) { + revConsCand(tc, ap, config) and + validAp(ap, config) + } + + pragma[noinline] + private predicate parameterFlow( + ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config + ) { + revFlow(p, _, true, apSome(ap0), ap, config) and + c = p.getEnclosingCallable() + } + + predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { + exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | + parameterFlow(p, ap, ap0, c, config) and + c = ret.getEnclosingCallable() and + revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), + pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and + fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and + kind = ret.getKind() and + p.getPosition() = pos and + // we don't expect a parameter to return stored in itself, unless explicitly allowed + ( + not kind.(ParamUpdateReturnKind).getPosition() = pos + or + p.allowParameterReturnInSelf() + ) + ) + } + + pragma[nomagic] + predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { + exists( + Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap + | + revFlow(arg, state, toReturn, returnAp, ap, config) and + revFlowInToReturn(call, arg, state, returnAp0, ap, config) and + revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) + ) + } + + predicate stats( + boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config + ) { + fwd = true and + nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and + states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | + fwdFlow(n, state, cc, argAp, ap, config) + ) + or + fwd = false and + nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and + fields = count(TypedContent f0 | consCand(f0, _, config)) and + conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and + states = count(FlowState state | revFlow(_, state, _, _, _, config)) and + tuples = + count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | + revFlow(n, state, b, retAp, ap, config) + ) + } + /* End: Stage logic. */ + } +} + +private module BooleanCallContext { + class Cc extends boolean { + Cc() { this in [true, false] } + } + + class CcCall extends Cc { + CcCall() { this = true } + } + + /** Holds if the call context may be `call`. */ + predicate matchesCall(CcCall cc, DataFlowCall call) { any() } + + class CcNoCall extends Cc { + CcNoCall() { this = false } + } + + Cc ccNone() { result = false } + + CcCall ccSomeCall() { result = true } + + class LocalCc = Unit; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } + + bindingset[call, c, innercc] + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } +} + +private module Level1CallContext { class Cc = CallContext; class CcCall = CallContextCall; + pragma[inline] + predicate matchesCall(CcCall cc, DataFlowCall call) { cc.matchesCall(call) } + class CcNoCall = CallContextNoCall; Cc ccNone() { result instanceof CallContextAny } CcCall ccSomeCall() { result instanceof CallContextSomeCall } - private class LocalCc = Unit; + module NoLocalCallContext { + class LocalCc = Unit; - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSiteDispatch(call, c) - then result = TSpecificCall(call) - else result = TSomeCall() + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { any() } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSiteDispatch(call, c) + then result = TSpecificCall(call) + else result = TSomeCall() + } + } + + module LocalCallContext { + class LocalCc = LocalCallContext; + + bindingset[node, cc] + LocalCc getLocalCc(NodeEx node, Cc cc) { + result = + getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), + node.getEnclosingCallable()) + } + + bindingset[call, c, outercc] + CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { + checkCallContextCall(outercc, call, c) and + if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() + } } bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { + CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { checkCallContextReturn(innercc, c, call) and if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() } +} - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } +private module Stage2Param implements MkStage::StageParam { + private module PrevStage = Stage1; + + class Ap extends boolean { + Ap() { this in [true, false] } + } + + class ApNil extends Ap { + ApNil() { this = false } + } + + bindingset[result, ap] + PrevStage::Ap getApprox(Ap ap) { any() } + + ApNil getApNil(NodeEx node) { Stage1::revFlow(node, _) and exists(result) } + + bindingset[tc, tail] + Ap apCons(TypedContent tc, Ap tail) { result = true and exists(tc) and exists(tail) } + + pragma[inline] + Content getHeadContent(Ap ap) { exists(result) and ap = true } + + class ApOption = BooleanOption; + + ApOption apNone() { result = TBooleanNone() } + + ApOption apSome(Ap ap) { result = TBooleanSome(ap) } + + import Level1CallContext + import NoLocalCallContext bindingset[node1, state1, config] bindingset[node2, state2, config] - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -1197,9 +1906,9 @@ private module Stage2 { exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand1/5; + predicate flowOutOfCall = flowOutOfCallNodeCand1/5; - private predicate flowIntoCall = flowIntoCallNodeCand1/5; + predicate flowIntoCall = flowIntoCallNodeCand1/5; pragma[nomagic] private predicate expectsContentCand(NodeEx node, Configuration config) { @@ -1211,7 +1920,7 @@ private module Stage2 { } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { PrevStage::revFlowState(state, pragma[only_bind_into](config)) and exists(ap) and not stateBarrier(node, state, config) and @@ -1224,542 +1933,11 @@ private module Stage2 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } +} - /* Begin: Stage 2 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 2 logic. */ +private module Stage2 implements StageSig { + import MkStage::Stage } pragma[nomagic] @@ -1859,14 +2037,13 @@ private module LocalFlowBigStep { ) { additionalLocalFlowStepNodeCand1(node1, node2, config) and state1 = state2 and - Stage2::revFlow(node1, pragma[only_bind_into](state1), _, _, false, - pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), _, _, false, + Stage2::revFlow(node1, pragma[only_bind_into](state1), false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, pragma[only_bind_into](state2), false, pragma[only_bind_into](config)) or additionalLocalStateStep(node1, state1, node2, state2, config) and - Stage2::revFlow(node1, state1, _, _, false, pragma[only_bind_into](config)) and - Stage2::revFlowAlias(node2, state2, _, _, false, pragma[only_bind_into](config)) + Stage2::revFlow(node1, state1, false, pragma[only_bind_into](config)) and + Stage2::revFlowAlias(node2, state2, false, pragma[only_bind_into](config)) } /** @@ -1943,26 +2120,24 @@ private module LocalFlowBigStep { private import LocalFlowBigStep -private module Stage3 { - module PrevStage = Stage2; - - class ApApprox = PrevStage::Ap; +private module Stage3Param implements MkStage::StageParam { + private module PrevStage = Stage2; class Ap = AccessPathFront; class ApNil = AccessPathFrontNil; - private ApApprox getApprox(Ap ap) { result = ap.toBoolNonEmpty() } + PrevStage::Ap getApprox(Ap ap) { result = ap.toBoolNonEmpty() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TFrontNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } + Ap apCons(TypedContent tc, Ap tail) { result.getHead() = tc and exists(tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathFrontOption; @@ -1970,44 +2145,18 @@ private module Stage3 { ApOption apSome(Ap ap) { result = TAccessPathFrontSome(ap) } - class Cc = boolean; + import BooleanCallContext - class CcCall extends Cc { - CcCall() { this = true } - - /** Holds if this call context may be `call`. */ - predicate matchesCall(DataFlowCall call) { any() } - } - - class CcNoCall extends Cc { - CcNoCall() { this = false } - } - - Cc ccNone() { result = false } - - CcCall ccSomeCall() { result = true } - - private class LocalCc = Unit; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { any() } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { any() } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { any() } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { localFlowBigStep(node1, state1, node2, state2, preservesValue, ap, config, _) and exists(lcc) } - private predicate flowOutOfCall = flowOutOfCallNodeCand2/5; + predicate flowOutOfCall = flowOutOfCallNodeCand2/5; - private predicate flowIntoCall = flowIntoCallNodeCand2/5; + predicate flowIntoCall = flowIntoCallNodeCand2/5; pragma[nomagic] private predicate clearSet(NodeEx node, ContentSet c, Configuration config) { @@ -2043,7 +2192,7 @@ private module Stage3 { private predicate castingNodeEx(NodeEx node) { node.asNode() instanceof CastingNode } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { exists(state) and exists(config) and not clear(node, ap, config) and @@ -2056,546 +2205,15 @@ private module Stage3 { } bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { + predicate typecheckStore(Ap ap, DataFlowType contentType) { // We need to typecheck stores here, since reverse flow through a getter // might have a different type here compared to inside the getter. compatibleTypes(ap.getType(), contentType) } +} - /* Begin: Stage 3 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 3 logic. */ +private module Stage3 implements StageSig { + import MkStage::Stage } /** @@ -2620,7 +2238,7 @@ private predicate expensiveLen2unfolding(TypedContent tc, Configuration config) tails = strictcount(AccessPathFront apf | Stage3::consCand(tc, apf, config)) and nodes = strictcount(NodeEx n, FlowState state | - Stage3::revFlow(n, state, _, _, any(AccessPathFrontHead apf | apf.getHead() = tc), config) + Stage3::revFlow(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) or flowCandSummaryCtx(n, state, any(AccessPathFrontHead apf | apf.getHead() = tc), config) ) and @@ -2804,26 +2422,24 @@ private class AccessPathApproxOption extends TAccessPathApproxOption { } } -private module Stage4 { - module PrevStage = Stage3; - - class ApApprox = PrevStage::Ap; +private module Stage4Param implements MkStage::StageParam { + private module PrevStage = Stage3; class Ap = AccessPathApprox; class ApNil = AccessPathApproxNil; - private ApApprox getApprox(Ap ap) { result = ap.getFront() } + PrevStage::Ap getApprox(Ap ap) { result = ap.getFront() } - private ApNil getApNil(NodeEx node) { + ApNil getApNil(NodeEx node) { PrevStage::revFlow(node, _) and result = TNil(node.getDataFlowType()) } bindingset[tc, tail] - private Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } + Ap apCons(TypedContent tc, Ap tail) { result = push(tc, tail) } pragma[noinline] - private Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } + Content getHeadContent(Ap ap) { result = ap.getHead().getContent() } class ApOption = AccessPathApproxOption; @@ -2831,38 +2447,10 @@ private module Stage4 { ApOption apSome(Ap ap) { result = TAccessPathApproxSome(ap) } - class Cc = CallContext; + import Level1CallContext + import LocalCallContext - class CcCall = CallContextCall; - - class CcNoCall = CallContextNoCall; - - Cc ccNone() { result instanceof CallContextAny } - - CcCall ccSomeCall() { result instanceof CallContextSomeCall } - - private class LocalCc = LocalCallContext; - - bindingset[call, c, outercc] - private CcCall getCallContextCall(DataFlowCall call, DataFlowCallable c, Cc outercc) { - checkCallContextCall(outercc, call, c) and - if recordDataFlowCallSite(call, c) then result = TSpecificCall(call) else result = TSomeCall() - } - - bindingset[call, c, innercc] - private CcNoCall getCallContextReturn(DataFlowCallable c, DataFlowCall call, Cc innercc) { - checkCallContextReturn(innercc, c, call) and - if reducedViableImplInReturn(c, call) then result = TReturn(c, call) else result = ccNone() - } - - bindingset[node, cc] - private LocalCc getLocalCc(NodeEx node, Cc cc) { - result = - getLocalCallContext(pragma[only_bind_into](pragma[only_bind_out](cc)), - node.getEnclosingCallable()) - } - - private predicate localStep( + predicate localStep( NodeEx node1, FlowState state1, NodeEx node2, FlowState state2, boolean preservesValue, ApNil ap, Configuration config, LocalCc lcc ) { @@ -2870,575 +2458,40 @@ private module Stage4 { } pragma[nomagic] - private predicate flowOutOfCall( + predicate flowOutOfCall( DataFlowCall call, RetNodeEx node1, NodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowOutOfCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } pragma[nomagic] - private predicate flowIntoCall( + predicate flowIntoCall( DataFlowCall call, ArgNodeEx node1, ParamNodeEx node2, boolean allowsFieldFlow, Configuration config ) { exists(FlowState state | flowIntoCallNodeCand2(call, node1, node2, allowsFieldFlow, config) and - PrevStage::revFlow(node2, pragma[only_bind_into](state), _, _, _, - pragma[only_bind_into](config)) and - PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, _, _, + PrevStage::revFlow(node2, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) and + PrevStage::revFlowAlias(node1, pragma[only_bind_into](state), _, pragma[only_bind_into](config)) ) } bindingset[node, state, ap, config] - private predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } + predicate filter(NodeEx node, FlowState state, Ap ap, Configuration config) { any() } // Type checking is not necessary here as it has already been done in stage 3. bindingset[ap, contentType] - private predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } - - /* Begin: Stage 4 logic. */ - bindingset[node, state, config] - private predicate flowCand(NodeEx node, FlowState state, ApApprox apa, Configuration config) { - PrevStage::revFlow(node, state, _, _, apa, config) - } - - bindingset[result, apa] - private ApApprox unbindApa(ApApprox apa) { - pragma[only_bind_out](apa) = pragma[only_bind_out](result) - } - - pragma[nomagic] - private predicate flowThroughOutOfCall( - DataFlowCall call, CcCall ccc, RetNodeEx ret, NodeEx out, boolean allowsFieldFlow, - Configuration config - ) { - flowOutOfCall(call, ret, out, allowsFieldFlow, pragma[only_bind_into](config)) and - PrevStage::callMayFlowThroughRev(call, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(_, ret.getEnclosingCallable(), _, - pragma[only_bind_into](config)) and - ccc.matchesCall(call) - } - - /** - * Holds if `node` is reachable with access path `ap` from a source in the - * configuration `config`. - * - * The call context `cc` records whether the node is reached through an - * argument in a call, and if so, `argAp` records the access path of that - * argument. - */ - pragma[nomagic] - predicate fwdFlow(NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config) { - fwdFlow0(node, state, cc, argAp, ap, config) and - flowCand(node, state, unbindApa(getApprox(ap)), config) and - filter(node, state, ap, config) - } - - pragma[nomagic] - private predicate fwdFlow0( - NodeEx node, FlowState state, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - sourceNode(node, state, config) and - (if hasSourceCallCtx(config) then cc = ccSomeCall() else cc = ccNone()) and - argAp = apNone() and - ap = getApNil(node) - or - exists(NodeEx mid, FlowState state0, Ap ap0, LocalCc localCc | - fwdFlow(mid, state0, cc, argAp, ap0, config) and - localCc = getLocalCc(mid, cc) - | - localStep(mid, state0, node, state, true, _, config, localCc) and - ap = ap0 - or - localStep(mid, state0, node, state, false, ap, config, localCc) and - ap0 instanceof ApNil - ) - or - exists(NodeEx mid | - fwdFlow(mid, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - jumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(mid, state, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStep(mid, node, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(mid, state0, _, _, nil, pragma[only_bind_into](config)) and - additionalJumpStateStep(mid, state0, node, state, config) and - cc = ccNone() and - argAp = apNone() and - ap = getApNil(node) - ) - or - // store - exists(TypedContent tc, Ap ap0 | - fwdFlowStore(_, ap0, tc, node, state, cc, argAp, config) and - ap = apCons(tc, ap0) - ) - or - // read - exists(Ap ap0, Content c | - fwdFlowRead(ap0, c, _, node, state, cc, argAp, config) and - fwdFlowConsCand(ap0, c, ap, config) - ) - or - // flow into a callable - exists(ApApprox apa | - fwdFlowIn(_, node, state, _, cc, _, ap, config) and - apa = getApprox(ap) and - if PrevStage::parameterMayFlowThrough(node, _, apa, config) - then argAp = apSome(ap) - else argAp = apNone() - ) - or - // flow out of a callable - fwdFlowOutNotFromArg(node, state, cc, argAp, ap, config) - or - exists(DataFlowCall call, Ap argAp0 | - fwdFlowOutFromArg(call, node, state, argAp0, ap, config) and - fwdFlowIsEntered(call, cc, argAp, argAp0, config) - ) - } - - pragma[nomagic] - private predicate fwdFlowStore( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - exists(DataFlowType contentType | - fwdFlow(node1, state, cc, argAp, ap1, config) and - PrevStage::storeStepCand(node1, unbindApa(getApprox(ap1)), tc, node2, contentType, config) and - typecheckStore(ap1, contentType) - ) - } - - /** - * Holds if forward flow with access path `tail` reaches a store of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate fwdFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(TypedContent tc | - fwdFlowStore(_, tail, tc, _, _, _, _, config) and - tc.getContent() = c and - cons = apCons(tc, tail) - ) - } - - pragma[nomagic] - private predicate fwdFlowRead( - Ap ap, Content c, NodeEx node1, NodeEx node2, FlowState state, Cc cc, ApOption argAp, - Configuration config - ) { - fwdFlow(node1, state, cc, argAp, ap, config) and - PrevStage::readStepCand(node1, c, node2, config) and - getHeadContent(ap) = c - } - - pragma[nomagic] - private predicate fwdFlowIn( - DataFlowCall call, ParamNodeEx p, FlowState state, Cc outercc, Cc innercc, ApOption argAp, - Ap ap, Configuration config - ) { - exists(ArgNodeEx arg, boolean allowsFieldFlow | - fwdFlow(arg, state, outercc, argAp, ap, config) and - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - innercc = getCallContextCall(call, p.getEnclosingCallable(), outercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutNotFromArg( - NodeEx out, FlowState state, Cc ccOut, ApOption argAp, Ap ap, Configuration config - ) { - exists( - DataFlowCall call, RetNodeEx ret, boolean allowsFieldFlow, CcNoCall innercc, - DataFlowCallable inner - | - fwdFlow(ret, state, innercc, argAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - inner = ret.getEnclosingCallable() and - ccOut = getCallContextReturn(inner, call, innercc) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate fwdFlowOutFromArg( - DataFlowCall call, NodeEx out, FlowState state, Ap argAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, boolean allowsFieldFlow, CcCall ccc | - fwdFlow(ret, state, ccc, apSome(argAp), ap, config) and - flowThroughOutOfCall(call, ccc, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an argument to `call` is reached in the flow covered by `fwdFlow` - * and data might flow through the target callable and back out at `call`. - */ - pragma[nomagic] - private predicate fwdFlowIsEntered( - DataFlowCall call, Cc cc, ApOption argAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p | - fwdFlowIn(call, p, _, cc, _, argAp, ap, config) and - PrevStage::parameterMayFlowThrough(p, _, unbindApa(getApprox(ap)), config) - ) - } - - pragma[nomagic] - private predicate storeStepFwd( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, Ap ap2, Configuration config - ) { - fwdFlowStore(node1, ap1, tc, node2, _, _, _, config) and - ap2 = apCons(tc, ap1) and - fwdFlowRead(ap2, tc.getContent(), _, _, _, _, _, config) - } - - private predicate readStepFwd( - NodeEx n1, Ap ap1, Content c, NodeEx n2, Ap ap2, Configuration config - ) { - fwdFlowRead(ap1, c, n1, n2, _, _, _, config) and - fwdFlowConsCand(ap1, c, ap2, config) - } - - pragma[nomagic] - private predicate callMayFlowThroughFwd(DataFlowCall call, Configuration config) { - exists(Ap argAp0, NodeEx out, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(out, state, pragma[only_bind_into](cc), pragma[only_bind_into](argAp), ap, - pragma[only_bind_into](config)) and - fwdFlowOutFromArg(call, out, state, argAp0, ap, config) and - fwdFlowIsEntered(pragma[only_bind_into](call), pragma[only_bind_into](cc), - pragma[only_bind_into](argAp), pragma[only_bind_into](argAp0), - pragma[only_bind_into](config)) - ) - } - - pragma[nomagic] - private predicate flowThroughIntoCall( - DataFlowCall call, ArgNodeEx arg, ParamNodeEx p, boolean allowsFieldFlow, Configuration config - ) { - flowIntoCall(call, arg, p, allowsFieldFlow, config) and - fwdFlow(arg, _, _, _, _, pragma[only_bind_into](config)) and - PrevStage::parameterMayFlowThrough(p, _, _, pragma[only_bind_into](config)) and - callMayFlowThroughFwd(call, pragma[only_bind_into](config)) - } - - pragma[nomagic] - private predicate returnNodeMayFlowThrough( - RetNodeEx ret, FlowState state, Ap ap, Configuration config - ) { - fwdFlow(ret, state, any(CcCall ccc), apSome(_), ap, config) - } - - /** - * Holds if `node` with access path `ap` is part of a path from a source to a - * sink in the configuration `config`. - * - * The Boolean `toReturn` records whether the node must be returned from the - * enclosing callable in order to reach a sink, and if so, `returnAp` records - * the access path of the returned value. - */ - pragma[nomagic] - predicate revFlow( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow0(node, state, toReturn, returnAp, ap, config) and - fwdFlow(node, state, _, _, ap, config) - } - - pragma[nomagic] - private predicate revFlow0( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - fwdFlow(node, state, _, _, ap, config) and - sinkNode(node, state, config) and - (if hasSinkCallCtx(config) then toReturn = true else toReturn = false) and - returnAp = apNone() and - ap instanceof ApNil - or - exists(NodeEx mid, FlowState state0 | - localStep(node, state, mid, state0, true, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, ap, config) - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, pragma[only_bind_into](state), _, _, ap, pragma[only_bind_into](config)) and - localStep(node, pragma[only_bind_into](state), mid, state0, false, _, config, _) and - revFlow(mid, state0, toReturn, returnAp, nil, pragma[only_bind_into](config)) and - ap instanceof ApNil - ) - or - exists(NodeEx mid | - jumpStep(node, mid, config) and - revFlow(mid, state, _, _, ap, config) and - toReturn = false and - returnAp = apNone() - ) - or - exists(NodeEx mid, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStep(node, mid, config) and - revFlow(pragma[only_bind_into](mid), state, _, _, nil, pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - exists(NodeEx mid, FlowState state0, ApNil nil | - fwdFlow(node, _, _, _, ap, pragma[only_bind_into](config)) and - additionalJumpStateStep(node, state, mid, state0, config) and - revFlow(pragma[only_bind_into](mid), pragma[only_bind_into](state0), _, _, nil, - pragma[only_bind_into](config)) and - toReturn = false and - returnAp = apNone() and - ap instanceof ApNil - ) - or - // store - exists(Ap ap0, Content c | - revFlowStore(ap0, c, ap, node, state, _, _, toReturn, returnAp, config) and - revFlowConsCand(ap0, c, ap, config) - ) - or - // read - exists(NodeEx mid, Ap ap0 | - revFlow(mid, state, toReturn, returnAp, ap0, config) and - readStepFwd(node, ap, _, mid, ap0, config) - ) - or - // flow into a callable - revFlowInNotToReturn(node, state, returnAp, ap, config) and - toReturn = false - or - exists(DataFlowCall call, Ap returnAp0 | - revFlowInToReturn(call, node, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - or - // flow out of a callable - revFlowOut(_, node, state, _, _, ap, config) and - toReturn = true and - if returnNodeMayFlowThrough(node, state, ap, config) - then returnAp = apSome(ap) - else returnAp = apNone() - } - - pragma[nomagic] - private predicate revFlowStore( - Ap ap0, Content c, Ap ap, NodeEx node, FlowState state, TypedContent tc, NodeEx mid, - boolean toReturn, ApOption returnAp, Configuration config - ) { - revFlow(mid, state, toReturn, returnAp, ap0, config) and - storeStepFwd(node, ap, tc, mid, ap0, config) and - tc.getContent() = c - } - - /** - * Holds if reverse flow with access path `tail` reaches a read of `c` - * resulting in access path `cons`. - */ - pragma[nomagic] - private predicate revFlowConsCand(Ap cons, Content c, Ap tail, Configuration config) { - exists(NodeEx mid, Ap tail0 | - revFlow(mid, _, _, _, tail, config) and - tail = pragma[only_bind_into](tail0) and - readStepFwd(_, cons, c, mid, tail0, config) - ) - } - - pragma[nomagic] - private predicate revFlowOut( - DataFlowCall call, RetNodeEx ret, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, - Configuration config - ) { - exists(NodeEx out, boolean allowsFieldFlow | - revFlow(out, state, toReturn, returnAp, ap, config) and - flowOutOfCall(call, ret, out, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInNotToReturn( - ArgNodeEx arg, FlowState state, ApOption returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, false, returnAp, ap, config) and - flowIntoCall(_, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - pragma[nomagic] - private predicate revFlowInToReturn( - DataFlowCall call, ArgNodeEx arg, FlowState state, Ap returnAp, Ap ap, Configuration config - ) { - exists(ParamNodeEx p, boolean allowsFieldFlow | - revFlow(p, state, true, apSome(returnAp), ap, config) and - flowThroughIntoCall(call, arg, p, allowsFieldFlow, config) and - if allowsFieldFlow = false then ap instanceof ApNil else any() - ) - } - - /** - * Holds if an output from `call` is reached in the flow covered by `revFlow` - * and data might flow through the target callable resulting in reverse flow - * reaching an argument of `call`. - */ - pragma[nomagic] - private predicate revFlowIsReturned( - DataFlowCall call, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - exists(RetNodeEx ret, FlowState state, CcCall ccc | - revFlowOut(call, ret, state, toReturn, returnAp, ap, config) and - fwdFlow(ret, state, ccc, apSome(_), ap, config) and - ccc.matchesCall(call) - ) - } - - pragma[nomagic] - predicate storeStepCand( - NodeEx node1, Ap ap1, TypedContent tc, NodeEx node2, DataFlowType contentType, - Configuration config - ) { - exists(Ap ap2, Content c | - PrevStage::storeStepCand(node1, _, tc, node2, contentType, config) and - revFlowStore(ap2, c, ap1, node1, _, tc, node2, _, _, config) and - revFlowConsCand(ap2, c, ap1, config) - ) - } - - predicate readStepCand(NodeEx node1, Content c, NodeEx node2, Configuration config) { - exists(Ap ap1, Ap ap2 | - revFlow(node2, _, _, _, pragma[only_bind_into](ap2), pragma[only_bind_into](config)) and - readStepFwd(node1, ap1, c, node2, ap2, config) and - revFlowStore(ap1, c, pragma[only_bind_into](ap2), _, _, _, _, _, _, - pragma[only_bind_into](config)) - ) - } - - predicate revFlow(NodeEx node, FlowState state, Configuration config) { - revFlow(node, state, _, _, _, config) - } - - pragma[nomagic] - predicate revFlow(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias(NodeEx node, Configuration config) { revFlow(node, _, _, _, _, config) } - - // use an alias as a workaround for bad functionality-induced joins - pragma[nomagic] - predicate revFlowAlias( - NodeEx node, FlowState state, boolean toReturn, ApOption returnAp, Ap ap, Configuration config - ) { - revFlow(node, state, toReturn, returnAp, ap, config) - } - - private predicate fwdConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepFwd(_, ap, tc, _, _, config) - } - - private predicate revConsCand(TypedContent tc, Ap ap, Configuration config) { - storeStepCand(_, ap, tc, _, _, config) - } - - private predicate validAp(Ap ap, Configuration config) { - revFlow(_, _, _, _, ap, config) and ap instanceof ApNil - or - exists(TypedContent head, Ap tail | - consCand(head, tail, config) and - ap = apCons(head, tail) - ) - } - - predicate consCand(TypedContent tc, Ap ap, Configuration config) { - revConsCand(tc, ap, config) and - validAp(ap, config) - } - - pragma[noinline] - private predicate parameterFlow( - ParamNodeEx p, Ap ap, Ap ap0, DataFlowCallable c, Configuration config - ) { - revFlow(p, _, true, apSome(ap0), ap, config) and - c = p.getEnclosingCallable() - } - - predicate parameterMayFlowThrough(ParamNodeEx p, DataFlowCallable c, Ap ap, Configuration config) { - exists(RetNodeEx ret, FlowState state, Ap ap0, ReturnKindExt kind, ParameterPosition pos | - parameterFlow(p, ap, ap0, c, config) and - c = ret.getEnclosingCallable() and - revFlow(pragma[only_bind_into](ret), pragma[only_bind_into](state), true, apSome(_), - pragma[only_bind_into](ap0), pragma[only_bind_into](config)) and - fwdFlow(ret, state, any(CcCall ccc), apSome(ap), ap0, config) and - kind = ret.getKind() and - p.getPosition() = pos and - // we don't expect a parameter to return stored in itself, unless explicitly allowed - ( - not kind.(ParamUpdateReturnKind).getPosition() = pos - or - p.allowParameterReturnInSelf() - ) - ) - } - - pragma[nomagic] - predicate callMayFlowThroughRev(DataFlowCall call, Configuration config) { - exists( - Ap returnAp0, ArgNodeEx arg, FlowState state, boolean toReturn, ApOption returnAp, Ap ap - | - revFlow(arg, state, toReturn, returnAp, ap, config) and - revFlowInToReturn(call, arg, state, returnAp0, ap, config) and - revFlowIsReturned(call, toReturn, returnAp, returnAp0, config) - ) - } - - predicate stats( - boolean fwd, int nodes, int fields, int conscand, int states, int tuples, Configuration config - ) { - fwd = true and - nodes = count(NodeEx node | fwdFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | fwdConsCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | fwdConsCand(f0, ap, config)) and - states = count(FlowState state | fwdFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, Cc cc, ApOption argAp, Ap ap | - fwdFlow(n, state, cc, argAp, ap, config) - ) - or - fwd = false and - nodes = count(NodeEx node | revFlow(node, _, _, _, _, config)) and - fields = count(TypedContent f0 | consCand(f0, _, config)) and - conscand = count(TypedContent f0, Ap ap | consCand(f0, ap, config)) and - states = count(FlowState state | revFlow(_, state, _, _, _, config)) and - tuples = - count(NodeEx n, FlowState state, boolean b, ApOption retAp, Ap ap | - revFlow(n, state, b, retAp, ap, config) - ) - } - /* End: Stage 4 logic. */ + predicate typecheckStore(Ap ap, DataFlowType contentType) { any() } } +private module Stage4 = MkStage::Stage; + bindingset[conf, result] private Configuration unbindConf(Configuration conf) { exists(Configuration c | result = pragma[only_bind_into](c) and conf = pragma[only_bind_into](c)) @@ -3471,7 +2524,7 @@ private newtype TSummaryCtx = TSummaryCtxSome(ParamNodeEx p, FlowState state, AccessPath ap) { exists(Configuration config | Stage4::parameterMayFlowThrough(p, _, ap.getApprox(), config) and - Stage4::revFlow(p, state, _, _, _, config) + Stage4::revFlow(p, state, _, config) ) } @@ -3529,7 +2582,7 @@ private int count1to2unfold(AccessPathApproxCons1 apa, Configuration config) { private int countNodesUsingAccessPath(AccessPathApprox apa, Configuration config) { result = strictcount(NodeEx n, FlowState state | - Stage4::revFlow(n, state, _, _, apa, config) or nodeMayUseSummary(n, state, apa, config) + Stage4::revFlow(n, state, apa, config) or nodeMayUseSummary(n, state, apa, config) ) } @@ -3643,7 +2696,7 @@ private newtype TPathNode = exists(PathNodeMid mid | pathStep(mid, node, state, cc, sc, ap) and pragma[only_bind_into](config) = mid.getConfiguration() and - Stage4::revFlow(node, state, _, _, ap.getApprox(), pragma[only_bind_into](config)) + Stage4::revFlow(node, state, ap.getApprox(), pragma[only_bind_into](config)) ) } or TPathNodeSink(NodeEx node, FlowState state, Configuration config) { @@ -4183,7 +3236,7 @@ private NodeEx getAnOutNodeFlow( ReturnKindExt kind, DataFlowCall call, AccessPathApprox apa, Configuration config ) { result.asNode() = kind.getAnOutNode(call) and - Stage4::revFlow(result, _, _, _, apa, config) + Stage4::revFlow(result, _, apa, config) } /** @@ -4219,7 +3272,7 @@ private predicate parameterCand( DataFlowCallable callable, ParameterPosition pos, AccessPathApprox apa, Configuration config ) { exists(ParamNodeEx p | - Stage4::revFlow(p, _, _, _, apa, config) and + Stage4::revFlow(p, _, apa, config) and p.isParameterOf(callable, pos) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll index e03afc27b3c..4cd63b152f6 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/DataFlowUtil.qll @@ -332,6 +332,8 @@ module BarrierGuard { } /** + * DEPRECATED: Use `BarrierGuard` module instead. + * * A guard that validates some expression. * * To use this in a configuration, extend the class and provide a @@ -340,7 +342,7 @@ module BarrierGuard { * * It is important that all extending classes in scope are disjoint. */ -class BarrierGuard extends Guard { +deprecated class BarrierGuard extends Guard { /** Holds if this guard validates `e` upon evaluating to `branch`. */ abstract predicate checks(Expr e, boolean branch); diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll index 400a10741fb..7abae2b105b 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImpl.qll @@ -1116,13 +1116,13 @@ module Private { preservesValue = false and result = "taint" } - private string renderGenerated(RelevantSummarizedCallable c) { - if c.(SummarizedCallable).isAutoGenerated() then result = "generated:" else result = "" + private string renderProvenance(RelevantSummarizedCallable c) { + if c.(SummarizedCallable).isAutoGenerated() then result = "generated" else result = "manual" } /** * A query predicate for outputting flow summaries in semi-colon separated format in QL tests. - * The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;outputspec;(generated:)?kind", + * The syntax is: "namespace;type;overrides;name;signature;ext;inputspec;outputspec;kind;provenance"", * ext is hardcoded to empty. */ query predicate summary(string csv) { @@ -1133,7 +1133,7 @@ module Private { c.relevantSummary(input, output, preservesValue) and csv = c.getCallableCsv() + getComponentStackCsv(input) + ";" + getComponentStackCsv(output) + - ";" + renderGenerated(c) + renderKind(preservesValue) + ";" + renderKind(preservesValue) + ";" + renderProvenance(c) ) } } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImplSpecific.qll b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImplSpecific.qll index fb7b682c6ee..2efb6d9e1ce 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImplSpecific.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/FlowSummaryImplSpecific.qll @@ -55,6 +55,13 @@ DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) { exists(rk) } +bindingset[provenance] +private boolean isGenerated(string provenance) { + provenance = "generated" and result = true + or + provenance != "generated" and result = false +} + /** * Holds if an external flow summary exists for `c` with input specification * `input`, output specification `output`, kind `kind`, and a flag `generated` @@ -62,9 +69,11 @@ DataFlowType getCallbackReturnType(DataFlowType t, ReturnKind rk) { */ predicate summaryElement(Callable c, string input, string output, string kind, boolean generated) { exists( - string namespace, string type, boolean subtypes, string name, string signature, string ext + string namespace, string type, boolean subtypes, string name, string signature, string ext, + string provenance | - summaryModel(namespace, type, subtypes, name, signature, ext, input, output, kind, generated) and + summaryModel(namespace, type, subtypes, name, signature, ext, input, output, kind, provenance) and + generated = isGenerated(provenance) and c = interpretElement(namespace, type, subtypes, name, signature, ext) ) } @@ -122,9 +131,11 @@ class SourceOrSinkElement = Top; */ predicate sourceElement(SourceOrSinkElement e, string output, string kind, boolean generated) { exists( - string namespace, string type, boolean subtypes, string name, string signature, string ext + string namespace, string type, boolean subtypes, string name, string signature, string ext, + string provenance | - sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, generated) and + sourceModel(namespace, type, subtypes, name, signature, ext, output, kind, provenance) and + generated = isGenerated(provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } @@ -136,9 +147,11 @@ predicate sourceElement(SourceOrSinkElement e, string output, string kind, boole */ predicate sinkElement(SourceOrSinkElement e, string input, string kind, boolean generated) { exists( - string namespace, string type, boolean subtypes, string name, string signature, string ext + string namespace, string type, boolean subtypes, string name, string signature, string ext, + string provenance | - sinkModel(namespace, type, subtypes, name, signature, ext, input, kind, generated) and + sinkModel(namespace, type, subtypes, name, signature, ext, input, kind, provenance) and + generated = isGenerated(provenance) and e = interpretElement(namespace, type, subtypes, name, signature, ext) ) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll b/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll index 357418e2737..e00dee7c8dd 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/TaintTrackingUtil.qll @@ -112,12 +112,6 @@ private module Cached { } } -/** - * Holds if `guard` should be a sanitizer guard in all global taint flow configurations - * but not in local taint. - */ -predicate defaultTaintSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - import Cached private RefType getElementType(RefType container) { diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking1/TaintTrackingImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking1/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking1/TaintTrackingImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking1/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking2/TaintTrackingImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking2/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking2/TaintTrackingImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking2/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking3/TaintTrackingImpl.qll b/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking3/TaintTrackingImpl.qll index 8cf5a49bc0b..e6ce1ada8d4 100644 --- a/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking3/TaintTrackingImpl.qll +++ b/java/ql/lib/semmle/code/java/dataflow/internal/tainttracking3/TaintTrackingImpl.qll @@ -116,20 +116,30 @@ abstract class Configuration extends DataFlow::Configuration { final override predicate isBarrierOut(DataFlow::Node node) { this.isSanitizerOut(node) } - /** Holds if taint propagation through nodes guarded by `guard` is prohibited. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } + /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * + * Holds if taint propagation through nodes guarded by `guard` is prohibited. + */ + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { none() } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { - this.isSanitizerGuard(guard) or defaultTaintSanitizerGuard(guard) + deprecated final override predicate isBarrierGuard(DataFlow::BarrierGuard guard) { + this.isSanitizerGuard(guard) } /** + * DEPRECATED: Use `isSanitizer` and `BarrierGuard` module instead. + * * Holds if taint propagation through nodes guarded by `guard` is prohibited * when the flow state is `state`. */ - predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { none() } + deprecated predicate isSanitizerGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + none() + } - final override predicate isBarrierGuard(DataFlow::BarrierGuard guard, DataFlow::FlowState state) { + deprecated final override predicate isBarrierGuard( + DataFlow::BarrierGuard guard, DataFlow::FlowState state + ) { this.isSanitizerGuard(guard, state) } diff --git a/java/ql/lib/semmle/code/java/dispatch/WrappedInvocation.qll b/java/ql/lib/semmle/code/java/dispatch/WrappedInvocation.qll index 7dd250671ad..abab4134253 100644 --- a/java/ql/lib/semmle/code/java/dispatch/WrappedInvocation.qll +++ b/java/ql/lib/semmle/code/java/dispatch/WrappedInvocation.qll @@ -19,8 +19,9 @@ private predicate runner(Method m, int n, Method runmethod) { exists(Parameter p, MethodAccess ma, int j | p = m.getParameter(n) and ma.getEnclosingCallable() = m and - runner(ma.getMethod().getSourceDeclaration(), j, _) and - ma.getArgument(j) = p.getAnAccess() + runner(pragma[only_bind_into](ma.getMethod().getSourceDeclaration()), + pragma[only_bind_into](j), _) and + ma.getArgument(pragma[only_bind_into](j)) = p.getAnAccess() ) ) } diff --git a/java/ql/lib/semmle/code/java/frameworks/ApacheHttp.qll b/java/ql/lib/semmle/code/java/frameworks/ApacheHttp.qll index 952efe9f7dc..8328a9dfbcb 100644 --- a/java/ql/lib/semmle/code/java/frameworks/ApacheHttp.qll +++ b/java/ql/lib/semmle/code/java/frameworks/ApacheHttp.qll @@ -46,9 +46,9 @@ private class ApacheHttpSource extends SourceModelCsv { override predicate row(string row) { row = [ - "org.apache.http.protocol;HttpRequestHandler;true;handle;(HttpRequest,HttpResponse,HttpContext);;Parameter[0];remote", - "org.apache.hc.core5.http.io;HttpRequestHandler;true;handle;(ClassicHttpRequest,ClassicHttpResponse,HttpContext);;Parameter[0];remote", - "org.apache.hc.core5.http.io;HttpServerRequestHandler;true;handle;(ClassicHttpRequest,ResponseTrigger,HttpContext);;Parameter[0];remote" + "org.apache.http.protocol;HttpRequestHandler;true;handle;(HttpRequest,HttpResponse,HttpContext);;Parameter[0];remote;manual", + "org.apache.hc.core5.http.io;HttpRequestHandler;true;handle;(ClassicHttpRequest,ClassicHttpResponse,HttpContext);;Parameter[0];remote;manual", + "org.apache.hc.core5.http.io;HttpServerRequestHandler;true;handle;(ClassicHttpRequest,ResponseTrigger,HttpContext);;Parameter[0];remote;manual" ] } } @@ -85,9 +85,9 @@ private class ApacheHttpXssSink extends SinkModelCsv { override predicate row(string row) { row = [ - "org.apache.http;HttpResponse;true;setEntity;(HttpEntity);;Argument[0];xss", - "org.apache.http.util;EntityUtils;true;updateEntity;(HttpResponse,HttpEntity);;Argument[1];xss", - "org.apache.hc.core5.http;HttpEntityContainer;true;setEntity;(HttpEntity);;Argument[0];xss" + "org.apache.http;HttpResponse;true;setEntity;(HttpEntity);;Argument[0];xss;manual", + "org.apache.http.util;EntityUtils;true;updateEntity;(HttpResponse,HttpEntity);;Argument[1];xss;manual", + "org.apache.hc.core5.http;HttpEntityContainer;true;setEntity;(HttpEntity);;Argument[0];xss;manual" ] } } @@ -96,31 +96,31 @@ private class ApacheHttpOpenUrlSink extends SinkModelCsv { override predicate row(string row) { row = [ - "org.apache.http;HttpRequest;true;setURI;;;Argument[0];open-url", - "org.apache.http.message;BasicHttpRequest;false;BasicHttpRequest;(RequestLine);;Argument[0];open-url", - "org.apache.http.message;BasicHttpRequest;false;BasicHttpRequest;(String,String);;Argument[1];open-url", - "org.apache.http.message;BasicHttpRequest;false;BasicHttpRequest;(String,String,ProtocolVersion);;Argument[1];open-url", - "org.apache.http.message;BasicHttpEntityEnclosingRequest;false;BasicHttpEntityEnclosingRequest;(RequestLine);;Argument[0];open-url", - "org.apache.http.message;BasicHttpEntityEnclosingRequest;false;BasicHttpEntityEnclosingRequest;(String,String);;Argument[1];open-url", - "org.apache.http.message;BasicHttpEntityEnclosingRequest;false;BasicHttpEntityEnclosingRequest;(String,String,ProtocolVersion);;Argument[1];open-url", - "org.apache.http.client.methods;HttpGet;false;HttpGet;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpHead;false;HttpHead;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpPut;false;HttpPut;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpPost;false;HttpPost;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpDelete;false;HttpDelete;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpOptions;false;HttpOptions;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpTrace;false;HttpTrace;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpPatch;false;HttpPatch;;;Argument[0];open-url", - "org.apache.http.client.methods;HttpRequestBase;true;setURI;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;setUri;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;get;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;post;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;put;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;options;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;head;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;delete;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;trace;;;Argument[0];open-url", - "org.apache.http.client.methods;RequestBuilder;false;patch;;;Argument[0];open-url" + "org.apache.http;HttpRequest;true;setURI;;;Argument[0];open-url;manual", + "org.apache.http.message;BasicHttpRequest;false;BasicHttpRequest;(RequestLine);;Argument[0];open-url;manual", + "org.apache.http.message;BasicHttpRequest;false;BasicHttpRequest;(String,String);;Argument[1];open-url;manual", + "org.apache.http.message;BasicHttpRequest;false;BasicHttpRequest;(String,String,ProtocolVersion);;Argument[1];open-url;manual", + "org.apache.http.message;BasicHttpEntityEnclosingRequest;false;BasicHttpEntityEnclosingRequest;(RequestLine);;Argument[0];open-url;manual", + "org.apache.http.message;BasicHttpEntityEnclosingRequest;false;BasicHttpEntityEnclosingRequest;(String,String);;Argument[1];open-url;manual", + "org.apache.http.message;BasicHttpEntityEnclosingRequest;false;BasicHttpEntityEnclosingRequest;(String,String,ProtocolVersion);;Argument[1];open-url;manual", + "org.apache.http.client.methods;HttpGet;false;HttpGet;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpHead;false;HttpHead;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpPut;false;HttpPut;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpPost;false;HttpPost;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpDelete;false;HttpDelete;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpOptions;false;HttpOptions;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpTrace;false;HttpTrace;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpPatch;false;HttpPatch;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;HttpRequestBase;true;setURI;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;setUri;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;get;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;post;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;put;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;options;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;head;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;delete;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;trace;;;Argument[0];open-url;manual", + "org.apache.http.client.methods;RequestBuilder;false;patch;;;Argument[0];open-url;manual" ] } } @@ -129,142 +129,142 @@ private class ApacheHttpFlowStep extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.http;HttpMessage;true;getAllHeaders;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpMessage;true;getFirstHeader;(String);;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpMessage;true;getLastHeader;(String);;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpMessage;true;getHeaders;(String);;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpMessage;true;getParams;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpMessage;true;headerIterator;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpMessage;true;headerIterator;(String);;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpRequest;true;getRequestLine;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpEntityEnclosingRequest;true;getEntity;();;Argument[-1];ReturnValue;taint", - "org.apache.http;Header;true;getElements;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HeaderElement;true;getName;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HeaderElement;true;getValue;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HeaderElement;true;getParameter;(int);;Argument[-1];ReturnValue;taint", - "org.apache.http;HeaderElement;true;getParameterByName;(String);;Argument[-1];ReturnValue;taint", - "org.apache.http;HeaderElement;true;getParameters;();;Argument[-1];ReturnValue;taint", - "org.apache.http;NameValuePair;true;getName;();;Argument[-1];ReturnValue;taint", - "org.apache.http;NameValuePair;true;getValue;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HeaderIterator;true;nextHeader;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpEntity;true;getContent;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpEntity;true;getContentEncoding;();;Argument[-1];ReturnValue;taint", - "org.apache.http;HttpEntity;true;getContentType;();;Argument[-1];ReturnValue;taint", - "org.apache.http;RequestLine;true;getMethod;();;Argument[-1];ReturnValue;taint", - "org.apache.http;RequestLine;true;getUri;();;Argument[-1];ReturnValue;taint", - "org.apache.http.params;HttpParams;true;getParameter;(String);;Argument[-1];ReturnValue;taint", - "org.apache.http.params;HttpParams;true;getDoubleParameter;(String,double);;Argument[-1];ReturnValue;taint", - "org.apache.http.params;HttpParams;true;getIntParameter;(String,int);;Argument[-1];ReturnValue;taint", - "org.apache.http.params;HttpParams;true;getLongParameter;(String,long);;Argument[-1];ReturnValue;taint", - "org.apache.http.params;HttpParams;true;getDoubleParameter;(String,double);;Argument[1];ReturnValue;value", - "org.apache.http.params;HttpParams;true;getIntParameter;(String,int);;Argument[1];ReturnValue;value", - "org.apache.http.params;HttpParams;true;getLongParameter;(String,long);;Argument[1];ReturnValue;value", - "org.apache.hc.core5.http;MessageHeaders;true;getFirstHeader;(String);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;MessageHeaders;true;getLastHeader;(String);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;MessageHeaders;true;getHeader;(String);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;MessageHeaders;true;getHeaders;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;MessageHeaders;true;getHeaders;(String);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;MessageHeaders;true;headerIterator;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;MessageHeaders;true;headerIterator;(String);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpRequest;true;getAuthority;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpRequest;true;getMethod;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpRequest;true;getPath;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpRequest;true;getUri;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpRequest;true;getRequestUri;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpEntityContainer;true;getEntity;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;NameValuePair;true;getName;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;NameValuePair;true;getValue;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpEntity;true;getContent;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;HttpEntity;true;getTrailers;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;EntityDetails;true;getContentType;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;EntityDetails;true;getContentEncoding;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http;EntityDetails;true;getTrailerNames;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http.message;RequestLine;true;getMethod;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http.message;RequestLine;true;getUri;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http.message;RequestLine;true;toString;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.http.message;RequestLine;true;RequestLine;(HttpRequest);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.http.message;RequestLine;true;RequestLine;(String,String,ProtocolVersion);;Argument[1];Argument[-1];taint", - "org.apache.hc.core5.function;Supplier;true;get;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.net;URIAuthority;true;getHostName;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.net;URIAuthority;true;toString;();;Argument[-1];ReturnValue;taint", - "org.apache.http.util;EntityUtils;true;toString;;;Argument[0];ReturnValue;taint", - "org.apache.http.util;EntityUtils;true;toByteArray;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.http.util;EntityUtils;true;getContentCharSet;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.http.util;EntityUtils;true;getContentMimeType;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;EntityUtils;true;toString;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;EntityUtils;true;toByteArray;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;EntityUtils;true;parse;;;Argument[0];ReturnValue;taint", - "org.apache.http.util;EncodingUtils;true;getAsciiBytes;(String);;Argument[0];ReturnValue;taint", - "org.apache.http.util;EncodingUtils;true;getAsciiString;;;Argument[0];ReturnValue;taint", - "org.apache.http.util;EncodingUtils;true;getBytes;(String,String);;Argument[0];ReturnValue;taint", - "org.apache.http.util;EncodingUtils;true;getString;;;Argument[0];ReturnValue;taint", - "org.apache.http.util;Args;true;containsNoBlanks;(CharSequence,String);;Argument[0];ReturnValue;value", - "org.apache.http.util;Args;true;notNull;(Object,String);;Argument[0];ReturnValue;value", - "org.apache.http.util;Args;true;notEmpty;(CharSequence,String);;Argument[0];ReturnValue;value", - "org.apache.http.util;Args;true;notEmpty;(Collection,String);;Argument[0];ReturnValue;value", - "org.apache.http.util;Args;true;notBlank;(CharSequence,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.util;Args;true;containsNoBlanks;(CharSequence,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.util;Args;true;notNull;(Object,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.util;Args;true;notEmpty;(Collection,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.util;Args;true;notEmpty;(CharSequence,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.util;Args;true;notEmpty;(Object,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.util;Args;true;notBlank;(CharSequence,String);;Argument[0];ReturnValue;value", - "org.apache.hc.core5.http.io.entity;HttpEntities;true;create;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;HttpEntities;true;createGzipped;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;HttpEntities;true;createUrlEncoded;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;HttpEntities;true;gzip;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;HttpEntities;true;withTrailers;;;Argument[0];ReturnValue;taint", - "org.apache.http.entity;BasicHttpEntity;true;setContent;(InputStream);;Argument[0];Argument[-1];taint", - "org.apache.http.entity;BufferedHttpEntity;true;BufferedHttpEntity;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.http.entity;ByteArrayEntity;true;ByteArrayEntity;;;Argument[0];Argument[-1];taint", - "org.apache.http.entity;HttpEntityWrapper;true;HttpEntityWrapper;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.http.entity;InputStreamEntity;true;InputStreamEntity;;;Argument[0];ReturnValue;taint", - "org.apache.http.entity;StringEntity;true;StringEntity;;;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.http.io.entity;BasicHttpEntity;true;BasicHttpEntity;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;BufferedHttpEntity;true;BufferedHttpEntity;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;ByteArrayEntity;true;ByteArrayEntity;;;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.http.io.entity;HttpEntityWrapper;true;HttpEntityWrapper;(HttpEntity);;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;InputStreamEntity;true;InputStreamEntity;;;Argument[0];ReturnValue;taint", - "org.apache.hc.core5.http.io.entity;StringEntity;true;StringEntity;;;Argument[0];Argument[-1];taint", - "org.apache.http.util;ByteArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;ByteArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;ByteArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;ByteArrayBuffer;true;buffer;();;Argument[-1];ReturnValue;taint", - "org.apache.http.util;ByteArrayBuffer;true;toByteArray;();;Argument[-1];ReturnValue;taint", - "org.apache.http.util;CharArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;append;(ByteArrayBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;append;(CharArrayBuffer);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;append;(String);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;append;(Object);;Argument[0];Argument[-1];taint", - "org.apache.http.util;CharArrayBuffer;true;buffer;();;Argument[-1];ReturnValue;taint", - "org.apache.http.util;CharArrayBuffer;true;toCharArray;();;Argument[-1];ReturnValue;taint", - "org.apache.http.util;CharArrayBuffer;true;toString;();;Argument[-1];ReturnValue;taint", - "org.apache.http.util;CharArrayBuffer;true;substring;(int,int);;Argument[-1];ReturnValue;taint", - "org.apache.http.util;CharArrayBuffer;true;subSequence;(int,int);;Argument[-1];ReturnValue;taint", - "org.apache.http.util;CharArrayBuffer;true;substringTrimmed;(int,int);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;ByteArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;ByteArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;ByteArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;ByteArrayBuffer;true;array;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;ByteArrayBuffer;true;toByteArray;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(ByteArrayBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(CharArrayBuffer);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(String);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;append;(Object);;Argument[0];Argument[-1];taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;array;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;toCharArray;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;toString;();;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;substring;(int,int);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;subSequence;(int,int);;Argument[-1];ReturnValue;taint", - "org.apache.hc.core5.util;CharArrayBuffer;true;substringTrimmed;(int,int);;Argument[-1];ReturnValue;taint", - "org.apache.http.message;BasicRequestLine;false;BasicRequestLine;;;Argument[1];Argument[-1];taint", - "org.apache.http;RequestLine;true;getUri;;;Argument[-1];ReturnValue;taint", - "org.apache.http;RequestLine;true;toString;;;Argument[-1];ReturnValue;taint" + "org.apache.http;HttpMessage;true;getAllHeaders;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpMessage;true;getFirstHeader;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpMessage;true;getLastHeader;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpMessage;true;getHeaders;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpMessage;true;getParams;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpMessage;true;headerIterator;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpMessage;true;headerIterator;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpRequest;true;getRequestLine;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpEntityEnclosingRequest;true;getEntity;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;Header;true;getElements;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HeaderElement;true;getName;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HeaderElement;true;getValue;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HeaderElement;true;getParameter;(int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HeaderElement;true;getParameterByName;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HeaderElement;true;getParameters;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;NameValuePair;true;getName;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;NameValuePair;true;getValue;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HeaderIterator;true;nextHeader;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpEntity;true;getContent;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpEntity;true;getContentEncoding;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;HttpEntity;true;getContentType;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;RequestLine;true;getMethod;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;RequestLine;true;getUri;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.params;HttpParams;true;getParameter;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.params;HttpParams;true;getDoubleParameter;(String,double);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.params;HttpParams;true;getIntParameter;(String,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.params;HttpParams;true;getLongParameter;(String,long);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.params;HttpParams;true;getDoubleParameter;(String,double);;Argument[1];ReturnValue;value;manual", + "org.apache.http.params;HttpParams;true;getIntParameter;(String,int);;Argument[1];ReturnValue;value;manual", + "org.apache.http.params;HttpParams;true;getLongParameter;(String,long);;Argument[1];ReturnValue;value;manual", + "org.apache.hc.core5.http;MessageHeaders;true;getFirstHeader;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;MessageHeaders;true;getLastHeader;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;MessageHeaders;true;getHeader;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;MessageHeaders;true;getHeaders;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;MessageHeaders;true;getHeaders;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;MessageHeaders;true;headerIterator;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;MessageHeaders;true;headerIterator;(String);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpRequest;true;getAuthority;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpRequest;true;getMethod;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpRequest;true;getPath;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpRequest;true;getUri;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpRequest;true;getRequestUri;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpEntityContainer;true;getEntity;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;NameValuePair;true;getName;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;NameValuePair;true;getValue;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpEntity;true;getContent;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;HttpEntity;true;getTrailers;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;EntityDetails;true;getContentType;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;EntityDetails;true;getContentEncoding;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http;EntityDetails;true;getTrailerNames;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http.message;RequestLine;true;getMethod;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http.message;RequestLine;true;getUri;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http.message;RequestLine;true;toString;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.http.message;RequestLine;true;RequestLine;(HttpRequest);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.http.message;RequestLine;true;RequestLine;(String,String,ProtocolVersion);;Argument[1];Argument[-1];taint;manual", + "org.apache.hc.core5.function;Supplier;true;get;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.net;URIAuthority;true;getHostName;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.net;URIAuthority;true;toString;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;EntityUtils;true;toString;;;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EntityUtils;true;toByteArray;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EntityUtils;true;getContentCharSet;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EntityUtils;true;getContentMimeType;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;EntityUtils;true;toString;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;EntityUtils;true;toByteArray;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;EntityUtils;true;parse;;;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EncodingUtils;true;getAsciiBytes;(String);;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EncodingUtils;true;getAsciiString;;;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EncodingUtils;true;getBytes;(String,String);;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;EncodingUtils;true;getString;;;Argument[0];ReturnValue;taint;manual", + "org.apache.http.util;Args;true;containsNoBlanks;(CharSequence,String);;Argument[0];ReturnValue;value;manual", + "org.apache.http.util;Args;true;notNull;(Object,String);;Argument[0];ReturnValue;value;manual", + "org.apache.http.util;Args;true;notEmpty;(CharSequence,String);;Argument[0];ReturnValue;value;manual", + "org.apache.http.util;Args;true;notEmpty;(Collection,String);;Argument[0];ReturnValue;value;manual", + "org.apache.http.util;Args;true;notBlank;(CharSequence,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.util;Args;true;containsNoBlanks;(CharSequence,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.util;Args;true;notNull;(Object,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.util;Args;true;notEmpty;(Collection,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.util;Args;true;notEmpty;(CharSequence,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.util;Args;true;notEmpty;(Object,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.util;Args;true;notBlank;(CharSequence,String);;Argument[0];ReturnValue;value;manual", + "org.apache.hc.core5.http.io.entity;HttpEntities;true;create;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;HttpEntities;true;createGzipped;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;HttpEntities;true;createUrlEncoded;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;HttpEntities;true;gzip;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;HttpEntities;true;withTrailers;;;Argument[0];ReturnValue;taint;manual", + "org.apache.http.entity;BasicHttpEntity;true;setContent;(InputStream);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.entity;BufferedHttpEntity;true;BufferedHttpEntity;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.http.entity;ByteArrayEntity;true;ByteArrayEntity;;;Argument[0];Argument[-1];taint;manual", + "org.apache.http.entity;HttpEntityWrapper;true;HttpEntityWrapper;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.http.entity;InputStreamEntity;true;InputStreamEntity;;;Argument[0];ReturnValue;taint;manual", + "org.apache.http.entity;StringEntity;true;StringEntity;;;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.http.io.entity;BasicHttpEntity;true;BasicHttpEntity;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;BufferedHttpEntity;true;BufferedHttpEntity;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;ByteArrayEntity;true;ByteArrayEntity;;;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.http.io.entity;HttpEntityWrapper;true;HttpEntityWrapper;(HttpEntity);;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;InputStreamEntity;true;InputStreamEntity;;;Argument[0];ReturnValue;taint;manual", + "org.apache.hc.core5.http.io.entity;StringEntity;true;StringEntity;;;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;ByteArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;ByteArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;ByteArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;ByteArrayBuffer;true;buffer;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;ByteArrayBuffer;true;toByteArray;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(ByteArrayBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(CharArrayBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;append;(Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.http.util;CharArrayBuffer;true;buffer;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;CharArrayBuffer;true;toCharArray;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;CharArrayBuffer;true;toString;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;CharArrayBuffer;true;substring;(int,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;CharArrayBuffer;true;subSequence;(int,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.util;CharArrayBuffer;true;substringTrimmed;(int,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;ByteArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;ByteArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;ByteArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;ByteArrayBuffer;true;array;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;ByteArrayBuffer;true;toByteArray;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(byte[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(CharArrayBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(ByteArrayBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(CharArrayBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;append;(Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;array;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;toCharArray;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;toString;();;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;substring;(int,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;subSequence;(int,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.hc.core5.util;CharArrayBuffer;true;substringTrimmed;(int,int);;Argument[-1];ReturnValue;taint;manual", + "org.apache.http.message;BasicRequestLine;false;BasicRequestLine;;;Argument[1];Argument[-1];taint;manual", + "org.apache.http;RequestLine;true;getUri;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.http;RequestLine;true;toString;;;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Assertions.qll b/java/ql/lib/semmle/code/java/frameworks/Assertions.qll index 3c3d090b993..ff95c71b037 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Assertions.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Assertions.qll @@ -2,7 +2,8 @@ * A library providing uniform access to various assertion frameworks. * * Currently supports `org.junit.Assert`, `junit.framework.*`, - * `com.google.common.base.Preconditions`, and `java.util.Objects`. + * `org.junit.jupiter.api.Assertions`, `com.google.common.base.Preconditions`, + * and `java.util.Objects`. */ import java @@ -17,7 +18,11 @@ private newtype AssertKind = private predicate assertionMethod(Method m, AssertKind kind) { exists(RefType junit | m.getDeclaringType() = junit and - (junit.hasQualifiedName("org.junit", "Assert") or junit.hasQualifiedName("junit.framework", _)) + ( + junit.hasQualifiedName("org.junit", "Assert") or + junit.hasQualifiedName("junit.framework", _) or + junit.hasQualifiedName("org.junit.jupiter.api", "Assertions") + ) | m.hasName("assertNotNull") and kind = AssertKindNotNull() or diff --git a/java/ql/lib/semmle/code/java/frameworks/Flexjson.qll b/java/ql/lib/semmle/code/java/frameworks/Flexjson.qll index e6db356eef0..615d928a709 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Flexjson.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Flexjson.qll @@ -36,6 +36,6 @@ class FlexjsonDeserializerUseMethod extends Method { private class FluentUseMethodModel extends SummaryModelCsv { override predicate row(string r) { - r = "flexjson;JSONDeserializer;true;use;;;Argument[-1];ReturnValue;value" + r = "flexjson;JSONDeserializer;true;use;;;Argument[-1];ReturnValue;value;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Hibernate.qll b/java/ql/lib/semmle/code/java/frameworks/Hibernate.qll index 8fb3347db86..4832576b7b9 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Hibernate.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Hibernate.qll @@ -27,13 +27,13 @@ private class SqlSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "org.hibernate;QueryProducer;true;createQuery;;;Argument[0];sql", - "org.hibernate;QueryProducer;true;createNativeQuery;;;Argument[0];sql", - "org.hibernate;QueryProducer;true;createSQLQuery;;;Argument[0];sql", - "org.hibernate;SharedSessionContract;true;createQuery;;;Argument[0];sql", - "org.hibernate;SharedSessionContract;true;createSQLQuery;;;Argument[0];sql", - "org.hibernate;Session;true;createQuery;;;Argument[0];sql", - "org.hibernate;Session;true;createSQLQuery;;;Argument[0];sql" + "org.hibernate;QueryProducer;true;createQuery;;;Argument[0];sql;manual", + "org.hibernate;QueryProducer;true;createNativeQuery;;;Argument[0];sql;manual", + "org.hibernate;QueryProducer;true;createSQLQuery;;;Argument[0];sql;manual", + "org.hibernate;SharedSessionContract;true;createQuery;;;Argument[0];sql;manual", + "org.hibernate;SharedSessionContract;true;createSQLQuery;;;Argument[0];sql;manual", + "org.hibernate;Session;true;createQuery;;;Argument[0];sql;manual", + "org.hibernate;Session;true;createSQLQuery;;;Argument[0];sql;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/HikariCP.qll b/java/ql/lib/semmle/code/java/frameworks/HikariCP.qll index 063a453426a..05f764b357b 100644 --- a/java/ql/lib/semmle/code/java/frameworks/HikariCP.qll +++ b/java/ql/lib/semmle/code/java/frameworks/HikariCP.qll @@ -10,8 +10,8 @@ private class SsrfSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "com.zaxxer.hikari;HikariConfig;false;HikariConfig;(Properties);;Argument[0];jdbc-url", - "com.zaxxer.hikari;HikariConfig;false;setJdbcUrl;(String);;Argument[0];jdbc-url" + "com.zaxxer.hikari;HikariConfig;false;HikariConfig;(Properties);;Argument[0];jdbc-url;manual", + "com.zaxxer.hikari;HikariConfig;false;setJdbcUrl;(String);;Argument[0];jdbc-url;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/JMS.qll b/java/ql/lib/semmle/code/java/frameworks/JMS.qll index 61f0e87d517..f1eb0ace982 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JMS.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JMS.qll @@ -14,11 +14,11 @@ private class Jms1Source extends SourceModelCsv { row = [ // incoming messages are considered tainted - "javax.jms;MessageListener;true;onMessage;(Message);;Parameter[0];remote", - "javax.jms;MessageConsumer;true;receive;;;ReturnValue;remote", - "javax.jms;MessageConsumer;true;receiveNoWait;();;ReturnValue;remote", - "javax.jms;QueueRequestor;true;request;(Message);;ReturnValue;remote", - "javax.jms;TopicRequestor;true;request;(Message);;ReturnValue;remote", + "javax.jms;MessageListener;true;onMessage;(Message);;Parameter[0];remote;manual", + "javax.jms;MessageConsumer;true;receive;;;ReturnValue;remote;manual", + "javax.jms;MessageConsumer;true;receiveNoWait;();;ReturnValue;remote;manual", + "javax.jms;QueueRequestor;true;request;(Message);;ReturnValue;remote;manual", + "javax.jms;TopicRequestor;true;request;(Message);;ReturnValue;remote;manual", ] } } @@ -29,64 +29,64 @@ private class Jms1FlowStep extends SummaryModelCsv { row = [ // if a message is tainted, then it returns tainted data - "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getJMSCorrelationIDAsBytes;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getJMSCorrelationID;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getJMSReplyTo;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getJMSDestination;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getJMSType;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getBooleanProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getByteProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getShortProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getIntProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getLongProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getFloatProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getDoubleProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getStringProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getObjectProperty;();;Argument[-1];ReturnValue;taint", - "javax.jms;Message;true;getPropertyNames;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readByte;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readUnsignedByte;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readShort;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readUnsignedShort;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readChar;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readInt;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readLong;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readFloat;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readDouble;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readUTF;();;Argument[-1];ReturnValue;taint", - "javax.jms;BytesMessage;true;readBytes;;;Argument[-1];Argument[0];taint", - "javax.jms;MapMessage;true;getBoolean;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getByte;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getShort;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getChar;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getInt;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getLong;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getFloat;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getDouble;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getString;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getBytes;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getObject;(String);;Argument[-1];ReturnValue;taint", - "javax.jms;MapMessage;true;getMapNames;();;Argument[-1];ReturnValue;taint", - "javax.jms;ObjectMessage;true;getObject;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readByte;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readShort;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readChar;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readInt;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readLong;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readFloat;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readDouble;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readString;();;Argument[-1];ReturnValue;taint", - "javax.jms;StreamMessage;true;readBytes;(byte[]);;Argument[-1];Argument[0];taint", - "javax.jms;StreamMessage;true;readObject;();;Argument[-1];ReturnValue;taint", - "javax.jms;TextMessage;true;getText;();;Argument[-1];ReturnValue;taint", + "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getJMSCorrelationIDAsBytes;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getJMSCorrelationID;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getJMSReplyTo;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getJMSDestination;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getJMSType;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getBooleanProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getByteProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getShortProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getIntProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getLongProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getFloatProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getDoubleProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getStringProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getObjectProperty;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Message;true;getPropertyNames;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readByte;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readUnsignedByte;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readShort;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readUnsignedShort;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readChar;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readInt;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readLong;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readFloat;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readDouble;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readUTF;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;BytesMessage;true;readBytes;;;Argument[-1];Argument[0];taint;manual", + "javax.jms;MapMessage;true;getBoolean;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getByte;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getShort;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getChar;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getInt;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getLong;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getFloat;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getDouble;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getString;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getBytes;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getObject;(String);;Argument[-1];ReturnValue;taint;manual", + "javax.jms;MapMessage;true;getMapNames;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;ObjectMessage;true;getObject;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readBoolean;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readByte;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readShort;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readChar;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readInt;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readLong;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readFloat;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readDouble;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readString;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;StreamMessage;true;readBytes;(byte[]);;Argument[-1];Argument[0];taint;manual", + "javax.jms;StreamMessage;true;readObject;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;TextMessage;true;getText;();;Argument[-1];ReturnValue;taint;manual", // if a destination is tainted, then it returns tainted data - "javax.jms;Queue;true;getQueueName;();;Argument[-1];ReturnValue;taint", - "javax.jms;Queue;true;toString;();;Argument[-1];ReturnValue;taint", - "javax.jms;Topic;true;getTopicName;();;Argument[-1];ReturnValue;taint", - "javax.jms;Topic;true;toString;();;Argument[-1];ReturnValue;taint", + "javax.jms;Queue;true;getQueueName;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Queue;true;toString;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Topic;true;getTopicName;();;Argument[-1];ReturnValue;taint;manual", + "javax.jms;Topic;true;toString;();;Argument[-1];ReturnValue;taint;manual", ] } } @@ -96,10 +96,10 @@ private class Jms2Source extends SourceModelCsv { override predicate row(string row) { row = [ - "javax.jms;JMSConsumer;true;receive;;;ReturnValue;remote", - "javax.jms;JMSConsumer;true;receiveBody;;;ReturnValue;remote", - "javax.jms;JMSConsumer;true;receiveNoWait;();;ReturnValue;remote", - "javax.jms;JMSConsumer;true;receiveBodyNoWait;();;ReturnValue;remote", + "javax.jms;JMSConsumer;true;receive;;;ReturnValue;remote;manual", + "javax.jms;JMSConsumer;true;receiveBody;;;ReturnValue;remote;manual", + "javax.jms;JMSConsumer;true;receiveNoWait;();;ReturnValue;remote;manual", + "javax.jms;JMSConsumer;true;receiveBodyNoWait;();;ReturnValue;remote;manual", ] } } @@ -107,6 +107,6 @@ private class Jms2Source extends SourceModelCsv { /** Defines additional taint propagation steps in JMS 2. */ private class Jms2FlowStep extends SummaryModelCsv { override predicate row(string row) { - row = "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint" + row = "javax.jms;Message;true;getBody;();;Argument[-1];ReturnValue;taint;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/JavaIo.qll b/java/ql/lib/semmle/code/java/frameworks/JavaIo.qll index 77ba72d9c98..8748c2a0cb1 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JavaIo.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JavaIo.qll @@ -8,17 +8,17 @@ private class JavaIoSummaryCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "java.lang;Appendable;true;append;;;Argument[0];Argument[-1];taint", - "java.lang;Appendable;true;append;;;Argument[-1];ReturnValue;value", - "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint", - "java.io;Writer;true;toString;;;Argument[-1];ReturnValue;taint", - "java.io;CharArrayWriter;true;toCharArray;;;Argument[-1];ReturnValue;taint", - "java.io;ObjectInput;true;read;;;Argument[-1];Argument[0];taint", - "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint", - "java.io;DataInput;true;readLine;();;Argument[-1];ReturnValue;taint", - "java.io;DataInput;true;readUTF;();;Argument[-1];ReturnValue;taint", - "java.nio.channels;ReadableByteChannel;true;read;(ByteBuffer);;Argument[-1];Argument[0];taint", - "java.nio.channels;Channels;false;newChannel;(InputStream);;Argument[0];ReturnValue;taint" + "java.lang;Appendable;true;append;;;Argument[0];Argument[-1];taint;manual", + "java.lang;Appendable;true;append;;;Argument[-1];ReturnValue;value;manual", + "java.io;Writer;true;write;;;Argument[0];Argument[-1];taint;manual", + "java.io;Writer;true;toString;;;Argument[-1];ReturnValue;taint;manual", + "java.io;CharArrayWriter;true;toCharArray;;;Argument[-1];ReturnValue;taint;manual", + "java.io;ObjectInput;true;read;;;Argument[-1];Argument[0];taint;manual", + "java.io;DataInput;true;readFully;;;Argument[-1];Argument[0];taint;manual", + "java.io;DataInput;true;readLine;();;Argument[-1];ReturnValue;taint;manual", + "java.io;DataInput;true;readUTF;();;Argument[-1];ReturnValue;taint;manual", + "java.nio.channels;ReadableByteChannel;true;read;(ByteBuffer);;Argument[-1];Argument[0];taint;manual", + "java.nio.channels;Channels;false;newChannel;(InputStream);;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/JavaxJson.qll b/java/ql/lib/semmle/code/java/frameworks/JavaxJson.qll index 703610de501..0a2db0d06fc 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JavaxJson.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JavaxJson.qll @@ -10,129 +10,129 @@ private class FlowSummaries extends SummaryModelCsv { row = ["javax", "jakarta"] + [ - ".json;Json;false;createArrayBuilder;(JsonArray);;Argument[0];ReturnValue;taint", - ".json;Json;false;createArrayBuilder;(Collection);;Argument[0].Element;ReturnValue;taint", - ".json;Json;false;createDiff;;;Argument[0..1];ReturnValue;taint", - ".json;Json;false;createMergeDiff;;;Argument[0..1];ReturnValue;taint", - ".json;Json;false;createMergePatch;;;Argument[0];ReturnValue;taint", - ".json;Json;false;createObjectBuilder;(JsonObject);;Argument[0];ReturnValue;taint", - ".json;Json;false;createObjectBuilder;(Map);;Argument[0].MapKey;ReturnValue;taint", - ".json;Json;false;createObjectBuilder;(Map);;Argument[0].MapValue;ReturnValue;taint", - ".json;Json;false;createPatch;;;Argument[0];ReturnValue;taint", - ".json;Json;false;createPatchBuilder;;;Argument[0];ReturnValue;taint", - ".json;Json;false;createPointer;;;Argument[0];ReturnValue;taint", - ".json;Json;false;createReader;;;Argument[0];ReturnValue;taint", - ".json;Json;false;createValue;;;Argument[0];ReturnValue;taint", - ".json;Json;false;createWriter;;;Argument[0];ReturnValue;taint", - ".json;Json;false;decodePointer;;;Argument[0];ReturnValue;taint", - ".json;Json;false;encodePointer;;;Argument[0];ReturnValue;taint", - ".json;JsonArray;false;getBoolean;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getBoolean;;;Argument[1];ReturnValue;value", - ".json;JsonArray;false;getInt;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getInt;;;Argument[1];ReturnValue;value", - ".json;JsonArray;false;getJsonArray;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getJsonNumber;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getJsonObject;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getJsonString;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getString;;;Argument[-1];ReturnValue;taint", - ".json;JsonArray;false;getString;;;Argument[1];ReturnValue;value", - ".json;JsonArray;false;getValuesAs;;;Argument[-1];ReturnValue;taint", - ".json;JsonArrayBuilder;false;add;;;Argument[-1];ReturnValue;value", - ".json;JsonArrayBuilder;false;add;(boolean);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(double);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(long);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(JsonArrayBuilder);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(JsonObjectBuilder);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(JsonValue);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(String);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(BigDecimal);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(BigInteger);;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,boolean);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,double);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,int);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,long);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,JsonArrayBuilder);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,JsonObjectBuilder);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,JsonValue);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,String);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,BigDecimal);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;add;(int,BigInteger);;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;addAll;;;Argument[0];Argument[-1];taint", - ".json;JsonArrayBuilder;false;addAll;;;Argument[-1];ReturnValue;value", - ".json;JsonArrayBuilder;false;addNull;;;Argument[-1];ReturnValue;value", - ".json;JsonArrayBuilder;false;build;;;Argument[-1];ReturnValue;taint", - ".json;JsonArrayBuilder;false;remove;;;Argument[-1];ReturnValue;value", - ".json;JsonArrayBuilder;false;set;;;Argument[1];Argument[-1];taint", - ".json;JsonArrayBuilder;false;set;;;Argument[-1];ReturnValue;value", - ".json;JsonArrayBuilder;false;setNull;;;Argument[-1];ReturnValue;value", - ".json;JsonMergePatch;false;apply;;;Argument[-1];ReturnValue;taint", - ".json;JsonMergePatch;false;apply;;;Argument[0];ReturnValue;taint", - ".json;JsonMergePatch;false;toJsonValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;bigDecimalValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;bigIntegerValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;bigIntegerValueExact;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;doubleValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;intValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;intValueExact;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;longValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;longValueExact;;;Argument[-1];ReturnValue;taint", - ".json;JsonNumber;false;numberValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getBoolean;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getBoolean;;;Argument[1];ReturnValue;value", - ".json;JsonObject;false;getInt;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getInt;;;Argument[1];ReturnValue;value", - ".json;JsonObject;false;getJsonArray;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getJsonNumber;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getJsonObject;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getJsonString;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getString;;;Argument[-1];ReturnValue;taint", - ".json;JsonObject;false;getString;;;Argument[1];ReturnValue;value", - ".json;JsonObjectBuilder;false;add;;;Argument[-1];ReturnValue;value", - ".json;JsonObjectBuilder;false;add;;;Argument[1];Argument[-1];taint", - ".json;JsonObjectBuilder;false;addAll;;;Argument[0];ReturnValue;value", - ".json;JsonObjectBuilder;false;addAll;;;Argument[-1];ReturnValue;value", - ".json;JsonObjectBuilder;false;addNull;;;Argument[-1];ReturnValue;value", - ".json;JsonObjectBuilder;false;build;;;Argument[-1];ReturnValue;taint", - ".json;JsonObjectBuilder;false;remove;;;Argument[-1];ReturnValue;value", - ".json;JsonPatch;false;apply;;;Argument[-1];ReturnValue;taint", - ".json;JsonPatch;false;apply;;;Argument[0];ReturnValue;taint", - ".json;JsonPatch;false;toJsonArray;;;Argument[-1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;add;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;add;;;Argument[-1];ReturnValue;value", - ".json;JsonPatchBuilder;false;build;;;Argument[-1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;copy;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;copy;;;Argument[-1];ReturnValue;value", - ".json;JsonPatchBuilder;false;move;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;move;;;Argument[-1];ReturnValue;value", - ".json;JsonPatchBuilder;false;remove;;;Argument[0];ReturnValue;taint", - ".json;JsonPatchBuilder;false;remove;;;Argument[-1];ReturnValue;value", - ".json;JsonPatchBuilder;false;replace;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;replace;;;Argument[-1];ReturnValue;value", - ".json;JsonPatchBuilder;false;test;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPatchBuilder;false;test;;;Argument[-1];ReturnValue;value", - ".json;JsonPointer;false;add;;;Argument[-1];ReturnValue;taint", - ".json;JsonPointer;false;add;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPointer;false;getValue;;;Argument[0];ReturnValue;taint", - ".json;JsonPointer;false;remove;;;Argument[0];ReturnValue;taint", - ".json;JsonPointer;false;replace;;;Argument[0..1];ReturnValue;taint", - ".json;JsonPointer;false;toString;;;Argument[-1];ReturnValue;taint", - ".json;JsonReader;false;read;;;Argument[-1];ReturnValue;taint", - ".json;JsonReader;false;readArray;;;Argument[-1];ReturnValue;taint", - ".json;JsonReader;false;readObject;;;Argument[-1];ReturnValue;taint", - ".json;JsonReader;false;readValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonReaderFactory;false;createReader;;;Argument[0];ReturnValue;taint", - ".json;JsonString;false;getChars;;;Argument[-1];ReturnValue;taint", - ".json;JsonString;false;getString;;;Argument[-1];ReturnValue;taint", - ".json;JsonStructure;true;getValue;;;Argument[-1];ReturnValue;taint", - ".json;JsonValue;true;asJsonArray;;;Argument[-1];ReturnValue;taint", - ".json;JsonValue;true;asJsonObject;;;Argument[-1];ReturnValue;taint", - ".json;JsonValue;true;toString;;;Argument[-1];ReturnValue;taint", - ".json;JsonWriter;false;write;;;Argument[0];Argument[-1];taint", - ".json;JsonWriter;false;writeArray;;;Argument[0];Argument[-1];taint", - ".json;JsonWriter;false;writeObject;;;Argument[0];Argument[-1];taint", - ".json;JsonWriterFactory;false;createWriter;;;Argument[-1];Argument[0];taint", - ".json.stream;JsonParserFactory;false;createParser;;;Argument[0];ReturnValue;taint" + ".json;Json;false;createArrayBuilder;(JsonArray);;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createArrayBuilder;(Collection);;Argument[0].Element;ReturnValue;taint;manual", + ".json;Json;false;createDiff;;;Argument[0..1];ReturnValue;taint;manual", + ".json;Json;false;createMergeDiff;;;Argument[0..1];ReturnValue;taint;manual", + ".json;Json;false;createMergePatch;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createObjectBuilder;(JsonObject);;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createObjectBuilder;(Map);;Argument[0].MapKey;ReturnValue;taint;manual", + ".json;Json;false;createObjectBuilder;(Map);;Argument[0].MapValue;ReturnValue;taint;manual", + ".json;Json;false;createPatch;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createPatchBuilder;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createPointer;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createReader;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createValue;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;createWriter;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;decodePointer;;;Argument[0];ReturnValue;taint;manual", + ".json;Json;false;encodePointer;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonArray;false;getBoolean;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getBoolean;;;Argument[1];ReturnValue;value;manual", + ".json;JsonArray;false;getInt;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getInt;;;Argument[1];ReturnValue;value;manual", + ".json;JsonArray;false;getJsonArray;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getJsonNumber;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getJsonObject;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getJsonString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArray;false;getString;;;Argument[1];ReturnValue;value;manual", + ".json;JsonArray;false;getValuesAs;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArrayBuilder;false;add;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonArrayBuilder;false;add;(boolean);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(double);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(long);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(JsonArrayBuilder);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(JsonObjectBuilder);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(JsonValue);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(String);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(BigDecimal);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(BigInteger);;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,boolean);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,double);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,int);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,long);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,JsonArrayBuilder);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,JsonObjectBuilder);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,JsonValue);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,String);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,BigDecimal);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;add;(int,BigInteger);;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;addAll;;;Argument[0];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;addAll;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonArrayBuilder;false;addNull;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonArrayBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonArrayBuilder;false;remove;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonArrayBuilder;false;set;;;Argument[1];Argument[-1];taint;manual", + ".json;JsonArrayBuilder;false;set;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonArrayBuilder;false;setNull;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonMergePatch;false;apply;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonMergePatch;false;apply;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonMergePatch;false;toJsonValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;bigDecimalValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;bigIntegerValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;bigIntegerValueExact;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;doubleValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;intValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;intValueExact;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;longValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;longValueExact;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonNumber;false;numberValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getBoolean;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getBoolean;;;Argument[1];ReturnValue;value;manual", + ".json;JsonObject;false;getInt;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getInt;;;Argument[1];ReturnValue;value;manual", + ".json;JsonObject;false;getJsonArray;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getJsonNumber;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getJsonObject;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getJsonString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObject;false;getString;;;Argument[1];ReturnValue;value;manual", + ".json;JsonObjectBuilder;false;add;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonObjectBuilder;false;add;;;Argument[1];Argument[-1];taint;manual", + ".json;JsonObjectBuilder;false;addAll;;;Argument[0];ReturnValue;value;manual", + ".json;JsonObjectBuilder;false;addAll;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonObjectBuilder;false;addNull;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonObjectBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonObjectBuilder;false;remove;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPatch;false;apply;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonPatch;false;apply;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonPatch;false;toJsonArray;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;add;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;add;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPatchBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;copy;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;copy;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPatchBuilder;false;move;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;move;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPatchBuilder;false;remove;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;remove;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPatchBuilder;false;replace;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;replace;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPatchBuilder;false;test;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPatchBuilder;false;test;;;Argument[-1];ReturnValue;value;manual", + ".json;JsonPointer;false;add;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonPointer;false;add;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPointer;false;getValue;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonPointer;false;remove;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonPointer;false;replace;;;Argument[0..1];ReturnValue;taint;manual", + ".json;JsonPointer;false;toString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonReader;false;read;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonReader;false;readArray;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonReader;false;readObject;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonReader;false;readValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonReaderFactory;false;createReader;;;Argument[0];ReturnValue;taint;manual", + ".json;JsonString;false;getChars;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonString;false;getString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonStructure;true;getValue;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonValue;true;asJsonArray;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonValue;true;asJsonObject;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonValue;true;toString;;;Argument[-1];ReturnValue;taint;manual", + ".json;JsonWriter;false;write;;;Argument[0];Argument[-1];taint;manual", + ".json;JsonWriter;false;writeArray;;;Argument[0];Argument[-1];taint;manual", + ".json;JsonWriter;false;writeObject;;;Argument[0];Argument[-1];taint;manual", + ".json;JsonWriterFactory;false;createWriter;;;Argument[-1];Argument[0];taint;manual", + ".json.stream;JsonParserFactory;false;createParser;;;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/JaxWS.qll b/java/ql/lib/semmle/code/java/frameworks/JaxWS.qll index 6a652f9fd38..ab83bab8049 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JaxWS.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JaxWS.qll @@ -330,7 +330,7 @@ private class JaxRsUrlRedirectSink extends SinkModelCsv { override predicate row(string row) { row = ["javax", "jakarta"] + ".ws.rs.core;Response;true;" + ["seeOther", "temporaryRedirect"] + - ";;;Argument[0];url-redirect" + ";;;Argument[0];url-redirect;manual" } } @@ -343,7 +343,7 @@ private class ResponseModel extends SummaryModelCsv { override predicate row(string row) { row = ["javax", "jakarta"] + ".ws.rs.core;Response;false;" + ["accepted", "fromResponse", "ok"] + - ";;;Argument[0];ReturnValue;taint" + ";;;Argument[0];ReturnValue;taint;manual" } } @@ -362,13 +362,14 @@ private class ResponseBuilderModel extends SummaryModelCsv { "allow", "cacheControl", "contentLocation", "cookie", "encoding", "entity", "expires", "header", "language", "lastModified", "link", "links", "location", "replaceAll", "status", "tag", "type", "variant", "variants" - ] + ";;;Argument[-1];ReturnValue;value" + ] + ";;;Argument[-1];ReturnValue;value;manual" or row = ["javax", "jakarta"] + ".ws.rs.core;Response$ResponseBuilder;true;" + [ - "build;;;Argument[-1];ReturnValue;taint", "entity;;;Argument[0];Argument[-1];taint", - "clone;;;Argument[-1];ReturnValue;taint" + "build;;;Argument[-1];ReturnValue;taint;manual", + "entity;;;Argument[0];Argument[-1];taint;manual", + "clone;;;Argument[-1];ReturnValue;taint;manual" ] } } @@ -385,7 +386,7 @@ private class HttpHeadersModel extends SummaryModelCsv { [ "getAcceptableLanguages", "getAcceptableMediaTypes", "getCookies", "getHeaderString", "getLanguage", "getMediaType", "getRequestHeader", "getRequestHeaders" - ] + ";;;Argument[-1];ReturnValue;taint" + ] + ";;;Argument[-1];ReturnValue;taint;manual" } } @@ -397,16 +398,16 @@ private class MultivaluedMapModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;MultivaluedMap;true;" + [ - "add;;;Argument[0];Argument[-1].MapKey;value", - "add;;;Argument[1];Argument[-1].MapValue.Element;value", - "addAll;;;Argument[0];Argument[-1].MapKey;value", - "addAll;(Object,List);;Argument[1].Element;Argument[-1].MapValue.Element;value", - "addAll;(Object,Object[]);;Argument[1].ArrayElement;Argument[-1].MapValue.Element;value", - "addFirst;;;Argument[0];Argument[-1].MapKey;value", - "addFirst;;;Argument[1];Argument[-1].MapValue.Element;value", - "getFirst;;;Argument[-1].MapValue.Element;ReturnValue;value", - "putSingle;;;Argument[0];Argument[-1].MapKey;value", - "putSingle;;;Argument[1];Argument[-1].MapValue.Element;value" + "add;;;Argument[0];Argument[-1].MapKey;value;manual", + "add;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + "addAll;;;Argument[0];Argument[-1].MapKey;value;manual", + "addAll;(Object,List);;Argument[1].Element;Argument[-1].MapValue.Element;value;manual", + "addAll;(Object,Object[]);;Argument[1].ArrayElement;Argument[-1].MapValue.Element;value;manual", + "addFirst;;;Argument[0];Argument[-1].MapKey;value;manual", + "addFirst;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + "getFirst;;;Argument[-1].MapValue.Element;ReturnValue;value;manual", + "putSingle;;;Argument[0];Argument[-1].MapKey;value;manual", + "putSingle;;;Argument[1];Argument[-1].MapValue.Element;value;manual" ] } } @@ -419,8 +420,8 @@ private class AbstractMultivaluedMapModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;AbstractMultivaluedMap;false;AbstractMultivaluedMap;;;" + [ - "Argument[0].MapKey;Argument[-1].MapKey;value", - "Argument[0].MapValue;Argument[-1].MapValue;value" + "Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "Argument[0].MapValue;Argument[-1].MapValue;value;manual" ] } } @@ -433,10 +434,10 @@ private class MultivaluedHashMapModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;MultivaluedHashMap;false;MultivaluedHashMap;" + [ - "(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value", - "(MultivaluedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - "(MultivaluedMap);;Argument[0].MapValue;Argument[-1].MapValue;value" + "(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value;manual", + "(MultivaluedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "(MultivaluedMap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual" ] } } @@ -448,7 +449,7 @@ private class PathSegmentModel extends SummaryModelCsv { override predicate row(string row) { row = ["javax", "jakarta"] + ".ws.rs.core;PathSegment;true;" + ["getMatrixParameters", "getPath"] + - ";;;Argument[-1];ReturnValue;taint" + ";;;Argument[-1];ReturnValue;taint;manual" } } @@ -460,16 +461,17 @@ private class UriInfoModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;UriInfo;true;" + [ - "getAbsolutePath;;;Argument[-1];ReturnValue;taint", - "getAbsolutePathBuilder;;;Argument[-1];ReturnValue;taint", - "getPath;;;Argument[-1];ReturnValue;taint", - "getPathParameters;;;Argument[-1];ReturnValue;taint", - "getPathSegments;;;Argument[-1];ReturnValue;taint", - "getQueryParameters;;;Argument[-1];ReturnValue;taint", - "getRequestUri;;;Argument[-1];ReturnValue;taint", - "getRequestUriBuilder;;;Argument[-1];ReturnValue;taint", - "relativize;;;Argument[0];ReturnValue;taint", "resolve;;;Argument[-1];ReturnValue;taint", - "resolve;;;Argument[0];ReturnValue;taint" + "getAbsolutePath;;;Argument[-1];ReturnValue;taint;manual", + "getAbsolutePathBuilder;;;Argument[-1];ReturnValue;taint;manual", + "getPath;;;Argument[-1];ReturnValue;taint;manual", + "getPathParameters;;;Argument[-1];ReturnValue;taint;manual", + "getPathSegments;;;Argument[-1];ReturnValue;taint;manual", + "getQueryParameters;;;Argument[-1];ReturnValue;taint;manual", + "getRequestUri;;;Argument[-1];ReturnValue;taint;manual", + "getRequestUriBuilder;;;Argument[-1];ReturnValue;taint;manual", + "relativize;;;Argument[0];ReturnValue;taint;manual", + "resolve;;;Argument[-1];ReturnValue;taint;manual", + "resolve;;;Argument[0];ReturnValue;taint;manual" ] } } @@ -482,14 +484,14 @@ private class CookieModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;Cookie;" + [ - "true;getDomain;;;Argument[-1];ReturnValue;taint", - "true;getName;;;Argument[-1];ReturnValue;taint", - "true;getPath;;;Argument[-1];ReturnValue;taint", - "true;getValue;;;Argument[-1];ReturnValue;taint", - "true;getVersion;;;Argument[-1];ReturnValue;taint", - "true;toString;;;Argument[-1];ReturnValue;taint", - "false;Cookie;;;Argument[0..4];Argument[-1];taint", - "false;valueOf;;;Argument[0];ReturnValue;taint" + "true;getDomain;;;Argument[-1];ReturnValue;taint;manual", + "true;getName;;;Argument[-1];ReturnValue;taint;manual", + "true;getPath;;;Argument[-1];ReturnValue;taint;manual", + "true;getValue;;;Argument[-1];ReturnValue;taint;manual", + "true;getVersion;;;Argument[-1];ReturnValue;taint;manual", + "true;toString;;;Argument[-1];ReturnValue;taint;manual", + "false;Cookie;;;Argument[0..4];Argument[-1];taint;manual", + "false;valueOf;;;Argument[0];ReturnValue;taint;manual" ] } } @@ -502,12 +504,12 @@ private class NewCookieModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;NewCookie;" + [ - "true;getComment;;;Argument[-1];ReturnValue;taint", - "true;getExpiry;;;Argument[-1];ReturnValue;taint", - "true;getMaxAge;;;Argument[-1];ReturnValue;taint", - "true;toCookie;;;Argument[-1];ReturnValue;taint", - "false;NewCookie;;;Argument[0..9];Argument[-1];taint", - "false;valueOf;;;Argument[0];ReturnValue;taint" + "true;getComment;;;Argument[-1];ReturnValue;taint;manual", + "true;getExpiry;;;Argument[-1];ReturnValue;taint;manual", + "true;getMaxAge;;;Argument[-1];ReturnValue;taint;manual", + "true;toCookie;;;Argument[-1];ReturnValue;taint;manual", + "false;NewCookie;;;Argument[0..9];Argument[-1];taint;manual", + "false;valueOf;;;Argument[0];ReturnValue;taint;manual" ] } } @@ -520,12 +522,12 @@ private class FormModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;Form;" + [ - "false;Form;;;Argument[0].MapKey;Argument[-1];taint", - "false;Form;;;Argument[0].MapValue.Element;Argument[-1];taint", - "false;Form;;;Argument[0..1];Argument[-1];taint", - "true;asMap;;;Argument[-1];ReturnValue;taint", - "true;param;;;Argument[0..1];Argument[-1];taint", - "true;param;;;Argument[-1];ReturnValue;value" + "false;Form;;;Argument[0].MapKey;Argument[-1];taint;manual", + "false;Form;;;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "false;Form;;;Argument[0..1];Argument[-1];taint;manual", + "true;asMap;;;Argument[-1];ReturnValue;taint;manual", + "true;param;;;Argument[0..1];Argument[-1];taint;manual", + "true;param;;;Argument[-1];ReturnValue;value;manual" ] } } @@ -538,8 +540,8 @@ private class GenericEntityModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;GenericEntity;" + [ - "false;GenericEntity;;;Argument[0];Argument[-1];taint", - "true;getEntity;;;Argument[-1];ReturnValue;taint" + "false;GenericEntity;;;Argument[0];Argument[-1];taint;manual", + "true;getEntity;;;Argument[-1];ReturnValue;taint;manual" ] } } @@ -553,12 +555,12 @@ private class MediaTypeModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;MediaType;" + [ - "false;MediaType;;;Argument[0..2];Argument[-1];taint", - "true;getParameters;;;Argument[-1];ReturnValue;taint", - "true;getSubtype;;;Argument[-1];ReturnValue;taint", - "true;getType;;;Argument[-1];ReturnValue;taint", - "false;valueOf;;;Argument[0];ReturnValue;taint", - "true;withCharset;;;Argument[-1];ReturnValue;taint" + "false;MediaType;;;Argument[0..2];Argument[-1];taint;manual", + "true;getParameters;;;Argument[-1];ReturnValue;taint;manual", + "true;getSubtype;;;Argument[-1];ReturnValue;taint;manual", + "true;getType;;;Argument[-1];ReturnValue;taint;manual", + "false;valueOf;;;Argument[0];ReturnValue;taint;manual", + "true;withCharset;;;Argument[-1];ReturnValue;taint;manual" ] } } @@ -571,70 +573,72 @@ private class UriBuilderModel extends SummaryModelCsv { row = ["javax", "jakarta"] + ".ws.rs.core;UriBuilder;" + [ - "true;build;;;Argument[0].ArrayElement;ReturnValue;taint", - "true;build;;;Argument[-1];ReturnValue;taint", - "true;buildFromEncoded;;;Argument[0].ArrayElement;ReturnValue;taint", - "true;buildFromEncoded;;;Argument[-1];ReturnValue;taint", - "true;buildFromEncodedMap;;;Argument[0].MapKey;ReturnValue;taint", - "true;buildFromEncodedMap;;;Argument[0].MapValue;ReturnValue;taint", - "true;buildFromEncodedMap;;;Argument[-1];ReturnValue;taint", - "true;buildFromMap;;;Argument[0].MapKey;ReturnValue;taint", - "true;buildFromMap;;;Argument[0].MapValue;ReturnValue;taint", - "true;buildFromMap;;;Argument[-1];ReturnValue;taint", - "true;clone;;;Argument[-1];ReturnValue;taint", - "true;fragment;;;Argument[0];ReturnValue;taint", - "true;fragment;;;Argument[-1];ReturnValue;value", - "false;fromLink;;;Argument[0];ReturnValue;taint", - "false;fromPath;;;Argument[0];ReturnValue;taint", - "false;fromUri;;;Argument[0];ReturnValue;taint", - "true;host;;;Argument[0];ReturnValue;taint", "true;host;;;Argument[-1];ReturnValue;value", - "true;matrixParam;;;Argument[0];ReturnValue;taint", - "true;matrixParam;;;Argument[1].ArrayElement;ReturnValue;taint", - "true;matrixParam;;;Argument[-1];ReturnValue;value", - "true;path;;;Argument[0..1];ReturnValue;taint", - "true;path;;;Argument[-1];ReturnValue;value", - "true;queryParam;;;Argument[0];ReturnValue;taint", - "true;queryParam;;;Argument[1].ArrayElement;ReturnValue;taint", - "true;queryParam;;;Argument[-1];ReturnValue;value", - "true;replaceMatrix;;;Argument[0];ReturnValue;taint", - "true;replaceMatrix;;;Argument[-1];ReturnValue;value", - "true;replaceMatrixParam;;;Argument[0];ReturnValue;taint", - "true;replaceMatrixParam;;;Argument[1].ArrayElement;ReturnValue;taint", - "true;replaceMatrixParam;;;Argument[-1];ReturnValue;value", - "true;replacePath;;;Argument[0];ReturnValue;taint", - "true;replacePath;;;Argument[-1];ReturnValue;value", - "true;replaceQuery;;;Argument[0];ReturnValue;taint", - "true;replaceQuery;;;Argument[-1];ReturnValue;value", - "true;replaceQueryParam;;;Argument[0];ReturnValue;taint", - "true;replaceQueryParam;;;Argument[1].ArrayElement;ReturnValue;taint", - "true;replaceQueryParam;;;Argument[-1];ReturnValue;value", - "true;resolveTemplate;;;Argument[0..2];ReturnValue;taint", - "true;resolveTemplate;;;Argument[-1];ReturnValue;value", - "true;resolveTemplateFromEncoded;;;Argument[0..1];ReturnValue;taint", - "true;resolveTemplateFromEncoded;;;Argument[-1];ReturnValue;value", - "true;resolveTemplates;;;Argument[0].MapKey;ReturnValue;taint", - "true;resolveTemplates;;;Argument[0].MapValue;ReturnValue;taint", - "true;resolveTemplates;;;Argument[-1];ReturnValue;value", - "true;resolveTemplatesFromEncoded;;;Argument[0].MapKey;ReturnValue;taint", - "true;resolveTemplatesFromEncoded;;;Argument[0].MapValue;ReturnValue;taint", - "true;resolveTemplatesFromEncoded;;;Argument[-1];ReturnValue;value", - "true;scheme;;;Argument[0];ReturnValue;taint", - "true;scheme;;;Argument[-1];ReturnValue;value", - "true;schemeSpecificPart;;;Argument[0];ReturnValue;taint", - "true;schemeSpecificPart;;;Argument[-1];ReturnValue;value", - "true;segment;;;Argument[0].ArrayElement;ReturnValue;taint", - "true;segment;;;Argument[-1];ReturnValue;value", - "true;toTemplate;;;Argument[-1];ReturnValue;taint", - "true;uri;;;Argument[0];ReturnValue;taint", "true;uri;;;Argument[-1];ReturnValue;value", - "true;userInfo;;;Argument[0];ReturnValue;taint", - "true;userInfo;;;Argument[-1];ReturnValue;value" + "true;build;;;Argument[0].ArrayElement;ReturnValue;taint;manual", + "true;build;;;Argument[-1];ReturnValue;taint;manual", + "true;buildFromEncoded;;;Argument[0].ArrayElement;ReturnValue;taint;manual", + "true;buildFromEncoded;;;Argument[-1];ReturnValue;taint;manual", + "true;buildFromEncodedMap;;;Argument[0].MapKey;ReturnValue;taint;manual", + "true;buildFromEncodedMap;;;Argument[0].MapValue;ReturnValue;taint;manual", + "true;buildFromEncodedMap;;;Argument[-1];ReturnValue;taint;manual", + "true;buildFromMap;;;Argument[0].MapKey;ReturnValue;taint;manual", + "true;buildFromMap;;;Argument[0].MapValue;ReturnValue;taint;manual", + "true;buildFromMap;;;Argument[-1];ReturnValue;taint;manual", + "true;clone;;;Argument[-1];ReturnValue;taint;manual", + "true;fragment;;;Argument[0];ReturnValue;taint;manual", + "true;fragment;;;Argument[-1];ReturnValue;value;manual", + "false;fromLink;;;Argument[0];ReturnValue;taint;manual", + "false;fromPath;;;Argument[0];ReturnValue;taint;manual", + "false;fromUri;;;Argument[0];ReturnValue;taint;manual", + "true;host;;;Argument[0];ReturnValue;taint;manual", + "true;host;;;Argument[-1];ReturnValue;value;manual", + "true;matrixParam;;;Argument[0];ReturnValue;taint;manual", + "true;matrixParam;;;Argument[1].ArrayElement;ReturnValue;taint;manual", + "true;matrixParam;;;Argument[-1];ReturnValue;value;manual", + "true;path;;;Argument[0..1];ReturnValue;taint;manual", + "true;path;;;Argument[-1];ReturnValue;value;manual", + "true;queryParam;;;Argument[0];ReturnValue;taint;manual", + "true;queryParam;;;Argument[1].ArrayElement;ReturnValue;taint;manual", + "true;queryParam;;;Argument[-1];ReturnValue;value;manual", + "true;replaceMatrix;;;Argument[0];ReturnValue;taint;manual", + "true;replaceMatrix;;;Argument[-1];ReturnValue;value;manual", + "true;replaceMatrixParam;;;Argument[0];ReturnValue;taint;manual", + "true;replaceMatrixParam;;;Argument[1].ArrayElement;ReturnValue;taint;manual", + "true;replaceMatrixParam;;;Argument[-1];ReturnValue;value;manual", + "true;replacePath;;;Argument[0];ReturnValue;taint;manual", + "true;replacePath;;;Argument[-1];ReturnValue;value;manual", + "true;replaceQuery;;;Argument[0];ReturnValue;taint;manual", + "true;replaceQuery;;;Argument[-1];ReturnValue;value;manual", + "true;replaceQueryParam;;;Argument[0];ReturnValue;taint;manual", + "true;replaceQueryParam;;;Argument[1].ArrayElement;ReturnValue;taint;manual", + "true;replaceQueryParam;;;Argument[-1];ReturnValue;value;manual", + "true;resolveTemplate;;;Argument[0..2];ReturnValue;taint;manual", + "true;resolveTemplate;;;Argument[-1];ReturnValue;value;manual", + "true;resolveTemplateFromEncoded;;;Argument[0..1];ReturnValue;taint;manual", + "true;resolveTemplateFromEncoded;;;Argument[-1];ReturnValue;value;manual", + "true;resolveTemplates;;;Argument[0].MapKey;ReturnValue;taint;manual", + "true;resolveTemplates;;;Argument[0].MapValue;ReturnValue;taint;manual", + "true;resolveTemplates;;;Argument[-1];ReturnValue;value;manual", + "true;resolveTemplatesFromEncoded;;;Argument[0].MapKey;ReturnValue;taint;manual", + "true;resolveTemplatesFromEncoded;;;Argument[0].MapValue;ReturnValue;taint;manual", + "true;resolveTemplatesFromEncoded;;;Argument[-1];ReturnValue;value;manual", + "true;scheme;;;Argument[0];ReturnValue;taint;manual", + "true;scheme;;;Argument[-1];ReturnValue;value;manual", + "true;schemeSpecificPart;;;Argument[0];ReturnValue;taint;manual", + "true;schemeSpecificPart;;;Argument[-1];ReturnValue;value;manual", + "true;segment;;;Argument[0].ArrayElement;ReturnValue;taint;manual", + "true;segment;;;Argument[-1];ReturnValue;value;manual", + "true;toTemplate;;;Argument[-1];ReturnValue;taint;manual", + "true;uri;;;Argument[0];ReturnValue;taint;manual", + "true;uri;;;Argument[-1];ReturnValue;value;manual", + "true;userInfo;;;Argument[0];ReturnValue;taint;manual", + "true;userInfo;;;Argument[-1];ReturnValue;value;manual" ] } } private class JaxRsUrlOpenSink extends SinkModelCsv { override predicate row(string row) { - row = ["javax", "jakarta"] + ".ws.rs.client;Client;true;target;;;Argument[0];open-url" + row = ["javax", "jakarta"] + ".ws.rs.client;Client;true;target;;;Argument[0];open-url;manual" } } @@ -795,6 +799,6 @@ private class ContainerRequestContextModel extends SourceModelCsv { [ "getAcceptableLanguages", "getAcceptableMediaTypes", "getCookies", "getEntityStream", "getHeaders", "getHeaderString", "getLanguage", "getMediaType", "getUriInfo" - ] + ";;;ReturnValue;remote" + ] + ";;;ReturnValue;remote;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Jdbc.qll b/java/ql/lib/semmle/code/java/frameworks/Jdbc.qll index 411b0222d1d..ba9dd8d445c 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Jdbc.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Jdbc.qll @@ -41,13 +41,13 @@ private class SqlSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "java.sql;Connection;true;prepareStatement;;;Argument[0];sql", - "java.sql;Connection;true;prepareCall;;;Argument[0];sql", - "java.sql;Statement;true;execute;;;Argument[0];sql", - "java.sql;Statement;true;executeQuery;;;Argument[0];sql", - "java.sql;Statement;true;executeUpdate;;;Argument[0];sql", - "java.sql;Statement;true;executeLargeUpdate;;;Argument[0];sql", - "java.sql;Statement;true;addBatch;;;Argument[0];sql" + "java.sql;Connection;true;prepareStatement;;;Argument[0];sql;manual", + "java.sql;Connection;true;prepareCall;;;Argument[0];sql;manual", + "java.sql;Statement;true;execute;;;Argument[0];sql;manual", + "java.sql;Statement;true;executeQuery;;;Argument[0];sql;manual", + "java.sql;Statement;true;executeUpdate;;;Argument[0];sql;manual", + "java.sql;Statement;true;executeLargeUpdate;;;Argument[0];sql;manual", + "java.sql;Statement;true;addBatch;;;Argument[0];sql;manual" ] } } @@ -57,10 +57,10 @@ private class SsrfSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "java.sql;DriverManager;false;getConnection;(String);;Argument[0];jdbc-url", - "java.sql;DriverManager;false;getConnection;(String,Properties);;Argument[0];jdbc-url", - "java.sql;DriverManager;false;getConnection;(String,String,String);;Argument[0];jdbc-url", - "java.sql;Driver;false;connect;(String,Properties);;Argument[0];jdbc-url" + "java.sql;DriverManager;false;getConnection;(String);;Argument[0];jdbc-url;manual", + "java.sql;DriverManager;false;getConnection;(String,Properties);;Argument[0];jdbc-url;manual", + "java.sql;DriverManager;false;getConnection;(String,String,String);;Argument[0];jdbc-url;manual", + "java.sql;Driver;false;connect;(String,Properties);;Argument[0];jdbc-url;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Jdbi.qll b/java/ql/lib/semmle/code/java/frameworks/Jdbi.qll index a2e22c01298..698d27d07ed 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Jdbi.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Jdbi.qll @@ -10,12 +10,12 @@ private class SsrfSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "org.jdbi.v3.core;Jdbi;false;create;(String);;Argument[0];jdbc-url", - "org.jdbi.v3.core;Jdbi;false;create;(String,Properties);;Argument[0];jdbc-url", - "org.jdbi.v3.core;Jdbi;false;create;(String,String,String);;Argument[0];jdbc-url", - "org.jdbi.v3.core;Jdbi;false;open;(String);;Argument[0];jdbc-url", - "org.jdbi.v3.core;Jdbi;false;open;(String,Properties);;Argument[0];jdbc-url", - "org.jdbi.v3.core;Jdbi;false;open;(String,String,String);;Argument[0];jdbc-url" + "org.jdbi.v3.core;Jdbi;false;create;(String);;Argument[0];jdbc-url;manual", + "org.jdbi.v3.core;Jdbi;false;create;(String,Properties);;Argument[0];jdbc-url;manual", + "org.jdbi.v3.core;Jdbi;false;create;(String,String,String);;Argument[0];jdbc-url;manual", + "org.jdbi.v3.core;Jdbi;false;open;(String);;Argument[0];jdbc-url;manual", + "org.jdbi.v3.core;Jdbi;false;open;(String,Properties);;Argument[0];jdbc-url;manual", + "org.jdbi.v3.core;Jdbi;false;open;(String,String,String);;Argument[0];jdbc-url;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/JoddJson.qll b/java/ql/lib/semmle/code/java/frameworks/JoddJson.qll index 594a353f67b..9ed563091d7 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JoddJson.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JoddJson.qll @@ -53,16 +53,16 @@ private class JsonParserFluentMethods extends SummaryModelCsv { override predicate row(string s) { s = [ - "jodd.json;JsonParser;false;allowAllClasses;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;allowClass;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;lazy;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;looseMode;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;map;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;setClassMetadataName;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;strictTypes;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;useAltPaths;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;withClassMetadata;;;Argument[-1];ReturnValue;value", - "jodd.json;JsonParser;false;withValueConverter;;;Argument[-1];ReturnValue;value" + "jodd.json;JsonParser;false;allowAllClasses;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;allowClass;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;lazy;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;looseMode;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;map;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;setClassMetadataName;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;strictTypes;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;useAltPaths;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;withClassMetadata;;;Argument[-1];ReturnValue;value;manual", + "jodd.json;JsonParser;false;withValueConverter;;;Argument[-1];ReturnValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/JsonJava.qll b/java/ql/lib/semmle/code/java/frameworks/JsonJava.qll index 012ea4e41b7..b8c79a010c0 100644 --- a/java/ql/lib/semmle/code/java/frameworks/JsonJava.qll +++ b/java/ql/lib/semmle/code/java/frameworks/JsonJava.qll @@ -8,245 +8,245 @@ private class FlowModels extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.json;JSONString;true;toJSONString;;;Argument[-1];ReturnValue;taint", - "org.json;XMLXsiTypeConverter;true;convert;;;Argument[0];ReturnValue;taint", - "org.json;CDL;false;rowToJSONArray;;;Argument[0];ReturnValue;taint", - "org.json;CDL;false;rowToJSONObject;;;Argument[0..1];ReturnValue;taint", - "org.json;CDL;false;rowToString;;;Argument[0];ReturnValue;taint", - "org.json;CDL;false;toJSONArray;;;Argument[0..1];ReturnValue;taint", - "org.json;CDL;false;toString;;;Argument[0..1];ReturnValue;taint", - "org.json;Cookie;false;escape;;;Argument[0];ReturnValue;taint", - "org.json;Cookie;false;toJSONObject;;;Argument[0];ReturnValue;taint", - "org.json;Cookie;false;toString;;;Argument[0];ReturnValue;taint", - "org.json;Cookie;false;unescape;;;Argument[0];ReturnValue;taint", - "org.json;CookieList;false;toJSONObject;;;Argument[0];ReturnValue;taint", - "org.json;CookieList;false;toString;;;Argument[0];ReturnValue;taint", - "org.json;HTTP;false;toJSONObject;;;Argument[0];ReturnValue;taint", - "org.json;HTTP;false;toString;;;Argument[0];ReturnValue;taint", - "org.json;HTTPTokener;false;HTTPTokener;;;Argument[0];Argument[-1];taint", - "org.json;HTTPTokener;false;nextToken;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;JSONArray;(Collection);;Argument[0].Element;Argument[-1];taint", - "org.json;JSONArray;false;JSONArray;(Iterable);;Argument[0].Element;Argument[-1];taint", - "org.json;JSONArray;false;JSONArray;(JSONArray);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;JSONArray;(JSONTokener);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;JSONArray;(Object);;Argument[0].ArrayElement;Argument[-1];taint", - "org.json;JSONArray;false;JSONArray;(String);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;get;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getBigDecimal;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getBigInteger;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getBoolean;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getDouble;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getEnum;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getFloat;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getInt;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getJSONArray;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getJSONObject;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getLong;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getNumber;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;getString;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;iterator;;;Argument[-1];ReturnValue.Element;taint", - "org.json;JSONArray;false;join;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;join;;;Argument[0];ReturnValue;taint", - "org.json;JSONArray;false;opt;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optBigDecimal;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optBigInteger;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optBoolean;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optDouble;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optEnum;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optFloat;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optInt;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optJSONArray;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optJSONObject;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optLong;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optNumber;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optQuery;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;optString;;;Argument[-1];ReturnValue;taint", + "org.json;JSONString;true;toJSONString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;XMLXsiTypeConverter;true;convert;;;Argument[0];ReturnValue;taint;manual", + "org.json;CDL;false;rowToJSONArray;;;Argument[0];ReturnValue;taint;manual", + "org.json;CDL;false;rowToJSONObject;;;Argument[0..1];ReturnValue;taint;manual", + "org.json;CDL;false;rowToString;;;Argument[0];ReturnValue;taint;manual", + "org.json;CDL;false;toJSONArray;;;Argument[0..1];ReturnValue;taint;manual", + "org.json;CDL;false;toString;;;Argument[0..1];ReturnValue;taint;manual", + "org.json;Cookie;false;escape;;;Argument[0];ReturnValue;taint;manual", + "org.json;Cookie;false;toJSONObject;;;Argument[0];ReturnValue;taint;manual", + "org.json;Cookie;false;toString;;;Argument[0];ReturnValue;taint;manual", + "org.json;Cookie;false;unescape;;;Argument[0];ReturnValue;taint;manual", + "org.json;CookieList;false;toJSONObject;;;Argument[0];ReturnValue;taint;manual", + "org.json;CookieList;false;toString;;;Argument[0];ReturnValue;taint;manual", + "org.json;HTTP;false;toJSONObject;;;Argument[0];ReturnValue;taint;manual", + "org.json;HTTP;false;toString;;;Argument[0];ReturnValue;taint;manual", + "org.json;HTTPTokener;false;HTTPTokener;;;Argument[0];Argument[-1];taint;manual", + "org.json;HTTPTokener;false;nextToken;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;JSONArray;(Collection);;Argument[0].Element;Argument[-1];taint;manual", + "org.json;JSONArray;false;JSONArray;(Iterable);;Argument[0].Element;Argument[-1];taint;manual", + "org.json;JSONArray;false;JSONArray;(JSONArray);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;JSONArray;(JSONTokener);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;JSONArray;(Object);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.json;JSONArray;false;JSONArray;(String);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;get;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getBigDecimal;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getBigInteger;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getBoolean;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getDouble;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getEnum;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getFloat;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getInt;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getJSONArray;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getJSONObject;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getLong;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getNumber;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;getString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;iterator;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.json;JSONArray;false;join;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;join;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONArray;false;opt;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optBigDecimal;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optBigInteger;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optBoolean;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optDouble;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optEnum;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optFloat;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optInt;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optJSONArray;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optJSONObject;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optLong;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optNumber;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optQuery;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;optString;;;Argument[-1];ReturnValue;taint;manual", // Default values that may be returned by the `opt*` methods above: - "org.json;JSONArray;false;optBigDecimal;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optBigInteger;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optBoolean;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optDouble;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optEnum;;;Argument[2];ReturnValue;value", - "org.json;JSONArray;false;optFloat;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optInt;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optLong;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optNumber;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;optString;;;Argument[1];ReturnValue;value", - "org.json;JSONArray;false;put;;;Argument[-1];ReturnValue;value", - "org.json;JSONArray;false;put;(boolean);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;put;(Collection);;Argument[0].Element;Argument[-1];taint", - "org.json;JSONArray;false;put;(double);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;put;(float);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;put;(int);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;put;(long);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;put;(Map);;Argument[0].MapKey;Argument[-1];taint", - "org.json;JSONArray;false;put;(Map);;Argument[0].MapValue;Argument[-1];taint", - "org.json;JSONArray;false;put;(Object);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;put;(int,boolean);;Argument[1];Argument[-1];taint", - "org.json;JSONArray;false;put;(int,Collection);;Argument[1].Element;Argument[-1];taint", - "org.json;JSONArray;false;put;(int,double);;Argument[1];Argument[-1];taint", - "org.json;JSONArray;false;put;(int,float);;Argument[1];Argument[-1];taint", - "org.json;JSONArray;false;put;(int,int);;Argument[1];Argument[-1];taint", - "org.json;JSONArray;false;put;(int,long);;Argument[1];Argument[-1];taint", - "org.json;JSONArray;false;put;(int,Map);;Argument[1].MapKey;Argument[-1];taint", - "org.json;JSONArray;false;put;(int,Map);;Argument[1].MapValue;Argument[-1];taint", - "org.json;JSONArray;false;put;(int,Object);;Argument[1];Argument[-1];taint", - "org.json;JSONArray;false;putAll;;;Argument[-1];ReturnValue;value", - "org.json;JSONArray;false;putAll;(Collection);;Argument[0].Element;Argument[-1];taint", - "org.json;JSONArray;false;putAll;(Iterable);;Argument[0].Element;Argument[-1];taint", - "org.json;JSONArray;false;putAll;(JSONArray);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;putAll;(Object);;Argument[0];Argument[-1];taint", - "org.json;JSONArray;false;query;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;remove;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;toJSONObject;;;Argument[0];ReturnValue;taint", - "org.json;JSONArray;false;toJSONObject;;;Argument[-1];ReturnValue;taint", - "org.json;JSONArray;false;toList;;;Argument[0];ReturnValue.Element;taint", - "org.json;JSONArray;false;toString;;;Argument[0];ReturnValue;taint", - "org.json;JSONArray;false;write;;;Argument[-1];Argument[0];taint", - "org.json;JSONArray;false;write;;;Argument[0];ReturnValue;value", - "org.json;JSONML;false;toJSONArray;;;Argument[0];ReturnValue;taint", - "org.json;JSONML;false;toJSONObject;;;Argument[0];ReturnValue;taint", - "org.json;JSONML;false;toString;;;Argument[0];ReturnValue;taint", - "org.json;JSONObject;false;JSONObject;(JSONObject,String[]);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(JSONObject,String[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(JSONTokener);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(Map);;Argument[0].MapKey;Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(Map);;Argument[0].MapValue;Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(Object);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(Object,String[]);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(Object,String[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(String);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;JSONObject;(String,Locale);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;accumulate;;;Argument[0..1];Argument[-1];taint", - "org.json;JSONObject;false;accumulate;;;Argument[-1];ReturnValue;value", - "org.json;JSONObject;false;append;;;Argument[0..1];Argument[-1];taint", - "org.json;JSONObject;false;append;;;Argument[-1];ReturnValue;value", - "org.json;JSONObject;false;doubleToString;;;Argument[0];ReturnValue;taint", - "org.json;JSONObject;true;entrySet;;;Argument[-1];ReturnValue.Element;taint", - "org.json;JSONObject;false;get;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getBigDecimal;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getBigInteger;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getBoolean;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getDouble;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getEnum;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getFloat;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getInt;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getJSONArray;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getJSONObject;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getLong;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getNames;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.json;JSONObject;false;getNumber;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;getString;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;increment;;;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;increment;;;Argument[-1];ReturnValue;value", - "org.json;JSONObject;false;keys;;;Argument[-1];ReturnValue.Element;taint", - "org.json;JSONObject;false;keySet;;;Argument[-1];ReturnValue.Element;taint", - "org.json;JSONObject;false;names;;;Argument[-1];ReturnValue;taint", // Returns a JSONArray, hence this has no Element qualifier or similar - "org.json;JSONObject;false;numberToString;;;Argument[0];ReturnValue;taint", - "org.json;JSONObject;false;opt;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optBigDecimal;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optBigInteger;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optBoolean;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optDouble;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optEnum;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optFloat;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optInt;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optJSONArray;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optJSONObject;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optLong;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optNumber;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optQuery;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;optString;;;Argument[-1];ReturnValue;taint", + "org.json;JSONArray;false;optBigDecimal;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optBigInteger;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optBoolean;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optDouble;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optEnum;;;Argument[2];ReturnValue;value;manual", + "org.json;JSONArray;false;optFloat;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optInt;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optLong;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optNumber;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;optString;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONArray;false;put;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONArray;false;put;(boolean);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(Collection);;Argument[0].Element;Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(double);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(float);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(long);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(Map);;Argument[0].MapKey;Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(Map);;Argument[0].MapValue;Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(Object);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,boolean);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,Collection);;Argument[1].Element;Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,double);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,float);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,int);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,long);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,Map);;Argument[1].MapKey;Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,Map);;Argument[1].MapValue;Argument[-1];taint;manual", + "org.json;JSONArray;false;put;(int,Object);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONArray;false;putAll;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONArray;false;putAll;(Collection);;Argument[0].Element;Argument[-1];taint;manual", + "org.json;JSONArray;false;putAll;(Iterable);;Argument[0].Element;Argument[-1];taint;manual", + "org.json;JSONArray;false;putAll;(JSONArray);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;putAll;(Object);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONArray;false;query;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;remove;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;toJSONObject;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONArray;false;toJSONObject;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONArray;false;toList;;;Argument[0];ReturnValue.Element;taint;manual", + "org.json;JSONArray;false;toString;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONArray;false;write;;;Argument[-1];Argument[0];taint;manual", + "org.json;JSONArray;false;write;;;Argument[0];ReturnValue;value;manual", + "org.json;JSONML;false;toJSONArray;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONML;false;toJSONObject;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONML;false;toString;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;false;JSONObject;(JSONObject,String[]);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(JSONObject,String[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(JSONTokener);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(Map);;Argument[0].MapKey;Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(Map);;Argument[0].MapValue;Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(Object);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(Object,String[]);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(Object,String[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(String);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;JSONObject;(String,Locale);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;accumulate;;;Argument[0..1];Argument[-1];taint;manual", + "org.json;JSONObject;false;accumulate;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONObject;false;append;;;Argument[0..1];Argument[-1];taint;manual", + "org.json;JSONObject;false;append;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONObject;false;doubleToString;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;true;entrySet;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.json;JSONObject;false;get;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getBigDecimal;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getBigInteger;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getBoolean;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getDouble;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getEnum;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getFloat;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getInt;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getJSONArray;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getJSONObject;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getLong;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getNames;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.json;JSONObject;false;getNumber;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;getString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;increment;;;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;increment;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONObject;false;keys;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.json;JSONObject;false;keySet;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.json;JSONObject;false;names;;;Argument[-1];ReturnValue;taint;manual", // Returns a JSONArray, hence this has no Element qualifier or similar + "org.json;JSONObject;false;numberToString;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;false;opt;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optBigDecimal;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optBigInteger;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optBoolean;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optDouble;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optEnum;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optFloat;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optInt;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optJSONArray;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optJSONObject;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optLong;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optNumber;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optQuery;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;optString;;;Argument[-1];ReturnValue;taint;manual", // Default values that may be returned by the `opt*` methods above: - "org.json;JSONObject;false;optBigDecimal;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optBigInteger;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optBoolean;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optDouble;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optEnum;;;Argument[2];ReturnValue;value", - "org.json;JSONObject;false;optFloat;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optInt;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optLong;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optNumber;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;optString;;;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;put;;;Argument[-1];ReturnValue;value", - "org.json;JSONObject;false;put;(String,boolean);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Collection);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,double);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,float);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,int);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,long);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Map);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Object);;Argument[0];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,boolean);;Argument[1];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Collection);;Argument[1].Element;Argument[-1];taint", - "org.json;JSONObject;false;put;(String,double);;Argument[1];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,float);;Argument[1];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,int);;Argument[1];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,long);;Argument[1];Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Map);;Argument[1].MapKey;Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Map);;Argument[1].MapValue;Argument[-1];taint", - "org.json;JSONObject;false;put;(String,Object);;Argument[1];Argument[-1];taint", - "org.json;JSONObject;false;putOnce;;;Argument[-1];ReturnValue;value", - "org.json;JSONObject;false;putOnce;;;Argument[0..1];Argument[-1];taint", - "org.json;JSONObject;false;putOpt;;;Argument[-1];ReturnValue;value", - "org.json;JSONObject;false;putOpt;;;Argument[0..1];Argument[-1];taint", - "org.json;JSONObject;false;query;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;quote;(String);;Argument[0];ReturnValue;taint", - "org.json;JSONObject;false;quote;(String,Writer);;Argument[0];Argument[1];taint", - "org.json;JSONObject;false;quote;(String,Writer);;Argument[1];ReturnValue;value", - "org.json;JSONObject;false;remove;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;stringToValue;;;Argument[0];ReturnValue;taint", - "org.json;JSONObject;false;toJSONArray;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;toMap;;;Argument[-1];ReturnValue.MapKey;taint", - "org.json;JSONObject;false;toMap;;;Argument[-1];ReturnValue.MapValue;taint", - "org.json;JSONObject;false;toString;;;Argument[-1];ReturnValue;taint", - "org.json;JSONObject;false;valueToString;;;Argument[0];ReturnValue;taint", - "org.json;JSONObject;false;wrap;;;Argument[0];ReturnValue;taint", - "org.json;JSONObject;false;write;;;Argument[-1];Argument[0];taint", - "org.json;JSONObject;false;write;;;Argument[0];ReturnValue;value", - "org.json;JSONPointer;false;JSONPointer;(List);;Argument[0].Element;Argument[-1];taint", - "org.json;JSONPointer;false;JSONPointer;(String);;Argument[0];Argument[-1];taint", - "org.json;JSONPointer;false;queryFrom;;;Argument[0];ReturnValue;taint", - "org.json;JSONPointer;false;toString;;;Argument[-1];ReturnValue;taint", - "org.json;JSONPointer;false;toURIFragment;;;Argument[-1];ReturnValue;taint", - "org.json;JSONPointer$Builder;false;append;;;Argument[0];Argument[-1];taint", - "org.json;JSONPointer$Builder;false;append;;;Argument[-1];ReturnValue;value", - "org.json;JSONPointer$Builder;false;build;;;Argument[-1];ReturnValue;taint", - "org.json;JSONStringer;false;toString;;;Argument[-1];ReturnValue;taint", - "org.json;JSONTokener;true;JSONTokener;;;Argument[0];Argument[-1];taint", - "org.json;JSONTokener;true;next;;;Argument[-1];ReturnValue;taint", - "org.json;JSONTokener;true;nextClean;;;Argument[-1];ReturnValue;taint", - "org.json;JSONTokener;true;nextString;;;Argument[-1];ReturnValue;taint", - "org.json;JSONTokener;true;nextTo;;;Argument[-1];ReturnValue;taint", - "org.json;JSONTokener;true;nextValue;;;Argument[-1];ReturnValue;taint", - "org.json;JSONTokener;true;syntaxError;;;Argument[0..1];ReturnValue;taint", - "org.json;JSONTokener;true;toString;;;Argument[-1];ReturnValue;taint", + "org.json;JSONObject;false;optBigDecimal;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optBigInteger;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optBoolean;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optDouble;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optEnum;;;Argument[2];ReturnValue;value;manual", + "org.json;JSONObject;false;optFloat;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optInt;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optLong;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optNumber;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;optString;;;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;put;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONObject;false;put;(String,boolean);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Collection);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,double);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,float);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,int);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,long);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Map);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Object);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,boolean);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Collection);;Argument[1].Element;Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,double);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,float);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,int);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,long);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Map);;Argument[1].MapKey;Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Map);;Argument[1].MapValue;Argument[-1];taint;manual", + "org.json;JSONObject;false;put;(String,Object);;Argument[1];Argument[-1];taint;manual", + "org.json;JSONObject;false;putOnce;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONObject;false;putOnce;;;Argument[0..1];Argument[-1];taint;manual", + "org.json;JSONObject;false;putOpt;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONObject;false;putOpt;;;Argument[0..1];Argument[-1];taint;manual", + "org.json;JSONObject;false;query;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;quote;(String);;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;false;quote;(String,Writer);;Argument[0];Argument[1];taint;manual", + "org.json;JSONObject;false;quote;(String,Writer);;Argument[1];ReturnValue;value;manual", + "org.json;JSONObject;false;remove;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;stringToValue;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;false;toJSONArray;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;toMap;;;Argument[-1];ReturnValue.MapKey;taint;manual", + "org.json;JSONObject;false;toMap;;;Argument[-1];ReturnValue.MapValue;taint;manual", + "org.json;JSONObject;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONObject;false;valueToString;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;false;wrap;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONObject;false;write;;;Argument[-1];Argument[0];taint;manual", + "org.json;JSONObject;false;write;;;Argument[0];ReturnValue;value;manual", + "org.json;JSONPointer;false;JSONPointer;(List);;Argument[0].Element;Argument[-1];taint;manual", + "org.json;JSONPointer;false;JSONPointer;(String);;Argument[0];Argument[-1];taint;manual", + "org.json;JSONPointer;false;queryFrom;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONPointer;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONPointer;false;toURIFragment;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONPointer$Builder;false;append;;;Argument[0];Argument[-1];taint;manual", + "org.json;JSONPointer$Builder;false;append;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONPointer$Builder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONStringer;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;JSONTokener;;;Argument[0];Argument[-1];taint;manual", + "org.json;JSONTokener;true;next;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;nextClean;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;nextString;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;nextTo;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;nextValue;;;Argument[-1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;syntaxError;;;Argument[0..1];ReturnValue;taint;manual", + "org.json;JSONTokener;true;toString;;;Argument[-1];ReturnValue;taint;manual", // The following model doesn't work yet due to lack of support for reverse taint flow: - "org.json;JSONWriter;true;JSONWriter;;;Argument[-1];Argument[0];taint", - "org.json;JSONWriter;true;key;;;Argument[0];Argument[-1];taint", - "org.json;JSONWriter;true;value;;;Argument[0];Argument[-1];taint", - "org.json;JSONWriter;true;valueToString;;;Argument[0];ReturnValue;taint", - "org.json;JSONWriter;true;array;;;Argument[-1];ReturnValue;value", - "org.json;JSONWriter;true;endArray;;;Argument[-1];ReturnValue;value", - "org.json;JSONWriter;true;endObject;;;Argument[-1];ReturnValue;value", - "org.json;JSONWriter;true;key;;;Argument[-1];ReturnValue;value", - "org.json;JSONWriter;true;object;;;Argument[-1];ReturnValue;value", - "org.json;JSONWriter;true;value;;;Argument[-1];ReturnValue;value", - "org.json;Property;false;toJSONObject;;;Argument[0].MapKey;ReturnValue;taint", - "org.json;Property;false;toJSONObject;;;Argument[0].MapValue;ReturnValue;taint", - "org.json;Property;false;toProperties;;;Argument[0];ReturnValue.MapKey;taint", - "org.json;Property;false;toProperties;;;Argument[0];ReturnValue.MapValue;taint", - "org.json;XML;false;escape;;;Argument[0];ReturnValue;taint", - "org.json;XML;false;stringToValue;;;Argument[0];ReturnValue;taint", - "org.json;XML;false;toJSONObject;;;Argument[0];ReturnValue;taint", - "org.json;XML;false;toString;;;Argument[0..1];ReturnValue;taint", - "org.json;XML;false;unescape;;;Argument[0];ReturnValue;taint", - "org.json;XMLTokener;false;XMLTokener;;;Argument[0];Argument[-1];taint", - "org.json;XMLTokener;false;nextCDATA;;;Argument[-1];ReturnValue;taint", - "org.json;XMLTokener;false;nextContent;;;Argument[-1];ReturnValue;taint", - "org.json;XMLTokener;false;nextEntity;;;Argument[-1];ReturnValue;taint", - "org.json;XMLTokener;false;nextMeta;;;Argument[-1];ReturnValue;taint", - "org.json;XMLTokener;false;nextToken;;;Argument[-1];ReturnValue;taint" + "org.json;JSONWriter;true;JSONWriter;;;Argument[-1];Argument[0];taint;manual", + "org.json;JSONWriter;true;key;;;Argument[0];Argument[-1];taint;manual", + "org.json;JSONWriter;true;value;;;Argument[0];Argument[-1];taint;manual", + "org.json;JSONWriter;true;valueToString;;;Argument[0];ReturnValue;taint;manual", + "org.json;JSONWriter;true;array;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONWriter;true;endArray;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONWriter;true;endObject;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONWriter;true;key;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONWriter;true;object;;;Argument[-1];ReturnValue;value;manual", + "org.json;JSONWriter;true;value;;;Argument[-1];ReturnValue;value;manual", + "org.json;Property;false;toJSONObject;;;Argument[0].MapKey;ReturnValue;taint;manual", + "org.json;Property;false;toJSONObject;;;Argument[0].MapValue;ReturnValue;taint;manual", + "org.json;Property;false;toProperties;;;Argument[0];ReturnValue.MapKey;taint;manual", + "org.json;Property;false;toProperties;;;Argument[0];ReturnValue.MapValue;taint;manual", + "org.json;XML;false;escape;;;Argument[0];ReturnValue;taint;manual", + "org.json;XML;false;stringToValue;;;Argument[0];ReturnValue;taint;manual", + "org.json;XML;false;toJSONObject;;;Argument[0];ReturnValue;taint;manual", + "org.json;XML;false;toString;;;Argument[0..1];ReturnValue;taint;manual", + "org.json;XML;false;unescape;;;Argument[0];ReturnValue;taint;manual", + "org.json;XMLTokener;false;XMLTokener;;;Argument[0];Argument[-1];taint;manual", + "org.json;XMLTokener;false;nextCDATA;;;Argument[-1];ReturnValue;taint;manual", + "org.json;XMLTokener;false;nextContent;;;Argument[-1];ReturnValue;taint;manual", + "org.json;XMLTokener;false;nextEntity;;;Argument[-1];ReturnValue;taint;manual", + "org.json;XMLTokener;false;nextMeta;;;Argument[-1];ReturnValue;taint;manual", + "org.json;XMLTokener;false;nextToken;;;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/KotlinStdLib.qll b/java/ql/lib/semmle/code/java/frameworks/KotlinStdLib.qll index 63cdb87acdf..ebd6517d277 100644 --- a/java/ql/lib/semmle/code/java/frameworks/KotlinStdLib.qll +++ b/java/ql/lib/semmle/code/java/frameworks/KotlinStdLib.qll @@ -6,6 +6,6 @@ private import semmle.code.java.dataflow.ExternalFlow private class KotlinStdLibSummaryCsv extends SummaryModelCsv { override predicate row(string row) { row = - "kotlin.jvm.internal;ArrayIteratorKt;false;iterator;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value" + "kotlin.jvm.internal;ArrayIteratorKt;false;iterator;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Logging.qll b/java/ql/lib/semmle/code/java/frameworks/Logging.qll index cf7c12e556a..4c00873781c 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Logging.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Logging.qll @@ -7,21 +7,21 @@ private class LoggingSummaryModels extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.logging.log4j;Logger;true;traceEntry;(Message);;Argument[0];ReturnValue;taint", - "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];ReturnValue;taint", - "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];ReturnValue;taint", - "org.apache.logging.log4j;Logger;true;traceEntry;(Supplier[]);;Argument[0];ReturnValue;taint", - "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage,Object);;Argument[1];ReturnValue;value", - "org.apache.logging.log4j;Logger;true;traceExit;(Message,Object);;Argument[1];ReturnValue;value", - "org.apache.logging.log4j;Logger;true;traceExit;(Object);;Argument[0];ReturnValue;value", - "org.apache.logging.log4j;Logger;true;traceExit;(String,Object);;Argument[1];ReturnValue;value", - "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[1];Argument[-1];taint", - "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[-1];ReturnValue;value", - "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[1];Argument[-1];taint", - "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[-1];ReturnValue;value", - "org.slf4j.spi;LoggingEventBuilder;true;addMarker;;;Argument[-1];ReturnValue;value", - "org.slf4j.spi;LoggingEventBuilder;true;setCause;;;Argument[-1];ReturnValue;value", - "java.util.logging;LogRecord;false;LogRecord;;;Argument[1];Argument[-1];taint" + "org.apache.logging.log4j;Logger;true;traceEntry;(Message);;Argument[0];ReturnValue;taint;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];ReturnValue;taint;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];ReturnValue;taint;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(Supplier[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage,Object);;Argument[1];ReturnValue;value;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(Message,Object);;Argument[1];ReturnValue;value;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(Object);;Argument[0];ReturnValue;value;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(String,Object);;Argument[1];ReturnValue;value;manual", + "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[1];Argument[-1];taint;manual", + "org.slf4j.spi;LoggingEventBuilder;true;addArgument;;;Argument[-1];ReturnValue;value;manual", + "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[1];Argument[-1];taint;manual", + "org.slf4j.spi;LoggingEventBuilder;true;addKeyValue;;;Argument[-1];ReturnValue;value;manual", + "org.slf4j.spi;LoggingEventBuilder;true;addMarker;;;Argument[-1];ReturnValue;value;manual", + "org.slf4j.spi;LoggingEventBuilder;true;setCause;;;Argument[-1];ReturnValue;value;manual", + "java.util.logging;LogRecord;false;LogRecord;;;Argument[1];Argument[-1];taint;manual" ] } } @@ -33,253 +33,263 @@ private class LoggingSinkModels extends SinkModelCsv { row = [ // org.apache.log4j.Category - "org.apache.log4j;Category;true;assertLog;;;Argument[1];logging", - "org.apache.log4j;Category;true;debug;;;Argument[0];logging", - "org.apache.log4j;Category;true;error;;;Argument[0];logging", - "org.apache.log4j;Category;true;fatal;;;Argument[0];logging", - "org.apache.log4j;Category;true;forcedLog;;;Argument[2];logging", - "org.apache.log4j;Category;true;info;;;Argument[0];logging", - "org.apache.log4j;Category;true;l7dlog;(Priority,String,Object[],Throwable);;Argument[2];logging", - "org.apache.log4j;Category;true;log;(Priority,Object);;Argument[1];logging", - "org.apache.log4j;Category;true;log;(Priority,Object,Throwable);;Argument[1];logging", - "org.apache.log4j;Category;true;log;(String,Priority,Object,Throwable);;Argument[2];logging", - "org.apache.log4j;Category;true;warn;;;Argument[0];logging", + "org.apache.log4j;Category;true;assertLog;;;Argument[1];logging;manual", + "org.apache.log4j;Category;true;debug;;;Argument[0];logging;manual", + "org.apache.log4j;Category;true;error;;;Argument[0];logging;manual", + "org.apache.log4j;Category;true;fatal;;;Argument[0];logging;manual", + "org.apache.log4j;Category;true;forcedLog;;;Argument[2];logging;manual", + "org.apache.log4j;Category;true;info;;;Argument[0];logging;manual", + "org.apache.log4j;Category;true;l7dlog;(Priority,String,Object[],Throwable);;Argument[2];logging;manual", + "org.apache.log4j;Category;true;log;(Priority,Object);;Argument[1];logging;manual", + "org.apache.log4j;Category;true;log;(Priority,Object,Throwable);;Argument[1];logging;manual", + "org.apache.log4j;Category;true;log;(String,Priority,Object,Throwable);;Argument[2];logging;manual", + "org.apache.log4j;Category;true;warn;;;Argument[0];logging;manual", // org.apache.logging.log4j.Logger "org.apache.logging.log4j;Logger;true;" + ["debug", "error", "fatal", "info", "trace", "warn"] + [ - ";(CharSequence);;Argument[0];logging", - ";(CharSequence,Throwable);;Argument[0];logging", - ";(Marker,CharSequence);;Argument[1];logging", - ";(Marker,CharSequence,Throwable);;Argument[1];logging", - ";(Marker,Message);;Argument[1];logging", - ";(Marker,MessageSupplier);;Argument[1];logging", - ";(Marker,MessageSupplier);;Argument[1];logging", - ";(Marker,MessageSupplier,Throwable);;Argument[1];logging", - ";(Marker,Object);;Argument[1];logging", - ";(Marker,Object,Throwable);;Argument[1];logging", - ";(Marker,String);;Argument[1];logging", - ";(Marker,String,Object[]);;Argument[1..2];logging", - ";(Marker,String,Object);;Argument[1..2];logging", - ";(Marker,String,Object,Object);;Argument[1..3];logging", - ";(Marker,String,Object,Object,Object);;Argument[1..4];logging", - ";(Marker,String,Object,Object,Object,Object);;Argument[1..5];logging", - ";(Marker,String,Object,Object,Object,Object,Object);;Argument[1..6];logging", - ";(Marker,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];logging", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];logging", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];logging", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];logging", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];logging", - ";(Marker,String,Supplier);;Argument[1..2];logging", - ";(Marker,String,Throwable);;Argument[1];logging", - ";(Marker,Supplier);;Argument[1];logging", - ";(Marker,Supplier,Throwable);;Argument[1];logging", - ";(MessageSupplier);;Argument[0];logging", - ";(MessageSupplier,Throwable);;Argument[0];logging", ";(Message);;Argument[0];logging", - ";(Message,Throwable);;Argument[0];logging", ";(Object);;Argument[0];logging", - ";(Object,Throwable);;Argument[0];logging", ";(String);;Argument[0];logging", - ";(String,Object[]);;Argument[0..1];logging", - ";(String,Object);;Argument[0..1];logging", - ";(String,Object,Object);;Argument[0..2];logging", - ";(String,Object,Object,Object);;Argument[0..3];logging", - ";(String,Object,Object,Object,Object);;Argument[0..4];logging", - ";(String,Object,Object,Object,Object,Object);;Argument[0..5];logging", - ";(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];logging", - ";(String,Supplier);;Argument[0..1];logging", - ";(String,Throwable);;Argument[0];logging", ";(Supplier);;Argument[0];logging", - ";(Supplier,Throwable);;Argument[0];logging" + ";(CharSequence);;Argument[0];logging;manual", + ";(CharSequence,Throwable);;Argument[0];logging;manual", + ";(Marker,CharSequence);;Argument[1];logging;manual", + ";(Marker,CharSequence,Throwable);;Argument[1];logging;manual", + ";(Marker,Message);;Argument[1];logging;manual", + ";(Marker,MessageSupplier);;Argument[1];logging;manual", + ";(Marker,MessageSupplier);;Argument[1];logging;manual", + ";(Marker,MessageSupplier,Throwable);;Argument[1];logging;manual", + ";(Marker,Object);;Argument[1];logging;manual", + ";(Marker,Object,Throwable);;Argument[1];logging;manual", + ";(Marker,String);;Argument[1];logging;manual", + ";(Marker,String,Object[]);;Argument[1..2];logging;manual", + ";(Marker,String,Object);;Argument[1..2];logging;manual", + ";(Marker,String,Object,Object);;Argument[1..3];logging;manual", + ";(Marker,String,Object,Object,Object);;Argument[1..4];logging;manual", + ";(Marker,String,Object,Object,Object,Object);;Argument[1..5];logging;manual", + ";(Marker,String,Object,Object,Object,Object,Object);;Argument[1..6];logging;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];logging;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];logging;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];logging;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];logging;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];logging;manual", + ";(Marker,String,Supplier);;Argument[1..2];logging;manual", + ";(Marker,String,Throwable);;Argument[1];logging;manual", + ";(Marker,Supplier);;Argument[1];logging;manual", + ";(Marker,Supplier,Throwable);;Argument[1];logging;manual", + ";(MessageSupplier);;Argument[0];logging;manual", + ";(MessageSupplier,Throwable);;Argument[0];logging;manual", + ";(Message);;Argument[0];logging;manual", + ";(Message,Throwable);;Argument[0];logging;manual", + ";(Object);;Argument[0];logging;manual", + ";(Object,Throwable);;Argument[0];logging;manual", + ";(String);;Argument[0];logging;manual", + ";(String,Object[]);;Argument[0..1];logging;manual", + ";(String,Object);;Argument[0..1];logging;manual", + ";(String,Object,Object);;Argument[0..2];logging;manual", + ";(String,Object,Object,Object);;Argument[0..3];logging;manual", + ";(String,Object,Object,Object,Object);;Argument[0..4];logging;manual", + ";(String,Object,Object,Object,Object,Object);;Argument[0..5];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];logging;manual", + ";(String,Supplier);;Argument[0..1];logging;manual", + ";(String,Throwable);;Argument[0];logging;manual", + ";(Supplier);;Argument[0];logging;manual", + ";(Supplier,Throwable);;Argument[0];logging;manual" ], "org.apache.logging.log4j;Logger;true;log" + [ - ";(Level,CharSequence);;Argument[1];logging", - ";(Level,CharSequence,Throwable);;Argument[1];logging", - ";(Level,Marker,CharSequence);;Argument[2];logging", - ";(Level,Marker,CharSequence,Throwable);;Argument[2];logging", - ";(Level,Marker,Message);;Argument[2];logging", - ";(Level,Marker,MessageSupplier);;Argument[2];logging", - ";(Level,Marker,MessageSupplier);;Argument[2];logging", - ";(Level,Marker,MessageSupplier,Throwable);;Argument[2];logging", - ";(Level,Marker,Object);;Argument[2];logging", - ";(Level,Marker,Object,Throwable);;Argument[2];logging", - ";(Level,Marker,String);;Argument[2];logging", - ";(Level,Marker,String,Object[]);;Argument[2..3];logging", - ";(Level,Marker,String,Object);;Argument[2..3];logging", - ";(Level,Marker,String,Object,Object);;Argument[2..4];logging", - ";(Level,Marker,String,Object,Object,Object);;Argument[2..5];logging", - ";(Level,Marker,String,Object,Object,Object,Object);;Argument[2..6];logging", - ";(Level,Marker,String,Object,Object,Object,Object,Object);;Argument[2..7];logging", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object);;Argument[2..8];logging", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[2..9];logging", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..10];logging", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..11];logging", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..12];logging", - ";(Level,Marker,String,Supplier);;Argument[2..3];logging", - ";(Level,Marker,String,Throwable);;Argument[2];logging", - ";(Level,Marker,Supplier);;Argument[2];logging", - ";(Level,Marker,Supplier,Throwable);;Argument[2];logging", - ";(Level,Message);;Argument[1];logging", - ";(Level,MessageSupplier);;Argument[1];logging", - ";(Level,MessageSupplier,Throwable);;Argument[1];logging", - ";(Level,Message);;Argument[1];logging", - ";(Level,Message,Throwable);;Argument[1];logging", - ";(Level,Object);;Argument[1];logging", ";(Level,Object);;Argument[1];logging", - ";(Level,String);;Argument[1];logging", - ";(Level,Object,Throwable);;Argument[1];logging", - ";(Level,String);;Argument[1];logging", - ";(Level,String,Object[]);;Argument[1..2];logging", - ";(Level,String,Object);;Argument[1..2];logging", - ";(Level,String,Object,Object);;Argument[1..3];logging", - ";(Level,String,Object,Object,Object);;Argument[1..4];logging", - ";(Level,String,Object,Object,Object,Object);;Argument[1..5];logging", - ";(Level,String,Object,Object,Object,Object,Object);;Argument[1..6];logging", - ";(Level,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];logging", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];logging", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];logging", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];logging", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];logging", - ";(Level,String,Supplier);;Argument[1..2];logging", - ";(Level,String,Throwable);;Argument[1];logging", - ";(Level,Supplier);;Argument[1];logging", - ";(Level,Supplier,Throwable);;Argument[1];logging" - ], "org.apache.logging.log4j;Logger;true;entry;(Object[]);;Argument[0];logging", - "org.apache.logging.log4j;Logger;true;logMessage;(Level,Marker,String,StackTraceElement,Message,Throwable);;Argument[4];logging", - "org.apache.logging.log4j;Logger;true;printf;(Level,Marker,String,Object[]);;Argument[2..3];logging", - "org.apache.logging.log4j;Logger;true;printf;(Level,String,Object[]);;Argument[1..2];logging", - "org.apache.logging.log4j;Logger;true;traceEntry;(Message);;Argument[0];logging", - "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];logging", - "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];logging", - "org.apache.logging.log4j;Logger;true;traceEntry;(Supplier[]);;Argument[0];logging", - "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage);;Argument[0];logging", - "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage,Object);;Argument[0..1];logging", - "org.apache.logging.log4j;Logger;true;traceExit;(Message,Object);;Argument[0..1];logging", - "org.apache.logging.log4j;Logger;true;traceExit;(Object);;Argument[0];logging", - "org.apache.logging.log4j;Logger;true;traceExit;(String,Object);;Argument[0..1];logging", + ";(Level,CharSequence);;Argument[1];logging;manual", + ";(Level,CharSequence,Throwable);;Argument[1];logging;manual", + ";(Level,Marker,CharSequence);;Argument[2];logging;manual", + ";(Level,Marker,CharSequence,Throwable);;Argument[2];logging;manual", + ";(Level,Marker,Message);;Argument[2];logging;manual", + ";(Level,Marker,MessageSupplier);;Argument[2];logging;manual", + ";(Level,Marker,MessageSupplier);;Argument[2];logging;manual", + ";(Level,Marker,MessageSupplier,Throwable);;Argument[2];logging;manual", + ";(Level,Marker,Object);;Argument[2];logging;manual", + ";(Level,Marker,Object,Throwable);;Argument[2];logging;manual", + ";(Level,Marker,String);;Argument[2];logging;manual", + ";(Level,Marker,String,Object[]);;Argument[2..3];logging;manual", + ";(Level,Marker,String,Object);;Argument[2..3];logging;manual", + ";(Level,Marker,String,Object,Object);;Argument[2..4];logging;manual", + ";(Level,Marker,String,Object,Object,Object);;Argument[2..5];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object);;Argument[2..6];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object);;Argument[2..7];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object);;Argument[2..8];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[2..9];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..10];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..11];logging;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..12];logging;manual", + ";(Level,Marker,String,Supplier);;Argument[2..3];logging;manual", + ";(Level,Marker,String,Throwable);;Argument[2];logging;manual", + ";(Level,Marker,Supplier);;Argument[2];logging;manual", + ";(Level,Marker,Supplier,Throwable);;Argument[2];logging;manual", + ";(Level,Message);;Argument[1];logging;manual", + ";(Level,MessageSupplier);;Argument[1];logging;manual", + ";(Level,MessageSupplier,Throwable);;Argument[1];logging;manual", + ";(Level,Message);;Argument[1];logging;manual", + ";(Level,Message,Throwable);;Argument[1];logging;manual", + ";(Level,Object);;Argument[1];logging;manual", + ";(Level,Object);;Argument[1];logging;manual", + ";(Level,String);;Argument[1];logging;manual", + ";(Level,Object,Throwable);;Argument[1];logging;manual", + ";(Level,String);;Argument[1];logging;manual", + ";(Level,String,Object[]);;Argument[1..2];logging;manual", + ";(Level,String,Object);;Argument[1..2];logging;manual", + ";(Level,String,Object,Object);;Argument[1..3];logging;manual", + ";(Level,String,Object,Object,Object);;Argument[1..4];logging;manual", + ";(Level,String,Object,Object,Object,Object);;Argument[1..5];logging;manual", + ";(Level,String,Object,Object,Object,Object,Object);;Argument[1..6];logging;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];logging;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];logging;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];logging;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];logging;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];logging;manual", + ";(Level,String,Supplier);;Argument[1..2];logging;manual", + ";(Level,String,Throwable);;Argument[1];logging;manual", + ";(Level,Supplier);;Argument[1];logging;manual", + ";(Level,Supplier,Throwable);;Argument[1];logging;manual" + ], "org.apache.logging.log4j;Logger;true;entry;(Object[]);;Argument[0];logging;manual", + "org.apache.logging.log4j;Logger;true;logMessage;(Level,Marker,String,StackTraceElement,Message,Throwable);;Argument[4];logging;manual", + "org.apache.logging.log4j;Logger;true;printf;(Level,Marker,String,Object[]);;Argument[2..3];logging;manual", + "org.apache.logging.log4j;Logger;true;printf;(Level,String,Object[]);;Argument[1..2];logging;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(Message);;Argument[0];logging;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(String,Object[]);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(String,Supplier[]);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;Logger;true;traceEntry;(Supplier[]);;Argument[0];logging;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage);;Argument[0];logging;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(EntryMessage,Object);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(Message,Object);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(Object);;Argument[0];logging;manual", + "org.apache.logging.log4j;Logger;true;traceExit;(String,Object);;Argument[0..1];logging;manual", // org.apache.logging.log4j.LogBuilder - "org.apache.logging.log4j;LogBuilder;true;log;(CharSequence);;Argument[0];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(Message);;Argument[0];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(Object);;Argument[0];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String);;Argument[0];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object[]);;Argument[0..1];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object);;Argument[0..1];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object);;Argument[0..2];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object);;Argument[0..3];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object);;Argument[0..4];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object);;Argument[0..5];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Supplier);;Argument[0..1];logging", - "org.apache.logging.log4j;LogBuilder;true;log;(Supplier);;Argument[0];logging", + "org.apache.logging.log4j;LogBuilder;true;log;(CharSequence);;Argument[0];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(Message);;Argument[0];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(Object);;Argument[0];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String);;Argument[0];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object[]);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object);;Argument[0..2];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object);;Argument[0..3];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object);;Argument[0..4];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object);;Argument[0..5];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Supplier);;Argument[0..1];logging;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(Supplier);;Argument[0];logging;manual", // org.apache.commons.logging.Log "org.apache.commons.logging;Log;true;" + - ["debug", "error", "fatal", "info", "trace", "warn"] + ";;;Argument[0];logging", + ["debug", "error", "fatal", "info", "trace", "warn"] + ";;;Argument[0];logging;manual", // org.jboss.logging.BasicLogger and org.jboss.logging.Logger // (org.jboss.logging.Logger does not implement BasicLogger in some implementations like JBoss Application Server 4.0.4) jBossLogger() + ";true;" + ["debug", "error", "fatal", "info", "trace", "warn"] + [ - ";(Object);;Argument[0];logging", ";(Object,Throwable);;Argument[0];logging", - ";(Object,Object[]);;Argument[0..1];logging", - ";(Object,Object[],Throwable);;Argument[0..1];logging", - ";(String,Object,Object[],Throwable);;Argument[1..2];logging", - ";(String,Object,Throwable);;Argument[1];logging" + ";(Object);;Argument[0];logging;manual", + ";(Object,Throwable);;Argument[0];logging;manual", + ";(Object,Object[]);;Argument[0..1];logging;manual", + ";(Object,Object[],Throwable);;Argument[0..1];logging;manual", + ";(String,Object,Object[],Throwable);;Argument[1..2];logging;manual", + ";(String,Object,Throwable);;Argument[1];logging;manual" ], jBossLogger() + ";true;log" + [ - ";(Level,Object);;Argument[1];logging", - ";(Level,Object,Object[]);;Argument[1..2];logging", - ";(Level,Object,Object[],Throwable);;Argument[1..2];logging", - ";(Level,Object,Throwable);;Argument[1];logging", - ";(Level,String,Object,Throwable);;Argument[2];logging", - ";(String,Level,Object,Object[],Throwable);;Argument[2..3];logging" + ";(Level,Object);;Argument[1];logging;manual", + ";(Level,Object,Object[]);;Argument[1..2];logging;manual", + ";(Level,Object,Object[],Throwable);;Argument[1..2];logging;manual", + ";(Level,Object,Throwable);;Argument[1];logging;manual", + ";(Level,String,Object,Throwable);;Argument[2];logging;manual", + ";(String,Level,Object,Object[],Throwable);;Argument[2..3];logging;manual" ], jBossLogger() + ";true;" + ["debug", "error", "fatal", "info", "trace", "warn"] + ["f", "v"] + [ - ";(String,Object[]);;Argument[0..1];logging", - ";(String,Object);;Argument[0..1];logging", - ";(String,Object,Object);;Argument[0..2];logging", - ";(String,Object,Object,Object);;Argument[0..3];logging", - ";(String,Object,Object,Object,Object);;Argument[0..4];logging", - ";(Throwable,String,Object);;Argument[1..2];logging", - ";(Throwable,String,Object,Object);;Argument[1..3];logging", - ";(Throwable,String,Object,Object,Object);;Argument[0..4];logging" + ";(String,Object[]);;Argument[0..1];logging;manual", + ";(String,Object);;Argument[0..1];logging;manual", + ";(String,Object,Object);;Argument[0..2];logging;manual", + ";(String,Object,Object,Object);;Argument[0..3];logging;manual", + ";(String,Object,Object,Object,Object);;Argument[0..4];logging;manual", + ";(Throwable,String,Object);;Argument[1..2];logging;manual", + ";(Throwable,String,Object,Object);;Argument[1..3];logging;manual", + ";(Throwable,String,Object,Object,Object);;Argument[0..4];logging;manual" ], jBossLogger() + ";true;log" + ["f", "v"] + [ - ";(Level,String,Object[]);;Argument[1..2];logging", - ";(Level,String,Object);;Argument[1..2];logging", - ";(Level,String,Object,Object);;Argument[1..3];logging", - ";(Level,String,Object,Object,Object);;Argument[1..4];logging", - ";(Level,String,Object,Object,Object,Object);;Argument[1..5];logging", - ";(Level,Throwable,String,Object);;Argument[2..3];logging", - ";(Level,Throwable,String,Object,Object);;Argument[2..4];logging", - ";(Level,Throwable,String,Object,Object,Object);;Argument[1..5];logging", - ";(String,Level,Throwable,String,Object[]);;Argument[3..4];logging", - ";(String,Level,Throwable,String,Object);;Argument[3..4];logging", - ";(String,Level,Throwable,String,Object,Object);;Argument[3..5];logging", - ";(String,Level,Throwable,String,Object,Object,Object);;Argument[3..6];logging" + ";(Level,String,Object[]);;Argument[1..2];logging;manual", + ";(Level,String,Object);;Argument[1..2];logging;manual", + ";(Level,String,Object,Object);;Argument[1..3];logging;manual", + ";(Level,String,Object,Object,Object);;Argument[1..4];logging;manual", + ";(Level,String,Object,Object,Object,Object);;Argument[1..5];logging;manual", + ";(Level,Throwable,String,Object);;Argument[2..3];logging;manual", + ";(Level,Throwable,String,Object,Object);;Argument[2..4];logging;manual", + ";(Level,Throwable,String,Object,Object,Object);;Argument[1..5];logging;manual", + ";(String,Level,Throwable,String,Object[]);;Argument[3..4];logging;manual", + ";(String,Level,Throwable,String,Object);;Argument[3..4];logging;manual", + ";(String,Level,Throwable,String,Object,Object);;Argument[3..5];logging;manual", + ";(String,Level,Throwable,String,Object,Object,Object);;Argument[3..6];logging;manual" ], // org.slf4j.spi.LoggingEventBuilder - "org.slf4j.spi;LoggingEventBuilder;true;log;;;Argument[0];logging", - "org.slf4j.spi;LoggingEventBuilder;true;log;(String,Object);;Argument[0..1];logging", - "org.slf4j.spi;LoggingEventBuilder;true;log;(String,Object[]);;Argument[0..1];logging", - "org.slf4j.spi;LoggingEventBuilder;true;log;(String,Object,Object);;Argument[0..2];logging", - "org.slf4j.spi;LoggingEventBuilder;true;log;(Supplier);;Argument[0];logging", + "org.slf4j.spi;LoggingEventBuilder;true;log;;;Argument[0];logging;manual", + "org.slf4j.spi;LoggingEventBuilder;true;log;(String,Object);;Argument[0..1];logging;manual", + "org.slf4j.spi;LoggingEventBuilder;true;log;(String,Object[]);;Argument[0..1];logging;manual", + "org.slf4j.spi;LoggingEventBuilder;true;log;(String,Object,Object);;Argument[0..2];logging;manual", + "org.slf4j.spi;LoggingEventBuilder;true;log;(Supplier);;Argument[0];logging;manual", // org.slf4j.Logger "org.slf4j;Logger;true;" + ["debug", "error", "info", "trace", "warn"] + [ - ";(String);;Argument[0];logging", ";(String,Object);;Argument[0..1];logging", - ";(String,Object[]);;Argument[0..1];logging", - ";(String,Object,Object);;Argument[0..2];logging", - ";(String,Throwable);;Argument[0];logging", ";(Marker,String);;Argument[1];logging", - ";(Marker,String,Object);;Argument[1..2];logging", - ";(Marker,String,Object[]);;Argument[1..2];logging", - ";(Marker,String,Object,Object);;Argument[1..3];logging", - ";(Marker,String,Object,Object,Object);;Argument[1..4];logging" + ";(String);;Argument[0];logging;manual", + ";(String,Object);;Argument[0..1];logging;manual", + ";(String,Object[]);;Argument[0..1];logging;manual", + ";(String,Object,Object);;Argument[0..2];logging;manual", + ";(String,Throwable);;Argument[0];logging;manual", + ";(Marker,String);;Argument[1];logging;manual", + ";(Marker,String,Object);;Argument[1..2];logging;manual", + ";(Marker,String,Object[]);;Argument[1..2];logging;manual", + ";(Marker,String,Object,Object);;Argument[1..3];logging;manual", + ";(Marker,String,Object,Object,Object);;Argument[1..4];logging;manual" ], // org.scijava.Logger - "org.scijava.log;Logger;true;alwaysLog;(int,Object,Throwable);;Argument[1];logging", + "org.scijava.log;Logger;true;alwaysLog;(int,Object,Throwable);;Argument[1];logging;manual", "org.scijava.log;Logger;true;" + ["debug", "error", "info", "trace", "warn"] + - [";(Object);;Argument[0];logging", ";(Object,Throwable);;Argument[0];logging"], - "org.scijava.log;Logger;true;log;(int,Object);;Argument[1];logging", - "org.scijava.log;Logger;true;log;(int,Object,Throwable);;Argument[1];logging", + [ + ";(Object);;Argument[0];logging;manual", + ";(Object,Throwable);;Argument[0];logging;manual" + ], "org.scijava.log;Logger;true;log;(int,Object);;Argument[1];logging;manual", + "org.scijava.log;Logger;true;log;(int,Object,Throwable);;Argument[1];logging;manual", // com.google.common.flogger.LoggingApi - "com.google.common.flogger;LoggingApi;true;logVarargs;;;Argument[0..1];logging", + "com.google.common.flogger;LoggingApi;true;logVarargs;;;Argument[0..1];logging;manual", "com.google.common.flogger;LoggingApi;true;log" + [ - ";;;Argument[0];logging", ";(String,Object);;Argument[1];logging", - ";(String,Object,Object);;Argument[1..2];logging", - ";(String,Object,Object,Object);;Argument[1..3];logging", - ";(String,Object,Object,Object,Object);;Argument[1..4];logging", - ";(String,Object,Object,Object,Object,Object);;Argument[1..5];logging", - ";(String,Object,Object,Object,Object,Object,Object);;Argument[1..6];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..7];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];logging", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object[]);;Argument[1..11];logging", - ";(String,Object,boolean);;Argument[1];logging", - ";(String,Object,char);;Argument[1];logging", - ";(String,Object,byte);;Argument[1];logging", - ";(String,Object,short);;Argument[1];logging", - ";(String,Object,int);;Argument[1];logging", - ";(String,Object,long);;Argument[1];logging", - ";(String,Object,float);;Argument[1];logging", - ";(String,Object,double);;Argument[1];logging", - ";(String,boolean,Object);;Argument[2];logging", - ";(String,char,Object);;Argument[2];logging", - ";(String,byte,Object);;Argument[2];logging", - ";(String,short,Object);;Argument[2];logging", - ";(String,int,Object);;Argument[2];logging", - ";(String,long,Object);;Argument[2];logging", - ";(String,float,Object);;Argument[2];logging", - ";(String,double,Object);;Argument[2];logging" + ";;;Argument[0];logging;manual", ";(String,Object);;Argument[1];logging;manual", + ";(String,Object,Object);;Argument[1..2];logging;manual", + ";(String,Object,Object,Object);;Argument[1..3];logging;manual", + ";(String,Object,Object,Object,Object);;Argument[1..4];logging;manual", + ";(String,Object,Object,Object,Object,Object);;Argument[1..5];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object);;Argument[1..6];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..7];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];logging;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object[]);;Argument[1..11];logging;manual", + ";(String,Object,boolean);;Argument[1];logging;manual", + ";(String,Object,char);;Argument[1];logging;manual", + ";(String,Object,byte);;Argument[1];logging;manual", + ";(String,Object,short);;Argument[1];logging;manual", + ";(String,Object,int);;Argument[1];logging;manual", + ";(String,Object,long);;Argument[1];logging;manual", + ";(String,Object,float);;Argument[1];logging;manual", + ";(String,Object,double);;Argument[1];logging;manual", + ";(String,boolean,Object);;Argument[2];logging;manual", + ";(String,char,Object);;Argument[2];logging;manual", + ";(String,byte,Object);;Argument[2];logging;manual", + ";(String,short,Object);;Argument[2];logging;manual", + ";(String,int,Object);;Argument[2];logging;manual", + ";(String,long,Object);;Argument[2];logging;manual", + ";(String,float,Object);;Argument[2];logging;manual", + ";(String,double,Object);;Argument[2];logging;manual" ], // java.lang.System$Logger "java.lang;System$Logger;true;log;" + @@ -290,40 +300,41 @@ private class LoggingSinkModels extends SinkModelCsv { "(Level,String,Supplier,Throwable);;Argument[1..2]", "(Level,ResourceBundle,String,Object[]);;Argument[2..3]", "(Level,ResourceBundle,String,Throwable);;Argument[2]" - ] + ";logging", + ] + ";logging;manual", // java.util.logging.Logger "java.util.logging;Logger;true;" + ["config", "fine", "finer", "finest", "info", "severe", "warning"] + - ";;;Argument[0];logging", - "java.util.logging;Logger;true;entering;(String,String);;Argument[0..1];logging", - "java.util.logging;Logger;true;entering;(String,String,Object);;Argument[0..2];logging", - "java.util.logging;Logger;true;entering;(String,String,Object[]);;Argument[0..2];logging", - "java.util.logging;Logger;true;exiting;(String,String);;Argument[0..1];logging", - "java.util.logging;Logger;true;exiting;(String,String,Object);;Argument[0..2];logging", - "java.util.logging;Logger;true;log;(Level,String);;Argument[1];logging", - "java.util.logging;Logger;true;log;(Level,String,Object);;Argument[1..2];logging", - "java.util.logging;Logger;true;log;(Level,String,Object[]);;Argument[1..2];logging", - "java.util.logging;Logger;true;log;(Level,String,Throwable);;Argument[1];logging", - "java.util.logging;Logger;true;log;(Level,Supplier);;Argument[1];logging", - "java.util.logging;Logger;true;log;(Level,Throwable,Supplier);;Argument[2];logging", - "java.util.logging;Logger;true;log;(LogRecord);;Argument[0];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,String);;Argument[1..3];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,String,Object);;Argument[1..4];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,String,Object[]);;Argument[1..4];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,String,Throwable);;Argument[1..3];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,Supplier);;Argument[1..3];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,Throwable,Supplier);;Argument[1..2];logging", - "java.util.logging;Logger;true;logp;(Level,String,String,Throwable,Supplier);;Argument[4];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Object[]);;Argument[1..2];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Object[]);;Argument[4..5];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Throwable);;Argument[1..2];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Throwable);;Argument[4];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,String,String);;Argument[1..4];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,String,String,Object);;Argument[1..5];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,String,String,Object[]);;Argument[1..5];logging", - "java.util.logging;Logger;true;logrb;(Level,String,String,String,String,Throwable);;Argument[1..4];logging", + ";;;Argument[0];logging;manual", + "java.util.logging;Logger;true;entering;(String,String);;Argument[0..1];logging;manual", + "java.util.logging;Logger;true;entering;(String,String,Object);;Argument[0..2];logging;manual", + "java.util.logging;Logger;true;entering;(String,String,Object[]);;Argument[0..2];logging;manual", + "java.util.logging;Logger;true;exiting;(String,String);;Argument[0..1];logging;manual", + "java.util.logging;Logger;true;exiting;(String,String,Object);;Argument[0..2];logging;manual", + "java.util.logging;Logger;true;log;(Level,String);;Argument[1];logging;manual", + "java.util.logging;Logger;true;log;(Level,String,Object);;Argument[1..2];logging;manual", + "java.util.logging;Logger;true;log;(Level,String,Object[]);;Argument[1..2];logging;manual", + "java.util.logging;Logger;true;log;(Level,String,Throwable);;Argument[1];logging;manual", + "java.util.logging;Logger;true;log;(Level,Supplier);;Argument[1];logging;manual", + "java.util.logging;Logger;true;log;(Level,Throwable,Supplier);;Argument[2];logging;manual", + "java.util.logging;Logger;true;log;(LogRecord);;Argument[0];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,String);;Argument[1..3];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,String,Object);;Argument[1..4];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,String,Object[]);;Argument[1..4];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,String,Throwable);;Argument[1..3];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,Supplier);;Argument[1..3];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,Throwable,Supplier);;Argument[1..2];logging;manual", + "java.util.logging;Logger;true;logp;(Level,String,String,Throwable,Supplier);;Argument[4];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Object[]);;Argument[1..2];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Object[]);;Argument[4..5];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Throwable);;Argument[1..2];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,ResourceBundle,String,Throwable);;Argument[4];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,String,String);;Argument[1..4];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,String,String,Object);;Argument[1..5];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,String,String,Object[]);;Argument[1..5];logging;manual", + "java.util.logging;Logger;true;logrb;(Level,String,String,String,String,Throwable);;Argument[1..4];logging;manual", // android.util.Log - "android.util;Log;true;" + ["d", "v", "i", "w", "e", "wtf"] + ";;;Argument[1];logging" + "android.util;Log;true;" + ["d", "v", "i", "w", "e", "wtf"] + + ";;;Argument[1];logging;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/MyBatis.qll b/java/ql/lib/semmle/code/java/frameworks/MyBatis.qll index b6601e6de08..19744ca2c68 100644 --- a/java/ql/lib/semmle/code/java/frameworks/MyBatis.qll +++ b/java/ql/lib/semmle/code/java/frameworks/MyBatis.qll @@ -17,12 +17,12 @@ private class SqlSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "org.apache.ibatis.jdbc;SqlRunner;false;delete;(String,Object[]);;Argument[0];sql", - "org.apache.ibatis.jdbc;SqlRunner;false;insert;(String,Object[]);;Argument[0];sql", - "org.apache.ibatis.jdbc;SqlRunner;false;run;(String);;Argument[0];sql", - "org.apache.ibatis.jdbc;SqlRunner;false;selectAll;(String,Object[]);;Argument[0];sql", - "org.apache.ibatis.jdbc;SqlRunner;false;selectOne;(String,Object[]);;Argument[0];sql", - "org.apache.ibatis.jdbc;SqlRunner;false;update;(String,Object[]);;Argument[0];sql" + "org.apache.ibatis.jdbc;SqlRunner;false;delete;(String,Object[]);;Argument[0];sql;manual", + "org.apache.ibatis.jdbc;SqlRunner;false;insert;(String,Object[]);;Argument[0];sql;manual", + "org.apache.ibatis.jdbc;SqlRunner;false;run;(String);;Argument[0];sql;manual", + "org.apache.ibatis.jdbc;SqlRunner;false;selectAll;(String,Object[]);;Argument[0];sql;manual", + "org.apache.ibatis.jdbc;SqlRunner;false;selectOne;(String,Object[]);;Argument[0];sql;manual", + "org.apache.ibatis.jdbc;SqlRunner;false;update;(String,Object[]);;Argument[0];sql;manual" ] } } @@ -149,7 +149,7 @@ private class MyBatisProviderStep extends TaintTracking::AdditionalValueStep { private class MyBatisAbstractSqlToStringStep extends SummaryModelCsv { override predicate row(string row) { - row = "org.apache.ibatis.jdbc;AbstractSQL;true;toString;;;Argument[-1];ReturnValue;taint" + row = "org.apache.ibatis.jdbc;AbstractSQL;true;toString;;;Argument[-1];ReturnValue;taint;manual" } } @@ -157,63 +157,63 @@ private class MyBatisAbstractSqlMethodsStep extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.ibatis.jdbc;AbstractSQL;true;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;VALUES;(String,String);;Argument[0..1];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;UPDATE;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;OFFSET_ROWS;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;OFFSET;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;LIMIT;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INTO_VALUES;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INTO_COLUMNS;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INSERT_INTO;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String[]);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;FETCH_FIRST_ROWS_ONLY;(String);;Argument[0];Argument[-1];taint", - "org.apache.ibatis.jdbc;AbstractSQL;true;DELETE_FROM;(String);;Argument[0];Argument[-1];taint" + "org.apache.ibatis.jdbc;AbstractSQL;true;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;WHERE;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;VALUES;(String,String);;Argument[0..1];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;UPDATE;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SET;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT_DISTINCT;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;SELECT;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;RIGHT_OUTER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;OUTER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;ORDER_BY;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;OFFSET_ROWS;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;OFFSET;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;LIMIT;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;LEFT_OUTER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INTO_VALUES;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INTO_COLUMNS;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INSERT_INTO;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;INNER_JOIN;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;HAVING;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;GROUP_BY;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;FROM;(String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;FETCH_FIRST_ROWS_ONLY;(String);;Argument[0];Argument[-1];taint;manual", + "org.apache.ibatis.jdbc;AbstractSQL;true;DELETE_FROM;(String);;Argument[0];Argument[-1];taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Objects.qll b/java/ql/lib/semmle/code/java/frameworks/Objects.qll index e3aa189dbd8..1a7bbe8ef17 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Objects.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Objects.qll @@ -8,11 +8,11 @@ private class ObjectsSummaryCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "java.util;Objects;false;requireNonNull;;;Argument[0];ReturnValue;value", - "java.util;Objects;false;requireNonNullElse;;;Argument[0];ReturnValue;value", - "java.util;Objects;false;requireNonNullElse;;;Argument[1];ReturnValue;value", - "java.util;Objects;false;requireNonNullElseGet;;;Argument[0];ReturnValue;value", - "java.util;Objects;false;toString;;;Argument[1];ReturnValue;value" + "java.util;Objects;false;requireNonNull;;;Argument[0];ReturnValue;value;manual", + "java.util;Objects;false;requireNonNullElse;;;Argument[0];ReturnValue;value;manual", + "java.util;Objects;false;requireNonNullElse;;;Argument[1];ReturnValue;value;manual", + "java.util;Objects;false;requireNonNullElseGet;;;Argument[0];ReturnValue;value;manual", + "java.util;Objects;false;toString;;;Argument[1];ReturnValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/OkHttp.qll b/java/ql/lib/semmle/code/java/frameworks/OkHttp.qll index da38b7af7e8..f541eb983ee 100644 --- a/java/ql/lib/semmle/code/java/frameworks/OkHttp.qll +++ b/java/ql/lib/semmle/code/java/frameworks/OkHttp.qll @@ -9,8 +9,8 @@ private class OkHttpOpenUrlSinks extends SinkModelCsv { override predicate row(string row) { row = [ - "okhttp3;Request;true;Request;;;Argument[0];open-url", - "okhttp3;Request$Builder;true;url;;;Argument[0];open-url" + "okhttp3;Request;true;Request;;;Argument[0];open-url;manual", + "okhttp3;Request$Builder;true;url;;;Argument[0];open-url;manual" ] } } @@ -19,53 +19,53 @@ private class OKHttpSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "okhttp3;HttpUrl;false;parse;;;Argument[0];ReturnValue;taint", - "okhttp3;HttpUrl;false;uri;;;Argument[-1];ReturnValue;taint", - "okhttp3;HttpUrl;false;url;;;Argument[-1];ReturnValue;taint", - "okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[0..1];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;build;;;Argument[-1];ReturnValue;taint", - "okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;encodedPassword;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;encodedUsername;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;fragment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;fragment;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;host;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;host;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;password;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;port;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;port;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;query;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;query;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;removeAllEncodedQueryParameters;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;removeAllQueryParameters;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;removePathSegment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;scheme;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;scheme;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[-1];ReturnValue;value", - "okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[0];Argument[-1];taint", - "okhttp3;HttpUrl$Builder;false;username;;;Argument[-1];ReturnValue;value", + "okhttp3;HttpUrl;false;parse;;;Argument[0];ReturnValue;taint;manual", + "okhttp3;HttpUrl;false;uri;;;Argument[-1];ReturnValue;taint;manual", + "okhttp3;HttpUrl;false;url;;;Argument[-1];ReturnValue;taint;manual", + "okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;addEncodedPathSegment;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;addEncodedPathSegments;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;addEncodedQueryParameter;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;addPathSegment;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;addPathSegments;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;addQueryParameter;;;Argument[0..1];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;encodedFragment;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;encodedPassword;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;encodedPath;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;encodedQuery;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;encodedUsername;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;fragment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;fragment;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;host;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;host;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;password;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;port;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;port;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;query;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;query;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;removeAllEncodedQueryParameters;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;removeAllQueryParameters;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;removePathSegment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;scheme;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;scheme;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;setEncodedPathSegment;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;setEncodedQueryParameter;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;setPathSegment;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[-1];ReturnValue;value;manual", + "okhttp3;HttpUrl$Builder;false;setQueryParameter;;;Argument[0];Argument[-1];taint;manual", + "okhttp3;HttpUrl$Builder;false;username;;;Argument[-1];ReturnValue;value;manual", ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Optional.qll b/java/ql/lib/semmle/code/java/frameworks/Optional.qll index 1249beba2e7..7716154a883 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Optional.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Optional.qll @@ -6,25 +6,25 @@ private class OptionalModel extends SummaryModelCsv { override predicate row(string s) { s = [ - "java.util;Optional;false;filter;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Optional;false;filter;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;Optional;false;flatMap;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;Optional;false;flatMap;;;Argument[0].ReturnValue;ReturnValue;value", - "java.util;Optional;false;get;;;Argument[-1].Element;ReturnValue;value", - "java.util;Optional;false;ifPresent;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;Optional;false;ifPresentOrElse;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;Optional;false;map;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util;Optional;false;map;;;Argument[0].ReturnValue;ReturnValue.Element;value", - "java.util;Optional;false;of;;;Argument[0];ReturnValue.Element;value", - "java.util;Optional;false;ofNullable;;;Argument[0];ReturnValue.Element;value", - "java.util;Optional;false;or;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util;Optional;false;or;;;Argument[0].ReturnValue;ReturnValue;value", - "java.util;Optional;false;orElse;;;Argument[-1].Element;ReturnValue;value", - "java.util;Optional;false;orElse;;;Argument[0];ReturnValue;value", - "java.util;Optional;false;orElseGet;;;Argument[-1].Element;ReturnValue;value", - "java.util;Optional;false;orElseGet;;;Argument[0].ReturnValue;ReturnValue;value", - "java.util;Optional;false;orElseThrow;;;Argument[-1].Element;ReturnValue;value", - "java.util;Optional;false;stream;;;Argument[-1].Element;ReturnValue.Element;value" + "java.util;Optional;false;filter;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Optional;false;filter;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;Optional;false;flatMap;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;Optional;false;flatMap;;;Argument[0].ReturnValue;ReturnValue;value;manual", + "java.util;Optional;false;get;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Optional;false;ifPresent;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;Optional;false;ifPresentOrElse;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;Optional;false;map;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util;Optional;false;map;;;Argument[0].ReturnValue;ReturnValue.Element;value;manual", + "java.util;Optional;false;of;;;Argument[0];ReturnValue.Element;value;manual", + "java.util;Optional;false;ofNullable;;;Argument[0];ReturnValue.Element;value;manual", + "java.util;Optional;false;or;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util;Optional;false;or;;;Argument[0].ReturnValue;ReturnValue;value;manual", + "java.util;Optional;false;orElse;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Optional;false;orElse;;;Argument[0];ReturnValue;value;manual", + "java.util;Optional;false;orElseGet;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Optional;false;orElseGet;;;Argument[0].ReturnValue;ReturnValue;value;manual", + "java.util;Optional;false;orElseThrow;;;Argument[-1].Element;ReturnValue;value;manual", + "java.util;Optional;false;stream;;;Argument[-1].Element;ReturnValue.Element;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Properties.qll b/java/ql/lib/semmle/code/java/frameworks/Properties.qll index 7b749a13e05..0c7b83b2e52 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Properties.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Properties.qll @@ -10,13 +10,11 @@ class TypeProperty extends Class { } /** The `getProperty` method of the class `java.util.Properties`. */ -class PropertiesGetPropertyMethod extends ValuePreservingMethod { +class PropertiesGetPropertyMethod extends Method { PropertiesGetPropertyMethod() { getDeclaringType() instanceof TypeProperty and hasName("getProperty") } - - override predicate returnsValue(int arg) { arg = 1 } } /** The `get` method of the class `java.util.Properties`. */ diff --git a/java/ql/lib/semmle/code/java/frameworks/RabbitMQ.qll b/java/ql/lib/semmle/code/java/frameworks/RabbitMQ.qll index 50bcbf32213..4f94cd295a8 100644 --- a/java/ql/lib/semmle/code/java/frameworks/RabbitMQ.qll +++ b/java/ql/lib/semmle/code/java/frameworks/RabbitMQ.qll @@ -13,27 +13,27 @@ private class RabbitMQSource extends SourceModelCsv { row = [ // soruces for RabbitMQ 4.x - "com.rabbitmq.client;Command;true;getContentHeader;();;ReturnValue;remote", - "com.rabbitmq.client;Command;true;getContentBody;();;ReturnValue;remote", - "com.rabbitmq.client;Consumer;true;handleDelivery;(String,Envelope,BasicProperties,byte[]);;Parameter[3];remote", - "com.rabbitmq.client;QueueingConsumer;true;nextDelivery;;;ReturnValue;remote", - "com.rabbitmq.client;RpcServer;true;handleCall;(Delivery,BasicProperties);;Parameter[0];remote", - "com.rabbitmq.client;RpcServer;true;handleCall;(BasicProperties,byte[],BasicProperties);;Parameter[1];remote", - "com.rabbitmq.client;RpcServer;true;handleCall;(byte[],BasicProperties);;Parameter[0];remote", - "com.rabbitmq.client;RpcServer;true;preprocessReplyProperties;(Delivery,Builder);;Parameter[0];remote", - "com.rabbitmq.client;RpcServer;true;postprocessReplyProperties;(Delivery,Builder);;Parameter[0];remote", - "com.rabbitmq.client;RpcServer;true;handleCast;(Delivery);;Parameter[0];remote", - "com.rabbitmq.client;RpcServer;true;handleCast;(BasicProperties,byte[]);;Parameter[1];remote", - "com.rabbitmq.client;RpcServer;true;handleCast;(byte[]);;Parameter[0];remote", - "com.rabbitmq.client;StringRpcServer;true;handleStringCall;;;Parameter[0];remote", - "com.rabbitmq.client;RpcClient;true;doCall;;;ReturnValue;remote", - "com.rabbitmq.client;RpcClient;true;primitiveCall;;;ReturnValue;remote", - "com.rabbitmq.client;RpcClient;true;responseCall;;;ReturnValue;remote", - "com.rabbitmq.client;RpcClient;true;stringCall;(String);;ReturnValue;remote", - "com.rabbitmq.client;RpcClient;true;mapCall;;;ReturnValue;remote", - "com.rabbitmq.client.impl;Frame;true;getInputStream;();;ReturnValue;remote", - "com.rabbitmq.client.impl;Frame;true;getPayload;();;ReturnValue;remote", - "com.rabbitmq.client.impl;FrameHandler;true;readFrame;();;ReturnValue;remote", + "com.rabbitmq.client;Command;true;getContentHeader;();;ReturnValue;remote;manual", + "com.rabbitmq.client;Command;true;getContentBody;();;ReturnValue;remote;manual", + "com.rabbitmq.client;Consumer;true;handleDelivery;(String,Envelope,BasicProperties,byte[]);;Parameter[3];remote;manual", + "com.rabbitmq.client;QueueingConsumer;true;nextDelivery;;;ReturnValue;remote;manual", + "com.rabbitmq.client;RpcServer;true;handleCall;(Delivery,BasicProperties);;Parameter[0];remote;manual", + "com.rabbitmq.client;RpcServer;true;handleCall;(BasicProperties,byte[],BasicProperties);;Parameter[1];remote;manual", + "com.rabbitmq.client;RpcServer;true;handleCall;(byte[],BasicProperties);;Parameter[0];remote;manual", + "com.rabbitmq.client;RpcServer;true;preprocessReplyProperties;(Delivery,Builder);;Parameter[0];remote;manual", + "com.rabbitmq.client;RpcServer;true;postprocessReplyProperties;(Delivery,Builder);;Parameter[0];remote;manual", + "com.rabbitmq.client;RpcServer;true;handleCast;(Delivery);;Parameter[0];remote;manual", + "com.rabbitmq.client;RpcServer;true;handleCast;(BasicProperties,byte[]);;Parameter[1];remote;manual", + "com.rabbitmq.client;RpcServer;true;handleCast;(byte[]);;Parameter[0];remote;manual", + "com.rabbitmq.client;StringRpcServer;true;handleStringCall;;;Parameter[0];remote;manual", + "com.rabbitmq.client;RpcClient;true;doCall;;;ReturnValue;remote;manual", + "com.rabbitmq.client;RpcClient;true;primitiveCall;;;ReturnValue;remote;manual", + "com.rabbitmq.client;RpcClient;true;responseCall;;;ReturnValue;remote;manual", + "com.rabbitmq.client;RpcClient;true;stringCall;(String);;ReturnValue;remote;manual", + "com.rabbitmq.client;RpcClient;true;mapCall;;;ReturnValue;remote;manual", + "com.rabbitmq.client.impl;Frame;true;getInputStream;();;ReturnValue;remote;manual", + "com.rabbitmq.client.impl;Frame;true;getPayload;();;ReturnValue;remote;manual", + "com.rabbitmq.client.impl;FrameHandler;true;readFrame;();;ReturnValue;remote;manual", ] } } @@ -46,13 +46,13 @@ private class RabbitMQSummaryCsv extends SummaryModelCsv { row = [ // flow steps for RabbitMQ 4.x - "com.rabbitmq.client;GetResponse;true;GetResponse;;;Argument[2];Argument[-1];taint", - "com.rabbitmq.client;GetResponse;true;getBody;();;Argument[-1];ReturnValue;taint", - "com.rabbitmq.client;RpcClient$Response;true;getBody;();;Argument[-1];ReturnValue;taint", - "com.rabbitmq.client;QueueingConsumer$Delivery;true;getBody;();;Argument[-1];ReturnValue;taint", - "com.rabbitmq.client.impl;Frame;false;fromBodyFragment;(int,byte[],int,int);;Argument[1];ReturnValue;taint", - "com.rabbitmq.client.impl;Frame;false;readFrom;(DataInputStream);;Argument[0];ReturnValue;taint", - "com.rabbitmq.client.impl;Frame;true;writeTo;(DataOutputStream);;Argument[-1];Argument[0];taint", + "com.rabbitmq.client;GetResponse;true;GetResponse;;;Argument[2];Argument[-1];taint;manual", + "com.rabbitmq.client;GetResponse;true;getBody;();;Argument[-1];ReturnValue;taint;manual", + "com.rabbitmq.client;RpcClient$Response;true;getBody;();;Argument[-1];ReturnValue;taint;manual", + "com.rabbitmq.client;QueueingConsumer$Delivery;true;getBody;();;Argument[-1];ReturnValue;taint;manual", + "com.rabbitmq.client.impl;Frame;false;fromBodyFragment;(int,byte[],int,int);;Argument[1];ReturnValue;taint;manual", + "com.rabbitmq.client.impl;Frame;false;readFrom;(DataInputStream);;Argument[0];ReturnValue;taint;manual", + "com.rabbitmq.client.impl;Frame;true;writeTo;(DataOutputStream);;Argument[-1];Argument[0];taint;manual", ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Regex.qll b/java/ql/lib/semmle/code/java/frameworks/Regex.qll index 868ada128fe..4e83981d857 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Regex.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Regex.qll @@ -7,14 +7,14 @@ private class RegexModel extends SummaryModelCsv { s = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "java.util.regex;Matcher;false;group;;;Argument[-1];ReturnValue;taint", - "java.util.regex;Matcher;false;replaceAll;;;Argument[-1];ReturnValue;taint", - "java.util.regex;Matcher;false;replaceAll;;;Argument[0];ReturnValue;taint", - "java.util.regex;Matcher;false;replaceFirst;;;Argument[-1];ReturnValue;taint", - "java.util.regex;Matcher;false;replaceFirst;;;Argument[0];ReturnValue;taint", - "java.util.regex;Pattern;false;matcher;;;Argument[0];ReturnValue;taint", - "java.util.regex;Pattern;false;quote;;;Argument[0];ReturnValue;taint", - "java.util.regex;Pattern;false;split;;;Argument[0];ReturnValue;taint", + "java.util.regex;Matcher;false;group;;;Argument[-1];ReturnValue;taint;manual", + "java.util.regex;Matcher;false;replaceAll;;;Argument[-1];ReturnValue;taint;manual", + "java.util.regex;Matcher;false;replaceAll;;;Argument[0];ReturnValue;taint;manual", + "java.util.regex;Matcher;false;replaceFirst;;;Argument[-1];ReturnValue;taint;manual", + "java.util.regex;Matcher;false;replaceFirst;;;Argument[0];ReturnValue;taint;manual", + "java.util.regex;Pattern;false;matcher;;;Argument[0];ReturnValue;taint;manual", + "java.util.regex;Pattern;false;quote;;;Argument[0];ReturnValue;taint;manual", + "java.util.regex;Pattern;false;split;;;Argument[0];ReturnValue;taint;manual", ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Retrofit.qll b/java/ql/lib/semmle/code/java/frameworks/Retrofit.qll index bbbd659ee85..db79cb84515 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Retrofit.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Retrofit.qll @@ -7,6 +7,6 @@ private import semmle.code.java.dataflow.ExternalFlow private class RetrofitOpenUrlSinks extends SinkModelCsv { override predicate row(string row) { - row = "retrofit2;Retrofit$Builder;true;baseUrl;;;Argument[0];open-url" + row = "retrofit2;Retrofit$Builder;true;baseUrl;;;Argument[0];open-url;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/SpringJdbc.qll b/java/ql/lib/semmle/code/java/frameworks/SpringJdbc.qll index 4200d83416a..f0a75c8f3b9 100644 --- a/java/ql/lib/semmle/code/java/frameworks/SpringJdbc.qll +++ b/java/ql/lib/semmle/code/java/frameworks/SpringJdbc.qll @@ -15,25 +15,25 @@ private class SqlSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;(String[]);;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;execute;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;update;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;query;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;queryForList;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;queryForMap;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;queryForObject;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;queryForRowSet;;;Argument[0];sql", - "org.springframework.jdbc.core;JdbcTemplate;false;queryForStream;;;Argument[0];sql", - "org.springframework.jdbc.object;BatchSqlUpdate;false;BatchSqlUpdate;;;Argument[1];sql", - "org.springframework.jdbc.object;MappingSqlQuery;false;BatchSqlUpdate;;;Argument[1];sql", - "org.springframework.jdbc.object;MappingSqlQueryWithParameters;false;BatchSqlUpdate;;;Argument[1];sql", - "org.springframework.jdbc.object;RdbmsOperation;true;setSql;;;Argument[0];sql", - "org.springframework.jdbc.object;SqlCall;false;SqlCall;;;Argument[1];sql", - "org.springframework.jdbc.object;SqlFunction;false;SqlFunction;;;Argument[1];sql", - "org.springframework.jdbc.object;SqlQuery;false;SqlQuery;;;Argument[1];sql", - "org.springframework.jdbc.object;SqlUpdate;false;SqlUpdate;;;Argument[1];sql", - "org.springframework.jdbc.object;UpdatableSqlQuery;false;UpdatableSqlQuery;;;Argument[1];sql" + "org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;(String[]);;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;batchUpdate;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;execute;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;update;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;query;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;queryForList;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;queryForMap;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;queryForObject;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;queryForRowSet;;;Argument[0];sql;manual", + "org.springframework.jdbc.core;JdbcTemplate;false;queryForStream;;;Argument[0];sql;manual", + "org.springframework.jdbc.object;BatchSqlUpdate;false;BatchSqlUpdate;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;MappingSqlQuery;false;BatchSqlUpdate;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;MappingSqlQueryWithParameters;false;BatchSqlUpdate;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;RdbmsOperation;true;setSql;;;Argument[0];sql;manual", + "org.springframework.jdbc.object;SqlCall;false;SqlCall;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;SqlFunction;false;SqlFunction;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;SqlQuery;false;SqlQuery;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;SqlUpdate;false;SqlUpdate;;;Argument[1];sql;manual", + "org.springframework.jdbc.object;UpdatableSqlQuery;false;UpdatableSqlQuery;;;Argument[1];sql;manual" ] } } @@ -43,11 +43,11 @@ private class SsrfSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "org.springframework.boot.jdbc;DataSourceBuilder;false;url;(String);;Argument[0];jdbc-url", - "org.springframework.jdbc.datasource;AbstractDriverBasedDataSource;false;setUrl;(String);;Argument[0];jdbc-url", - "org.springframework.jdbc.datasource;DriverManagerDataSource;false;DriverManagerDataSource;(String);;Argument[0];jdbc-url", - "org.springframework.jdbc.datasource;DriverManagerDataSource;false;DriverManagerDataSource;(String,String,String);;Argument[0];jdbc-url", - "org.springframework.jdbc.datasource;DriverManagerDataSource;false;DriverManagerDataSource;(String,Properties);;Argument[0];jdbc-url" + "org.springframework.boot.jdbc;DataSourceBuilder;false;url;(String);;Argument[0];jdbc-url;manual", + "org.springframework.jdbc.datasource;AbstractDriverBasedDataSource;false;setUrl;(String);;Argument[0];jdbc-url;manual", + "org.springframework.jdbc.datasource;DriverManagerDataSource;false;DriverManagerDataSource;(String);;Argument[0];jdbc-url;manual", + "org.springframework.jdbc.datasource;DriverManagerDataSource;false;DriverManagerDataSource;(String,String,String);;Argument[0];jdbc-url;manual", + "org.springframework.jdbc.datasource;DriverManagerDataSource;false;DriverManagerDataSource;(String,Properties);;Argument[0];jdbc-url;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Stream.qll b/java/ql/lib/semmle/code/java/frameworks/Stream.qll index 22cb5f5fafc..5f6dcf38f86 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Stream.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Stream.qll @@ -6,90 +6,90 @@ private class StreamModel extends SummaryModelCsv { override predicate row(string s) { s = [ - "java.util.stream;BaseStream;true;iterator;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;BaseStream;true;onClose;(Runnable);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;BaseStream;true;parallel;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;BaseStream;true;sequential;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;BaseStream;true;spliterator;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;BaseStream;true;unordered;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;allMatch;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;anyMatch;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[0].ReturnValue;Argument[1].Parameter[0];value", - "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[1].Parameter[0];ReturnValue;value", - "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[1].Parameter[0];Argument[2].Parameter[0..1];value", - "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[2].Parameter[0..1];Argument[1].Parameter[0];value", - "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[-1].Element;Argument[1].Parameter[1];value", + "java.util.stream;BaseStream;true;iterator;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;BaseStream;true;onClose;(Runnable);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;BaseStream;true;parallel;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;BaseStream;true;sequential;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;BaseStream;true;spliterator;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;BaseStream;true;unordered;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;allMatch;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;anyMatch;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[0].ReturnValue;Argument[1].Parameter[0];value;manual", + "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[1].Parameter[0];ReturnValue;value;manual", + "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[1].Parameter[0];Argument[2].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[2].Parameter[0..1];Argument[1].Parameter[0];value;manual", + "java.util.stream;Stream;true;collect;(Supplier,BiConsumer,BiConsumer);;Argument[-1].Element;Argument[1].Parameter[1];value;manual", // Missing: collect(Collector collector) - "java.util.stream;Stream;true;concat;(Stream,Stream);;Argument[0..1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;distinct;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;dropWhile;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;dropWhile;(Predicate);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;filter;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;filter;(Predicate);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;findAny;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;findFirst;();;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;flatMap;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;flatMap;(Function);;Argument[0].ReturnValue.Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;flatMapToDouble;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;flatMapToInt;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;flatMapToLong;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;forEach;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;forEachOrdered;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;generate;(Supplier);;Argument[0].ReturnValue;ReturnValue.Element;value", - "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[0];ReturnValue.Element;value", - "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[0];Argument[1..2].Parameter[0];value", - "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[2].ReturnValue;ReturnValue.Element;value", - "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[2].ReturnValue;Argument[1..2].Parameter[0];value", - "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[0];ReturnValue.Element;value", - "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[0];Argument[1].Parameter[0];value", - "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[1].ReturnValue;ReturnValue.Element;value", - "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[1].ReturnValue;Argument[1].Parameter[0];value", - "java.util.stream;Stream;true;limit;(long);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;map;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;map;(Function);;Argument[0].ReturnValue;ReturnValue.Element;value", + "java.util.stream;Stream;true;concat;(Stream,Stream);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;distinct;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;dropWhile;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;dropWhile;(Predicate);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;filter;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;filter;(Predicate);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;findAny;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;findFirst;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;flatMap;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;flatMap;(Function);;Argument[0].ReturnValue.Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;flatMapToDouble;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;flatMapToInt;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;flatMapToLong;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;forEach;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;forEachOrdered;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;generate;(Supplier);;Argument[0].ReturnValue;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[0];ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[0];Argument[1..2].Parameter[0];value;manual", + "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[2].ReturnValue;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;iterate;(Object,Predicate,UnaryOperator);;Argument[2].ReturnValue;Argument[1..2].Parameter[0];value;manual", + "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[0];ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[0];Argument[1].Parameter[0];value;manual", + "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;iterate;(Object,UnaryOperator);;Argument[1].ReturnValue;Argument[1].Parameter[0];value;manual", + "java.util.stream;Stream;true;limit;(long);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;map;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;map;(Function);;Argument[0].ReturnValue;ReturnValue.Element;value;manual", // Missing for mapMulti(BiConsumer) (not currently supported): // Argument[0] of Parameter[1] of Argument[0] -> Element of Parameter[1] of Argument[0] // Element of Parameter[1] of Argument[0] -> Element of ReturnValue - "java.util.stream;Stream;true;mapMulti;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;mapMultiToDouble;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;mapMultiToInt;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;mapMultiToLong;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;mapToDouble;(ToDoubleFunction);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;mapToInt;(ToIntFunction);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;mapToLong;(ToLongFunction);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;max;(Comparator);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;max;(Comparator);;Argument[-1].Element;Argument[0].Parameter[0..1];value", - "java.util.stream;Stream;true;min;(Comparator);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;min;(Comparator);;Argument[-1].Element;Argument[0].Parameter[0..1];value", - "java.util.stream;Stream;true;noneMatch;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;of;(Object);;Argument[0];ReturnValue.Element;value", - "java.util.stream;Stream;true;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "java.util.stream;Stream;true;ofNullable;(Object);;Argument[0];ReturnValue.Element;value", - "java.util.stream;Stream;true;peek;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;peek;(Consumer);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[-1].Element;Argument[0].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[0].ReturnValue;Argument[0].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[0].ReturnValue;ReturnValue.Element;value", - "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[-1].Element;Argument[1].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[0];Argument[1].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[0];ReturnValue;value", - "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[1].ReturnValue;Argument[1].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[1].ReturnValue;ReturnValue;value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[-1].Element;Argument[1].Parameter[1];value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];Argument[1].Parameter[0];value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];Argument[2].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];ReturnValue;value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[1..2].ReturnValue;Argument[1].Parameter[0];value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[1..2].ReturnValue;Argument[2].Parameter[0..1];value", - "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[1..2].ReturnValue;ReturnValue;value", - "java.util.stream;Stream;true;skip;(long);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;sorted;;;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;sorted;(Comparator);;Argument[-1].Element;Argument[0].Parameter[0..1];value", - "java.util.stream;Stream;true;takeWhile;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value", - "java.util.stream;Stream;true;takeWhile;(Predicate);;Argument[-1].Element;ReturnValue.Element;value", - "java.util.stream;Stream;true;toArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - "java.util.stream;Stream;true;toList;();;Argument[-1].Element;ReturnValue.Element;value" + "java.util.stream;Stream;true;mapMulti;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;mapMultiToDouble;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;mapMultiToInt;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;mapMultiToLong;(BiConsumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;mapToDouble;(ToDoubleFunction);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;mapToInt;(ToIntFunction);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;mapToLong;(ToLongFunction);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;max;(Comparator);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;max;(Comparator);;Argument[-1].Element;Argument[0].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;min;(Comparator);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;min;(Comparator);;Argument[-1].Element;Argument[0].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;noneMatch;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;of;(Object);;Argument[0];ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;ofNullable;(Object);;Argument[0];ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;peek;(Consumer);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;peek;(Consumer);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[-1].Element;Argument[0].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[0].ReturnValue;Argument[0].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(BinaryOperator);;Argument[0].ReturnValue;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[-1].Element;Argument[1].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[0];Argument[1].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[0];ReturnValue;value;manual", + "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[1].ReturnValue;Argument[1].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BinaryOperator);;Argument[1].ReturnValue;ReturnValue;value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[-1].Element;Argument[1].Parameter[1];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];Argument[1].Parameter[0];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];Argument[2].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[0];ReturnValue;value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[1..2].ReturnValue;Argument[1].Parameter[0];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[1..2].ReturnValue;Argument[2].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;reduce;(Object,BiFunction,BinaryOperator);;Argument[1..2].ReturnValue;ReturnValue;value;manual", + "java.util.stream;Stream;true;skip;(long);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;sorted;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;sorted;(Comparator);;Argument[-1].Element;Argument[0].Parameter[0..1];value;manual", + "java.util.stream;Stream;true;takeWhile;(Predicate);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "java.util.stream;Stream;true;takeWhile;(Predicate);;Argument[-1].Element;ReturnValue.Element;value;manual", + "java.util.stream;Stream;true;toArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + "java.util.stream;Stream;true;toList;();;Argument[-1].Element;ReturnValue.Element;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/Strings.qll b/java/ql/lib/semmle/code/java/frameworks/Strings.qll index b902bfb07a6..63c83d0157d 100644 --- a/java/ql/lib/semmle/code/java/frameworks/Strings.qll +++ b/java/ql/lib/semmle/code/java/frameworks/Strings.qll @@ -8,55 +8,55 @@ private class StringSummaryCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "java.lang;String;false;concat;(String);;Argument[0];ReturnValue;taint", - "java.lang;String;false;concat;(String);;Argument[-1];ReturnValue;taint", - "java.lang;String;false;copyValueOf;;;Argument[0];ReturnValue;taint", - "java.lang;String;false;endsWith;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;format;(Locale,String,Object[]);;Argument[1];ReturnValue;taint", - "java.lang;String;false;format;(Locale,String,Object[]);;Argument[2].ArrayElement;ReturnValue;taint", - "java.lang;String;false;format;(String,Object[]);;Argument[0];ReturnValue;taint", - "java.lang;String;false;format;(String,Object[]);;Argument[1].ArrayElement;ReturnValue;taint", - "java.lang;String;false;formatted;(Object[]);;Argument[-1];ReturnValue;taint", - "java.lang;String;false;formatted;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint", - "java.lang;String;false;getChars;;;Argument[-1];Argument[2];taint", - "java.lang;String;false;getBytes;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;indent;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;intern;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;join;;;Argument[0..1];ReturnValue;taint", - "java.lang;String;false;repeat;(int);;Argument[-1];ReturnValue;taint", - "java.lang;String;false;split;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;String;;;Argument[0];Argument[-1];taint", - "java.lang;String;false;strip;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;stripIndent;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;stripLeading;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;stripTrailing;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;substring;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;toCharArray;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;toLowerCase;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;toString;;;Argument[-1];ReturnValue;value", - "java.lang;String;false;toUpperCase;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;translateEscapes;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;trim;;;Argument[-1];ReturnValue;taint", - "java.lang;String;false;valueOf;(char);;Argument[0];ReturnValue;taint", - "java.lang;String;false;valueOf;(char[],int,int);;Argument[0];ReturnValue;taint", - "java.lang;String;false;valueOf;(char[]);;Argument[0];ReturnValue;taint", - "java.lang;AbstractStringBuilder;true;AbstractStringBuilder;(String);;Argument[0];Argument[-1];taint", - "java.lang;AbstractStringBuilder;true;append;;;Argument[0];Argument[-1];taint", - "java.lang;AbstractStringBuilder;true;append;;;Argument[-1];ReturnValue;value", - "java.lang;AbstractStringBuilder;true;getChars;;;Argument[-1];Argument[2];taint", - "java.lang;AbstractStringBuilder;true;insert;;;Argument[1];Argument[-1];taint", - "java.lang;AbstractStringBuilder;true;insert;;;Argument[-1];ReturnValue;value", - "java.lang;AbstractStringBuilder;true;replace;;;Argument[-1];ReturnValue;value", - "java.lang;AbstractStringBuilder;true;replace;;;Argument[2];Argument[-1];taint", - "java.lang;AbstractStringBuilder;true;reverse;;;Argument[-1];ReturnValue;value", - "java.lang;AbstractStringBuilder;true;subSequence;;;Argument[-1];ReturnValue;taint", - "java.lang;AbstractStringBuilder;true;substring;;;Argument[-1];ReturnValue;taint", - "java.lang;AbstractStringBuilder;true;toString;;;Argument[-1];ReturnValue;taint", - "java.lang;StringBuffer;true;StringBuffer;(CharSequence);;Argument[0];Argument[-1];taint", - "java.lang;StringBuffer;true;StringBuffer;(String);;Argument[0];Argument[-1];taint", - "java.lang;StringBuilder;true;StringBuilder;;;Argument[0];Argument[-1];taint", - "java.lang;CharSequence;true;subSequence;;;Argument[-1];ReturnValue;taint", - "java.lang;CharSequence;true;toString;;;Argument[-1];ReturnValue;taint" + "java.lang;String;false;concat;(String);;Argument[0];ReturnValue;taint;manual", + "java.lang;String;false;concat;(String);;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;copyValueOf;;;Argument[0];ReturnValue;taint;manual", + "java.lang;String;false;endsWith;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;format;(Locale,String,Object[]);;Argument[1];ReturnValue;taint;manual", + "java.lang;String;false;format;(Locale,String,Object[]);;Argument[2].ArrayElement;ReturnValue;taint;manual", + "java.lang;String;false;format;(String,Object[]);;Argument[0];ReturnValue;taint;manual", + "java.lang;String;false;format;(String,Object[]);;Argument[1].ArrayElement;ReturnValue;taint;manual", + "java.lang;String;false;formatted;(Object[]);;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;formatted;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "java.lang;String;false;getChars;;;Argument[-1];Argument[2];taint;manual", + "java.lang;String;false;getBytes;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;indent;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;intern;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;join;;;Argument[0..1];ReturnValue;taint;manual", + "java.lang;String;false;repeat;(int);;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;split;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;String;;;Argument[0];Argument[-1];taint;manual", + "java.lang;String;false;strip;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;stripIndent;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;stripLeading;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;stripTrailing;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;substring;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;toCharArray;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;toLowerCase;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;toString;;;Argument[-1];ReturnValue;value;manual", + "java.lang;String;false;toUpperCase;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;translateEscapes;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;trim;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;String;false;valueOf;(char);;Argument[0];ReturnValue;taint;manual", + "java.lang;String;false;valueOf;(char[],int,int);;Argument[0];ReturnValue;taint;manual", + "java.lang;String;false;valueOf;(char[]);;Argument[0];ReturnValue;taint;manual", + "java.lang;AbstractStringBuilder;true;AbstractStringBuilder;(String);;Argument[0];Argument[-1];taint;manual", + "java.lang;AbstractStringBuilder;true;append;;;Argument[0];Argument[-1];taint;manual", + "java.lang;AbstractStringBuilder;true;append;;;Argument[-1];ReturnValue;value;manual", + "java.lang;AbstractStringBuilder;true;getChars;;;Argument[-1];Argument[2];taint;manual", + "java.lang;AbstractStringBuilder;true;insert;;;Argument[1];Argument[-1];taint;manual", + "java.lang;AbstractStringBuilder;true;insert;;;Argument[-1];ReturnValue;value;manual", + "java.lang;AbstractStringBuilder;true;replace;;;Argument[-1];ReturnValue;value;manual", + "java.lang;AbstractStringBuilder;true;replace;;;Argument[2];Argument[-1];taint;manual", + "java.lang;AbstractStringBuilder;true;reverse;;;Argument[-1];ReturnValue;value;manual", + "java.lang;AbstractStringBuilder;true;subSequence;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;AbstractStringBuilder;true;substring;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;AbstractStringBuilder;true;toString;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;StringBuffer;true;StringBuffer;(CharSequence);;Argument[0];Argument[-1];taint;manual", + "java.lang;StringBuffer;true;StringBuffer;(String);;Argument[0];Argument[-1];taint;manual", + "java.lang;StringBuilder;true;StringBuilder;;;Argument[0];Argument[-1];taint;manual", + "java.lang;CharSequence;true;subSequence;;;Argument[-1];ReturnValue;taint;manual", + "java.lang;CharSequence;true;toString;;;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/Android.qll b/java/ql/lib/semmle/code/java/frameworks/android/Android.qll index 90ec1d3fc1f..30f087408af 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/Android.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/Android.qll @@ -107,66 +107,66 @@ private class UriModel extends SummaryModelCsv { override predicate row(string row) { row = [ - "android.net;Uri;true;buildUpon;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;false;decode;;;Argument[0];ReturnValue;taint", - "android.net;Uri;false;encode;;;Argument[0];ReturnValue;taint", - "android.net;Uri;false;fromFile;;;Argument[0];ReturnValue;taint", - "android.net;Uri;false;fromParts;;;Argument[0..2];ReturnValue;taint", - "android.net;Uri;true;getAuthority;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getEncodedAuthority;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getEncodedFragment;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getEncodedPath;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getEncodedQuery;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getEncodedSchemeSpecificPart;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getEncodedUserInfo;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getFragment;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getHost;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getLastPathSegment;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getPath;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getPathSegments;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getQuery;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getQueryParameter;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getQueryParameterNames;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getQueryParameters;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getScheme;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getSchemeSpecificPart;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;getUserInfo;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;true;normalizeScheme;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;false;parse;;;Argument[0];ReturnValue;taint", - "android.net;Uri;true;toString;;;Argument[-1];ReturnValue;taint", - "android.net;Uri;false;withAppendedPath;;;Argument[0..1];ReturnValue;taint", - "android.net;Uri;false;writeToParcel;;;Argument[1];Argument[0];taint", - "android.net;Uri$Builder;false;appendEncodedPath;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;appendEncodedPath;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;appendPath;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;appendPath;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;appendQueryParameter;;;Argument[0..1];Argument[-1];taint", - "android.net;Uri$Builder;false;appendQueryParameter;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;authority;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;authority;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;build;;;Argument[-1];ReturnValue;taint", - "android.net;Uri$Builder;false;clearQuery;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;encodedAuthority;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;encodedAuthority;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;encodedFragment;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;encodedFragment;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;encodedOpaquePart;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;encodedOpaquePart;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;encodedPath;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;encodedPath;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;encodedQuery;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;encodedQuery;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;fragment;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;fragment;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;opaquePart;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;opaquePart;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;path;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;path;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;query;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;query;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;scheme;;;Argument[0];Argument[-1];taint", - "android.net;Uri$Builder;false;scheme;;;Argument[-1];ReturnValue;value", - "android.net;Uri$Builder;false;toString;;;Argument[-1];ReturnValue;taint" + "android.net;Uri;true;buildUpon;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;false;decode;;;Argument[0];ReturnValue;taint;manual", + "android.net;Uri;false;encode;;;Argument[0];ReturnValue;taint;manual", + "android.net;Uri;false;fromFile;;;Argument[0];ReturnValue;taint;manual", + "android.net;Uri;false;fromParts;;;Argument[0..2];ReturnValue;taint;manual", + "android.net;Uri;true;getAuthority;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getEncodedAuthority;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getEncodedFragment;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getEncodedPath;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getEncodedQuery;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getEncodedSchemeSpecificPart;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getEncodedUserInfo;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getFragment;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getHost;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getLastPathSegment;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getPath;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getPathSegments;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getQuery;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getQueryParameter;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getQueryParameterNames;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getQueryParameters;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getScheme;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getSchemeSpecificPart;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;getUserInfo;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;true;normalizeScheme;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;false;parse;;;Argument[0];ReturnValue;taint;manual", + "android.net;Uri;true;toString;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri;false;withAppendedPath;;;Argument[0..1];ReturnValue;taint;manual", + "android.net;Uri;false;writeToParcel;;;Argument[1];Argument[0];taint;manual", + "android.net;Uri$Builder;false;appendEncodedPath;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;appendEncodedPath;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;appendPath;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;appendPath;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;appendQueryParameter;;;Argument[0..1];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;appendQueryParameter;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;authority;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;authority;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "android.net;Uri$Builder;false;clearQuery;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;encodedAuthority;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;encodedAuthority;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;encodedFragment;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;encodedFragment;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;encodedOpaquePart;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;encodedOpaquePart;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;encodedPath;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;encodedPath;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;encodedQuery;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;encodedQuery;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;fragment;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;fragment;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;opaquePart;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;opaquePart;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;path;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;path;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;query;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;query;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;scheme;;;Argument[0];Argument[-1];taint;manual", + "android.net;Uri$Builder;false;scheme;;;Argument[-1];ReturnValue;value;manual", + "android.net;Uri$Builder;false;toString;;;Argument[-1];ReturnValue;taint;manual" ] } } @@ -196,7 +196,7 @@ private class ParcelPropagationModels extends SummaryModelCsv { "HashMap", "Int", "Long", "Parcelable", "ParcelableArray", "PersistableBundle", "Serializable", "Size", "SizeF", "SparseArray", "SparseBooleanArray", "String", "StrongBinder", "TypedObject", "Value" - ] + ";;;Argument[-1];ReturnValue;taint" + ] + ";;;Argument[-1];ReturnValue;taint;manual" or // Parcel readers that write to an existing object s = @@ -205,9 +205,9 @@ private class ParcelPropagationModels extends SummaryModelCsv { "BinderArray", "BinderList", "BooleanArray", "ByteArray", "CharArray", "DoubleArray", "FloatArray", "IntArray", "List", "LongArray", "Map", "ParcelableList", "StringArray", "StringList", "TypedArray", "TypedList" - ] + ";;;Argument[-1];Argument[0];taint" + ] + ";;;Argument[-1];Argument[0];taint;manual" or // One Parcel method that aliases an argument to a return value - s = "android.os;Parcel;false;readParcelableList;;;Argument[0];ReturnValue;value" + s = "android.os;Parcel;false;readParcelableList;;;Argument[0];ReturnValue;value;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/ContentProviders.qll b/java/ql/lib/semmle/code/java/frameworks/android/ContentProviders.qll index 468b86d48e3..1724bb0ece9 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/ContentProviders.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/ContentProviders.qll @@ -15,33 +15,33 @@ private class ContentProviderSourceModels extends SourceModelCsv { row = [ // ContentInterface models are here for backwards compatibility (it was removed in API 28) - "android.content;ContentInterface;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider", - "android.content;ContentProvider;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider", - "android.content;ContentProvider;true;call;(String,String,Bundle);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;delete;(Uri,String,String[]);;Parameter[0..2];contentprovider", - "android.content;ContentInterface;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider", - "android.content;ContentProvider;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider", - "android.content;ContentInterface;true;getType;(Uri);;Parameter[0];contentprovider", - "android.content;ContentProvider;true;getType;(Uri);;Parameter[0];contentprovider", - "android.content;ContentInterface;true;insert;(Uri,ContentValues,Bundle);;Parameter[0];contentprovider", - "android.content;ContentProvider;true;insert;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;insert;(Uri,ContentValues);;Parameter[0..1];contentprovider", - "android.content;ContentInterface;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider", - "android.content;ContentProvider;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider", - "android.content;ContentProvider;true;openAssetFile;(Uri,String);;Parameter[0];contentprovider", - "android.content;ContentInterface;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle);;Parameter[0..2];contentprovider", - "android.content;ContentInterface;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider", - "android.content;ContentProvider;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider", - "android.content;ContentProvider;true;openFile;(Uri,String);;Parameter[0];contentprovider", - "android.content;ContentInterface;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Parameter[0..4];contentprovider", - "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Parameter[0..4];contentprovider", - "android.content;ContentInterface;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider", - "android.content;ContentProvider;true;update;(Uri,ContentValues,String,String[]);;Parameter[0..3];contentprovider" + "android.content;ContentInterface;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider;manual", + "android.content;ContentProvider;true;call;(String,String,String,Bundle);;Parameter[0..3];contentprovider;manual", + "android.content;ContentProvider;true;call;(String,String,Bundle);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;delete;(Uri,String,String[]);;Parameter[0..2];contentprovider;manual", + "android.content;ContentInterface;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider;manual", + "android.content;ContentProvider;true;delete;(Uri,Bundle);;Parameter[0..1];contentprovider;manual", + "android.content;ContentInterface;true;getType;(Uri);;Parameter[0];contentprovider;manual", + "android.content;ContentProvider;true;getType;(Uri);;Parameter[0];contentprovider;manual", + "android.content;ContentInterface;true;insert;(Uri,ContentValues,Bundle);;Parameter[0];contentprovider;manual", + "android.content;ContentProvider;true;insert;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;insert;(Uri,ContentValues);;Parameter[0..1];contentprovider;manual", + "android.content;ContentInterface;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider;manual", + "android.content;ContentProvider;true;openAssetFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider;manual", + "android.content;ContentProvider;true;openAssetFile;(Uri,String);;Parameter[0];contentprovider;manual", + "android.content;ContentInterface;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle,CancellationSignal);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;openTypedAssetFile;(Uri,String,Bundle);;Parameter[0..2];contentprovider;manual", + "android.content;ContentInterface;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider;manual", + "android.content;ContentProvider;true;openFile;(Uri,String,CancellationSignal);;Parameter[0];contentprovider;manual", + "android.content;ContentProvider;true;openFile;(Uri,String);;Parameter[0];contentprovider;manual", + "android.content;ContentInterface;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;query;(Uri,String[],Bundle,CancellationSignal);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Parameter[0..4];contentprovider;manual", + "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Parameter[0..4];contentprovider;manual", + "android.content;ContentInterface;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;update;(Uri,ContentValues,Bundle);;Parameter[0..2];contentprovider;manual", + "android.content;ContentProvider;true;update;(Uri,ContentValues,String,String[]);;Parameter[0..3];contentprovider;manual" ] } } @@ -50,10 +50,10 @@ private class SummaryModels extends SummaryModelCsv { override predicate row(string row) { row = [ - "android.content;ContentValues;false;put;;;Argument[0];Argument[-1].MapKey;value", - "android.content;ContentValues;false;put;;;Argument[1];Argument[-1].MapValue;value", - "android.content;ContentValues;false;putAll;;;Argument[0].MapKey;Argument[-1].MapKey;value", - "android.content;ContentValues;false;putAll;;;Argument[0].MapValue;Argument[-1].MapValue;value" + "android.content;ContentValues;false;put;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.content;ContentValues;false;put;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.content;ContentValues;false;putAll;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "android.content;ContentValues;false;putAll;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/ExternalStorage.qll b/java/ql/lib/semmle/code/java/frameworks/android/ExternalStorage.qll new file mode 100644 index 00000000000..1e6919c023b --- /dev/null +++ b/java/ql/lib/semmle/code/java/frameworks/android/ExternalStorage.qll @@ -0,0 +1,50 @@ +/** Provides definitions for working with uses of Android external storage */ + +import java +private import semmle.code.java.security.FileReadWrite +private import semmle.code.java.dataflow.DataFlow +private import semmle.code.java.dataflow.ExternalFlow + +private class ExternalStorageDirSourceModel extends SourceModelCsv { + override predicate row(string row) { + row = + [ + //"package;type;overrides;name;signature;ext;spec;kind" + "android.content;Context;true;getExternalFilesDir;(String);;ReturnValue;android-external-storage-dir;manual", + "android.content;Context;true;getExternalFilesDirs;(String);;ReturnValue;android-external-storage-dir;manual", + "android.content;Context;true;getExternalCacheDir;();;ReturnValue;android-external-storage-dir;manual", + "android.content;Context;true;getExternalCacheDirs;();;ReturnValue;android-external-storage-dir;manual", + "android.os;Environment;false;getExternalStorageDirectory;();;ReturnValue;android-external-storage-dir;manual", + "android.os;Environment;false;getExternalStoragePublicDirectory;(String);;ReturnValue;android-external-storage-dir;manual", + ] + } +} + +private predicate externalStorageFlowStep(DataFlow::Node node1, DataFlow::Node node2) { + DataFlow::localFlowStep(node1, node2) + or + exists(ConstructorCall c | c.getConstructedType() instanceof TypeFile | + node1.asExpr() = c.getArgument(0) and + node2.asExpr() = c + ) + or + node2.asExpr().(ArrayAccess).getArray() = node1.asExpr() + or + node2.asExpr().(FieldRead).getField().getInitializer() = node1.asExpr() +} + +private predicate externalStorageFlow(DataFlow::Node node1, DataFlow::Node node2) { + externalStorageFlowStep*(node1, node2) +} + +/** + * Holds if `n` is a node that reads the contents of an external file in Android. + * This is controllable by third-party applications, so is treated as a remote flow source. + */ +predicate androidExternalStorageSource(DataFlow::Node n) { + exists(DataFlow::Node externalDir, DirectFileReadExpr read | + sourceNode(externalDir, "android-external-storage-dir") and + n.asExpr() = read and + externalStorageFlow(externalDir, DataFlow::exprNode(read.getFileExpr())) + ) +} diff --git a/java/ql/lib/semmle/code/java/frameworks/android/Intent.qll b/java/ql/lib/semmle/code/java/frameworks/android/Intent.qll index 7aaa6519075..d9aceb3de21 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/Intent.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/Intent.qll @@ -200,159 +200,159 @@ private class IntentBundleFlowSteps extends SummaryModelCsv { row = [ //"namespace;type;subtypes;name;signature;ext;input;output;kind" - "android.os;BaseBundle;true;get;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;BaseBundle;true;getString;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;BaseBundle;true;getString;(String,String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;BaseBundle;true;getString;(String,String);;Argument[1];ReturnValue;value", - "android.os;BaseBundle;true;getStringArray;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;BaseBundle;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value", - "android.os;BaseBundle;true;putAll;(PersistableBundle);;Argument[0].MapKey;Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putAll;(PersistableBundle);;Argument[0].MapValue;Argument[-1].MapValue;value", - "android.os;BaseBundle;true;putBoolean;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putBooleanArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putDouble;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putDoubleArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putInt;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putIntArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putLong;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putLongArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putString;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putString;;;Argument[1];Argument[-1].MapValue;value", - "android.os;BaseBundle;true;putStringArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;BaseBundle;true;putStringArray;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;false;Bundle;(Bundle);;Argument[0].MapKey;Argument[-1].MapKey;value", - "android.os;Bundle;false;Bundle;(Bundle);;Argument[0].MapValue;Argument[-1].MapValue;value", - "android.os;Bundle;false;Bundle;(PersistableBundle);;Argument[0].MapKey;Argument[-1].MapKey;value", - "android.os;Bundle;false;Bundle;(PersistableBundle);;Argument[0].MapValue;Argument[-1].MapValue;value", - "android.os;Bundle;true;clone;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "android.os;Bundle;true;clone;();;Argument[-1].MapValue;ReturnValue.MapValue;value", + "android.os;BaseBundle;true;get;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;BaseBundle;true;getString;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;BaseBundle;true;getString;(String,String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;BaseBundle;true;getString;(String,String);;Argument[1];ReturnValue;value;manual", + "android.os;BaseBundle;true;getStringArray;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;BaseBundle;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value;manual", + "android.os;BaseBundle;true;putAll;(PersistableBundle);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putAll;(PersistableBundle);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "android.os;BaseBundle;true;putBoolean;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putBooleanArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putDouble;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putDoubleArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putInt;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putIntArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putLong;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putLongArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putString;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putString;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;BaseBundle;true;putStringArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;BaseBundle;true;putStringArray;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;false;Bundle;(Bundle);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "android.os;Bundle;false;Bundle;(Bundle);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "android.os;Bundle;false;Bundle;(PersistableBundle);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "android.os;Bundle;false;Bundle;(PersistableBundle);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;clone;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "android.os;Bundle;true;clone;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", // model for Bundle.deepCopy is not fully precise, as some map values aren't copied by value - "android.os;Bundle;true;deepCopy;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "android.os;Bundle;true;deepCopy;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "android.os;Bundle;true;getBinder;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getBundle;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getByteArray;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getCharArray;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getCharSequence;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getCharSequence;(String,CharSequence);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getCharSequence;(String,CharSequence);;Argument[1];ReturnValue;value", - "android.os;Bundle;true;getCharSequenceArray;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getCharSequenceArrayList;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getParcelable;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getParcelableArray;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getParcelableArrayList;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getSerializable;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getSparseParcelableArray;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;getStringArrayList;(String);;Argument[-1].MapValue;ReturnValue;value", - "android.os;Bundle;true;putAll;(Bundle);;Argument[0].MapKey;Argument[-1].MapKey;value", - "android.os;Bundle;true;putAll;(Bundle);;Argument[0].MapValue;Argument[-1].MapValue;value", - "android.os;Bundle;true;putBinder;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putBinder;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putBundle;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putBundle;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putByte;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putByteArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putByteArray;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putChar;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putCharArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putCharArray;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putCharSequence;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putCharSequence;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putCharSequenceArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putCharSequenceArray;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putCharSequenceArrayList;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putCharSequenceArrayList;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putFloat;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putFloatArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putIntegerArrayList;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putParcelable;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putParcelable;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putParcelableArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putParcelableArray;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putParcelableArrayList;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putParcelableArrayList;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putSerializable;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putSerializable;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putShort;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putShortArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putSize;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putSizeF;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putSparseParcelableArray;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putSparseParcelableArray;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;putStringArrayList;;;Argument[0];Argument[-1].MapKey;value", - "android.os;Bundle;true;putStringArrayList;;;Argument[1];Argument[-1].MapValue;value", - "android.os;Bundle;true;readFromParcel;;;Argument[0];Argument[-1].MapKey;taint", - "android.os;Bundle;true;readFromParcel;;;Argument[0];Argument[-1].MapValue;taint", + "android.os;Bundle;true;deepCopy;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "android.os;Bundle;true;deepCopy;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "android.os;Bundle;true;getBinder;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getBundle;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getByteArray;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getCharArray;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getCharSequence;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getCharSequence;(String,CharSequence);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getCharSequence;(String,CharSequence);;Argument[1];ReturnValue;value;manual", + "android.os;Bundle;true;getCharSequenceArray;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getCharSequenceArrayList;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getParcelable;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getParcelableArray;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getParcelableArrayList;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getSerializable;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getSparseParcelableArray;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;getStringArrayList;(String);;Argument[-1].MapValue;ReturnValue;value;manual", + "android.os;Bundle;true;putAll;(Bundle);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putAll;(Bundle);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putBinder;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putBinder;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putBundle;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putBundle;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putByte;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putByteArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putByteArray;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putChar;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putCharArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putCharArray;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putCharSequence;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putCharSequence;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putCharSequenceArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putCharSequenceArray;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putCharSequenceArrayList;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putCharSequenceArrayList;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putFloat;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putFloatArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putIntegerArrayList;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putParcelable;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putParcelable;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putParcelableArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putParcelableArray;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putParcelableArrayList;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putParcelableArrayList;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putSerializable;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putSerializable;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putShort;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putShortArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putSize;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putSizeF;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putSparseParcelableArray;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putSparseParcelableArray;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;putStringArrayList;;;Argument[0];Argument[-1].MapKey;value;manual", + "android.os;Bundle;true;putStringArrayList;;;Argument[1];Argument[-1].MapValue;value;manual", + "android.os;Bundle;true;readFromParcel;;;Argument[0];Argument[-1].MapKey;taint;manual", + "android.os;Bundle;true;readFromParcel;;;Argument[0];Argument[-1].MapValue;taint;manual", // currently only the Extras part of the intent and the data field are fully modelled - "android.content;Intent;false;Intent;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;false;Intent;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;false;Intent;(String,Uri);;Argument[1];Argument[-1].SyntheticField[android.content.Intent.data];value", - "android.content;Intent;false;Intent;(String,Uri,Context,Class);;Argument[1];Argument[-1].SyntheticField[android.content.Intent.data];value", - "android.content;Intent;true;addCategory;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;addFlags;;;Argument[-1];ReturnValue;value", - "android.content;Intent;false;createChooser;;;Argument[0..2];ReturnValue.SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;getBundleExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getByteArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getCharArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getCharSequenceArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getCharSequenceArrayListExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getCharSequenceExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getData;;;Argument[-1].SyntheticField[android.content.Intent.data];ReturnValue;value", - "android.content;Intent;true;getDataString;;;Argument[-1].SyntheticField[android.content.Intent.data];ReturnValue;taint", - "android.content;Intent;true;getExtras;();;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value", - "android.content;Intent;false;getIntent;;;Argument[0];ReturnValue.SyntheticField[android.content.Intent.data];taint", - "android.content;Intent;false;getIntentOld;;;Argument[0];ReturnValue.SyntheticField[android.content.Intent.data];taint", - "android.content;Intent;true;getParcelableArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getParcelableArrayListExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getParcelableExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getSerializableExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getStringArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getStringArrayListExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;true;getStringExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value", - "android.content;Intent;false;parseUri;;;Argument[0];ReturnValue.SyntheticField[android.content.Intent.data];taint", - "android.content;Intent;true;putCharSequenceArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putCharSequenceArrayListExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;putCharSequenceArrayListExtra;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;putExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;putExtra;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;putExtras;(Bundle);;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putExtras;(Bundle);;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;putExtras;(Bundle);;Argument[-1];ReturnValue;value", - "android.content;Intent;true;putExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;putExtras;(Intent);;Argument[-1];ReturnValue;value", - "android.content;Intent;true;putIntegerArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putIntegerArrayListExtra;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;putParcelableArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putParcelableArrayListExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;putParcelableArrayListExtra;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;putStringArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;putStringArrayListExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;putStringArrayListExtra;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;replaceExtras;(Bundle);;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;replaceExtras;(Bundle);;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;replaceExtras;(Bundle);;Argument[-1];ReturnValue;value", - "android.content;Intent;true;replaceExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.content;Intent;true;replaceExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.content;Intent;true;replaceExtras;(Intent);;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setAction;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setClass;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setClassName;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setComponent;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setData;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setData;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value", - "android.content;Intent;true;setDataAndNormalize;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setDataAndNormalize;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value", - "android.content;Intent;true;setDataAndType;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setDataAndType;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value", - "android.content;Intent;true;setDataAndTypeAndNormalize;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setDataAndTypeAndNormalize;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value", - "android.content;Intent;true;setFlags;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setIdentifier;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setPackage;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setType;;;Argument[-1];ReturnValue;value", - "android.content;Intent;true;setTypeAndNormalize;;;Argument[-1];ReturnValue;value" + "android.content;Intent;false;Intent;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;false;Intent;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;false;Intent;(String,Uri);;Argument[1];Argument[-1].SyntheticField[android.content.Intent.data];value;manual", + "android.content;Intent;false;Intent;(String,Uri,Context,Class);;Argument[1];Argument[-1].SyntheticField[android.content.Intent.data];value;manual", + "android.content;Intent;true;addCategory;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;addFlags;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;false;createChooser;;;Argument[0..2];ReturnValue.SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;getBundleExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getByteArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getCharArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getCharSequenceArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getCharSequenceArrayListExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getCharSequenceExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getData;;;Argument[-1].SyntheticField[android.content.Intent.data];ReturnValue;value;manual", + "android.content;Intent;true;getDataString;;;Argument[-1].SyntheticField[android.content.Intent.data];ReturnValue;taint;manual", + "android.content;Intent;true;getExtras;();;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value;manual", + "android.content;Intent;false;getIntent;;;Argument[0];ReturnValue.SyntheticField[android.content.Intent.data];taint;manual", + "android.content;Intent;false;getIntentOld;;;Argument[0];ReturnValue.SyntheticField[android.content.Intent.data];taint;manual", + "android.content;Intent;true;getParcelableArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getParcelableArrayListExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getParcelableExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getSerializableExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getStringArrayExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getStringArrayListExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;true;getStringExtra;(String);;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;ReturnValue;value;manual", + "android.content;Intent;false;parseUri;;;Argument[0];ReturnValue.SyntheticField[android.content.Intent.data];taint;manual", + "android.content;Intent;true;putCharSequenceArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putCharSequenceArrayListExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;putCharSequenceArrayListExtra;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;putExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;putExtra;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;putExtras;(Bundle);;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putExtras;(Bundle);;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;putExtras;(Bundle);;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;putExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;putExtras;(Intent);;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;putIntegerArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putIntegerArrayListExtra;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;putParcelableArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putParcelableArrayListExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;putParcelableArrayListExtra;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;putStringArrayListExtra;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;putStringArrayListExtra;;;Argument[1];Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;putStringArrayListExtra;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;replaceExtras;(Bundle);;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;replaceExtras;(Bundle);;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;replaceExtras;(Bundle);;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;replaceExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.content;Intent;true;replaceExtras;(Intent);;Argument[0].SyntheticField[android.content.Intent.extras].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.content;Intent;true;replaceExtras;(Intent);;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setAction;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setClass;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setClassName;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setComponent;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setData;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setData;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value;manual", + "android.content;Intent;true;setDataAndNormalize;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setDataAndNormalize;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value;manual", + "android.content;Intent;true;setDataAndType;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setDataAndType;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value;manual", + "android.content;Intent;true;setDataAndTypeAndNormalize;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setDataAndTypeAndNormalize;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.data];value;manual", + "android.content;Intent;true;setFlags;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setIdentifier;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setPackage;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setType;;;Argument[-1];ReturnValue;value;manual", + "android.content;Intent;true;setTypeAndNormalize;;;Argument[-1];ReturnValue;value;manual" ] } } @@ -361,29 +361,29 @@ private class IntentComponentTaintSteps extends SummaryModelCsv { override predicate row(string s) { s = [ - "android.content;Intent;true;Intent;(Intent);;Argument[0];Argument[-1];taint", - "android.content;Intent;true;Intent;(Context,Class);;Argument[1];Argument[-1];taint", - "android.content;Intent;true;Intent;(String,Uri,Context,Class);;Argument[3];Argument[-1];taint", - "android.content;Intent;true;getIntent;(String);;Argument[0];ReturnValue;taint", - "android.content;Intent;true;getIntentOld;(String);;Argument[0];ReturnValue;taint", - "android.content;Intent;true;parseUri;(String,int);;Argument[0];ReturnValue;taint", - "android.content;Intent;true;setPackage;;;Argument[0];Argument[-1];taint", - "android.content;Intent;true;setClass;;;Argument[1];Argument[-1];taint", - "android.content;Intent;true;setClassName;(Context,String);;Argument[1];Argument[-1];taint", - "android.content;Intent;true;setClassName;(String,String);;Argument[0..1];Argument[-1];taint", - "android.content;Intent;true;setComponent;;;Argument[0];Argument[-1];taint", - "android.content;ComponentName;false;ComponentName;(String,String);;Argument[0..1];Argument[-1];taint", - "android.content;ComponentName;false;ComponentName;(Context,String);;Argument[1];Argument[-1];taint", - "android.content;ComponentName;false;ComponentName;(Context,Class);;Argument[1];Argument[-1];taint", - "android.content;ComponentName;false;ComponentName;(Parcel);;Argument[0];Argument[-1];taint", - "android.content;ComponentName;false;createRelative;(String,String);;Argument[0..1];ReturnValue;taint", - "android.content;ComponentName;false;createRelative;(Context,String);;Argument[1];ReturnValue;taint", - "android.content;ComponentName;false;flattenToShortString;;;Argument[-1];ReturnValue;taint", - "android.content;ComponentName;false;flattenToString;;;Argument[-1];ReturnValue;taint", - "android.content;ComponentName;false;getClassName;;;Argument[-1];ReturnValue;taint", - "android.content;ComponentName;false;getPackageName;;;Argument[-1];ReturnValue;taint", - "android.content;ComponentName;false;getShortClassName;;;Argument[-1];ReturnValue;taint", - "android.content;ComponentName;false;unflattenFromString;;;Argument[0];ReturnValue;taint" + "android.content;Intent;true;Intent;(Intent);;Argument[0];Argument[-1];taint;manual", + "android.content;Intent;true;Intent;(Context,Class);;Argument[1];Argument[-1];taint;manual", + "android.content;Intent;true;Intent;(String,Uri,Context,Class);;Argument[3];Argument[-1];taint;manual", + "android.content;Intent;true;getIntent;(String);;Argument[0];ReturnValue;taint;manual", + "android.content;Intent;true;getIntentOld;(String);;Argument[0];ReturnValue;taint;manual", + "android.content;Intent;true;parseUri;(String,int);;Argument[0];ReturnValue;taint;manual", + "android.content;Intent;true;setPackage;;;Argument[0];Argument[-1];taint;manual", + "android.content;Intent;true;setClass;;;Argument[1];Argument[-1];taint;manual", + "android.content;Intent;true;setClassName;(Context,String);;Argument[1];Argument[-1];taint;manual", + "android.content;Intent;true;setClassName;(String,String);;Argument[0..1];Argument[-1];taint;manual", + "android.content;Intent;true;setComponent;;;Argument[0];Argument[-1];taint;manual", + "android.content;ComponentName;false;ComponentName;(String,String);;Argument[0..1];Argument[-1];taint;manual", + "android.content;ComponentName;false;ComponentName;(Context,String);;Argument[1];Argument[-1];taint;manual", + "android.content;ComponentName;false;ComponentName;(Context,Class);;Argument[1];Argument[-1];taint;manual", + "android.content;ComponentName;false;ComponentName;(Parcel);;Argument[0];Argument[-1];taint;manual", + "android.content;ComponentName;false;createRelative;(String,String);;Argument[0..1];ReturnValue;taint;manual", + "android.content;ComponentName;false;createRelative;(Context,String);;Argument[1];ReturnValue;taint;manual", + "android.content;ComponentName;false;flattenToShortString;;;Argument[-1];ReturnValue;taint;manual", + "android.content;ComponentName;false;flattenToString;;;Argument[-1];ReturnValue;taint;manual", + "android.content;ComponentName;false;getClassName;;;Argument[-1];ReturnValue;taint;manual", + "android.content;ComponentName;false;getPackageName;;;Argument[-1];ReturnValue;taint;manual", + "android.content;ComponentName;false;getShortClassName;;;Argument[-1];ReturnValue;taint;manual", + "android.content;ComponentName;false;unflattenFromString;;;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/Notifications.qll b/java/ql/lib/semmle/code/java/frameworks/android/Notifications.qll index 1d9b7060be6..f16af6dcf89 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/Notifications.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/Notifications.qll @@ -9,40 +9,40 @@ private class NotificationBuildersSummaryModels extends SummaryModelCsv { override predicate row(string row) { row = [ - "android.app;Notification$Action;true;Action;(int,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint", - "android.app;Notification$Action;true;getExtras;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value", - "android.app;Notification$Action$Builder;true;Builder;(int,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint", - "android.app;Notification$Action$Builder;true;Builder;(Icon,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint", - "android.app;Notification$Action$Builder;true;Builder;(Action);;Argument[0];Argument[-1];taint", - "android.app;Notification$Action$Builder;true;addExtras;;;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.app;Notification$Action$Builder;true;addExtras;;;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.app;Notification$Action$Builder;true;build;;;Argument[-1];ReturnValue;taint", - "android.app;Notification$Action$Builder;true;build;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue.SyntheticField[android.content.Intent.extras];value", - "android.app;Notification$Action$Builder;true;getExtras;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value", - "android.app;Notification$Builder;true;addAction;(int,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint", - "android.app;Notification$Builder;true;addAction;(Action);;Argument[0];Argument[-1];taint", - "android.app;Notification$Builder;true;addExtras;;;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value", - "android.app;Notification$Builder;true;addExtras;;;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value", - "android.app;Notification$Builder;true;build;;;Argument[-1];ReturnValue;taint", - "android.app;Notification$Builder;true;build;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue.Field[android.app.Notification.extras];value", - "android.app;Notification$Builder;true;setContentIntent;;;Argument[0];Argument[-1];taint", - "android.app;Notification$Builder;true;getExtras;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value", - "android.app;Notification$Builder;true;recoverBuilder;;;Argument[1];ReturnValue;taint", - "android.app;Notification$Builder;true;setActions;;;Argument[0].ArrayElement;Argument[-1];taint", - "android.app;Notification$Builder;true;setExtras;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras];value", - "android.app;Notification$Builder;true;setDeleteIntent;;;Argument[0];Argument[-1];taint", - "android.app;Notification$Builder;true;setPublicVersion;;;Argument[0];Argument[-1];taint", - "android.app;Notification$Style;true;build;;;Argument[-1];ReturnValue;taint", - "android.app;Notification$BigPictureStyle;true;BigPictureStyle;(Builder);;Argument[0];Argument[-1];taint", - "android.app;Notification$BigTextStyle;true;BigTextStyle;(Builder);;Argument[0];Argument[-1];taint", - "android.app;Notification$InboxStyle;true;InboxStyle;(Builder);;Argument[0];Argument[-1];taint", - "android.app;Notification$MediaStyle;true;MediaStyle;(Builder);;Argument[0];Argument[-1];taint", + "android.app;Notification$Action;true;Action;(int,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint;manual", + "android.app;Notification$Action;true;getExtras;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value;manual", + "android.app;Notification$Action$Builder;true;Builder;(int,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint;manual", + "android.app;Notification$Action$Builder;true;Builder;(Icon,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint;manual", + "android.app;Notification$Action$Builder;true;Builder;(Action);;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$Action$Builder;true;addExtras;;;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.app;Notification$Action$Builder;true;addExtras;;;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.app;Notification$Action$Builder;true;build;;;Argument[-1];ReturnValue;taint;manual", + "android.app;Notification$Action$Builder;true;build;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue.SyntheticField[android.content.Intent.extras];value;manual", + "android.app;Notification$Action$Builder;true;getExtras;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value;manual", + "android.app;Notification$Builder;true;addAction;(int,CharSequence,PendingIntent);;Argument[2];Argument[-1];taint;manual", + "android.app;Notification$Builder;true;addAction;(Action);;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$Builder;true;addExtras;;;Argument[0].MapKey;Argument[-1].SyntheticField[android.content.Intent.extras].MapKey;value;manual", + "android.app;Notification$Builder;true;addExtras;;;Argument[0].MapValue;Argument[-1].SyntheticField[android.content.Intent.extras].MapValue;value;manual", + "android.app;Notification$Builder;true;build;;;Argument[-1];ReturnValue;taint;manual", + "android.app;Notification$Builder;true;build;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue.Field[android.app.Notification.extras];value;manual", + "android.app;Notification$Builder;true;setContentIntent;;;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$Builder;true;getExtras;;;Argument[-1].SyntheticField[android.content.Intent.extras];ReturnValue;value;manual", + "android.app;Notification$Builder;true;recoverBuilder;;;Argument[1];ReturnValue;taint;manual", + "android.app;Notification$Builder;true;setActions;;;Argument[0].ArrayElement;Argument[-1];taint;manual", + "android.app;Notification$Builder;true;setExtras;;;Argument[0];Argument[-1].SyntheticField[android.content.Intent.extras];value;manual", + "android.app;Notification$Builder;true;setDeleteIntent;;;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$Builder;true;setPublicVersion;;;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$Style;true;build;;;Argument[-1];ReturnValue;taint;manual", + "android.app;Notification$BigPictureStyle;true;BigPictureStyle;(Builder);;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$BigTextStyle;true;BigTextStyle;(Builder);;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$InboxStyle;true;InboxStyle;(Builder);;Argument[0];Argument[-1];taint;manual", + "android.app;Notification$MediaStyle;true;MediaStyle;(Builder);;Argument[0];Argument[-1];taint;manual", // Fluent models "android.app;Notification$Action$Builder;true;" + [ "addExtras", "addRemoteInput", "extend", "setAllowGeneratedReplies", "setAuthenticationRequired", "setContextual", "setSemanticAction" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "android.app;Notification$Builder;true;" + [ "addAction", "addExtras", "addPerson", "extend", "setActions", "setAutoCancel", @@ -57,18 +57,21 @@ private class NotificationBuildersSummaryModels extends SummaryModelCsv { "setShortcutId", "setShowWhen", "setSmallIcon", "setSortKey", "setSound", "setStyle", "setSubText", "setTicker", "setTimeoutAfter", "setUsesChronometer", "setVibrate", "setVisibility", "setWhen" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "android.app;Notification$BigPictureStyle;true;" + [ "bigLargeIcon", "bigPicture", "setBigContentTitle", "setContentDescription", "setSummaryText", "showBigPictureWhenCollapsed" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "android.app;Notification$BigTextStyle;true;" + - ["bigText", "setBigContentTitle", "setSummaryText"] + ";;;Argument[-1];ReturnValue;value", + ["bigText", "setBigContentTitle", "setSummaryText"] + + ";;;Argument[-1];ReturnValue;value;manual", "android.app;Notification$InboxStyle;true;" + - ["addLine", "setBigContentTitle", "setSummaryText"] + ";;;Argument[-1];ReturnValue;value", + ["addLine", "setBigContentTitle", "setSummaryText"] + + ";;;Argument[-1];ReturnValue;value;manual", "android.app;Notification$MediaStyle;true;" + - ["setMediaSession", "setShowActionsInCompactView"] + ";;;Argument[-1];ReturnValue;value" + ["setMediaSession", "setShowActionsInCompactView"] + + ";;;Argument[-1];ReturnValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/SQLite.qll b/java/ql/lib/semmle/code/java/frameworks/android/SQLite.qll index 5d77b05ff23..78756debd24 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/SQLite.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/SQLite.qll @@ -45,10 +45,10 @@ private class SQLiteSinkCsv extends SinkModelCsv { row = [ //"package;type;overrides;name;signature;ext;spec;kind" - "android.database.sqlite;SQLiteDatabase;false;compileStatement;(String);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;execSQL;(String);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;execSQL;(String,Object[]);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;execPerConnectionSQL;(String,Object[]);;Argument[0];sql", + "android.database.sqlite;SQLiteDatabase;false;compileStatement;(String);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;execSQL;(String);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;execSQL;(String,Object[]);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;execPerConnectionSQL;(String,Object[]);;Argument[0];sql;manual", // query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) // query(boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit, CancellationSignal cancellationSignal) // query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) @@ -56,72 +56,72 @@ private class SQLiteSinkCsv extends SinkModelCsv { // queryWithFactory(SQLiteDatabase.CursorFactory cursorFactory, boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit, CancellationSignal cancellationSignal) // queryWithFactory(SQLiteDatabase.CursorFactory cursorFactory, boolean distinct, String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) // Each String / String[] arg except for selectionArgs is a sink - "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[1];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[2];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[4..7];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String);;Argument[0..2];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String);;Argument[4..6];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[1];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[2];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[3];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[5..8];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[1];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[3];sql", - "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[5..8];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[2];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[3];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[4];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[6..9];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[3];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[4];sql", - "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[6..9];sql", - "android.database.sqlite;SQLiteDatabase;false;rawQuery;(String,String[]);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;rawQuery;(String,String[],CancellationSignal);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;rawQueryWithFactory;(CursorFactory,String,String[],String);;Argument[1];sql", - "android.database.sqlite;SQLiteDatabase;false;rawQueryWithFactory;(CursorFactory,String,String[],String,CancellationSignal);;Argument[1];sql", - "android.database.sqlite;SQLiteDatabase;false;delete;(String,String,String[]);;Argument[0..1];sql", - "android.database.sqlite;SQLiteDatabase;false;update;(String,ContentValues,String,String[]);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;update;(String,ContentValues,String,String[]);;Argument[2];sql", - "android.database.sqlite;SQLiteDatabase;false;updateWithOnConflict;(String,ContentValues,String,String[],int);;Argument[0];sql", - "android.database.sqlite;SQLiteDatabase;false;updateWithOnConflict;(String,ContentValues,String,String[],int);;Argument[2];sql", - "android.database;DatabaseUtils;false;longForQuery;(SQLiteDatabase,String,String[]);;Argument[1];sql", - "android.database;DatabaseUtils;false;stringForQuery;(SQLiteDatabase,String,String[]);;Argument[1];sql", - "android.database;DatabaseUtils;false;blobFileDescriptorForQuery;(SQLiteDatabase,String,String[]);;Argument[1];sql", - "android.database;DatabaseUtils;false;createDbFromSqlStatements;(Context,String,int,String);;Argument[3];sql", - "android.database;DatabaseUtils;false;queryNumEntries;(SQLiteDatabase,String);;Argument[1];sql", - "android.database;DatabaseUtils;false;queryNumEntries;(SQLiteDatabase,String,String);;Argument[1..2];sql", - "android.database;DatabaseUtils;false;queryNumEntries;(SQLiteDatabase,String,String,String[]);;Argument[1..2];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;delete;(SQLiteDatabase,String,String[]);;Argument[-1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;delete;(SQLiteDatabase,String,String[]);;Argument[1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;insert;(SQLiteDatabase,ContentValues);;Argument[-1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;update;(SQLiteDatabase,ContentValues,String,String[]);;Argument[-1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;update;(SQLiteDatabase,ContentValues,String,String[]);;Argument[2];sql", + "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String,String);;Argument[4..7];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String);;Argument[0..2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(String,String[],String,String[],String,String,String);;Argument[4..6];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[3];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String);;Argument[5..8];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[3];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;query;(boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[5..8];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[3];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[4];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String);;Argument[6..9];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[3];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[4];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;queryWithFactory;(CursorFactory,boolean,String,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[6..9];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;rawQuery;(String,String[]);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;rawQuery;(String,String[],CancellationSignal);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;rawQueryWithFactory;(CursorFactory,String,String[],String);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;rawQueryWithFactory;(CursorFactory,String,String[],String,CancellationSignal);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;delete;(String,String,String[]);;Argument[0..1];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;update;(String,ContentValues,String,String[]);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;update;(String,ContentValues,String,String[]);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;updateWithOnConflict;(String,ContentValues,String,String[],int);;Argument[0];sql;manual", + "android.database.sqlite;SQLiteDatabase;false;updateWithOnConflict;(String,ContentValues,String,String[],int);;Argument[2];sql;manual", + "android.database;DatabaseUtils;false;longForQuery;(SQLiteDatabase,String,String[]);;Argument[1];sql;manual", + "android.database;DatabaseUtils;false;stringForQuery;(SQLiteDatabase,String,String[]);;Argument[1];sql;manual", + "android.database;DatabaseUtils;false;blobFileDescriptorForQuery;(SQLiteDatabase,String,String[]);;Argument[1];sql;manual", + "android.database;DatabaseUtils;false;createDbFromSqlStatements;(Context,String,int,String);;Argument[3];sql;manual", + "android.database;DatabaseUtils;false;queryNumEntries;(SQLiteDatabase,String);;Argument[1];sql;manual", + "android.database;DatabaseUtils;false;queryNumEntries;(SQLiteDatabase,String,String);;Argument[1..2];sql;manual", + "android.database;DatabaseUtils;false;queryNumEntries;(SQLiteDatabase,String,String,String[]);;Argument[1..2];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;delete;(SQLiteDatabase,String,String[]);;Argument[-1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;delete;(SQLiteDatabase,String,String[]);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;insert;(SQLiteDatabase,ContentValues);;Argument[-1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;update;(SQLiteDatabase,ContentValues,String,String[]);;Argument[-1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;update;(SQLiteDatabase,ContentValues,String,String[]);;Argument[2];sql;manual", // query(SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder) // query(SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit) // query(SQLiteDatabase db, String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit, CancellationSignal cancellationSignal) - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[-1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[2];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[4..6];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[-1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[2];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[4..7];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[-1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[1];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql", - "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[4..7];sql", - "android.content;ContentProvider;true;delete;(Uri,String,String[]);;Argument[1];sql", - "android.content;ContentProvider;true;update;(Uri,ContentValues,String,String[]);;Argument[2];sql", - "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[2];sql", - "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Argument[2];sql", - "android.content;ContentResolver;true;delete;(Uri,String,String[]);;Argument[1];sql", - "android.content;ContentResolver;true;update;(Uri,ContentValues,String,String[]);;Argument[2];sql", - "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[2];sql", - "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String);;Argument[2];sql" + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[-1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String);;Argument[4..6];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[-1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String);;Argument[4..7];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[-1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[1];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[2];sql;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;query;(SQLiteDatabase,String[],String,String[],String,String,String,String,CancellationSignal);;Argument[4..7];sql;manual", + "android.content;ContentProvider;true;delete;(Uri,String,String[]);;Argument[1];sql;manual", + "android.content;ContentProvider;true;update;(Uri,ContentValues,String,String[]);;Argument[2];sql;manual", + "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[2];sql;manual", + "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Argument[2];sql;manual", + "android.content;ContentResolver;true;delete;(Uri,String,String[]);;Argument[1];sql;manual", + "android.content;ContentResolver;true;update;(Uri,ContentValues,String,String[]);;Argument[2];sql;manual", + "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[2];sql;manual", + "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String);;Argument[2];sql;manual" ] } } @@ -134,43 +134,43 @@ private class SqlFlowStep extends SummaryModelCsv { // buildQuery(String[] projectionIn, String selection, String groupBy, String having, String sortOrder, String limit) // buildQuery(String[] projectionIn, String selection, String[] selectionArgs, String groupBy, String having, String sortOrder, String limit) // buildUnionQuery(String[] subQueries, String sortOrder, String limit) - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String,String,String,String);;Argument[-1];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String,String,String,String);;Argument[0].ArrayElement;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String,String,String,String);;Argument[1..5];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[-1];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[0].ArrayElement;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[1];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[3..6];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionQuery;(String[],String,String);;Argument[-1];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionQuery;(String[],String,String);;Argument[0].ArrayElement;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionQuery;(String[],String,String);;Argument[1..2];ReturnValue;taint", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String,String,String,String);;Argument[-1];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String,String,String,String);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String,String,String,String);;Argument[1..5];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[-1];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[1];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQuery;(String[],String,String[],String,String,String,String);;Argument[3..6];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionQuery;(String[],String,String);;Argument[-1];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionQuery;(String[],String,String);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionQuery;(String[],String,String);;Argument[1..2];ReturnValue;taint;manual", // buildUnionSubQuery(String typeDiscriminatorColumn, String[] unionColumns, Set columnsPresentInTable, int computedColumnsOffset, String typeDiscriminatorValue, String selection, String[] selectionArgs, String groupBy, String having) // buildUnionSubQuery(String typeDiscriminatorColumn, String[] unionColumns, Set columnsPresentInTable, int computedColumnsOffset, String typeDiscriminatorValue, String selection, String groupBy, String having) - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[-1..0];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[1].ArrayElement;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[2].Element;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[4..5];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[7..8];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[-1..0];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[1].ArrayElement;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[2].Element;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[4..7];ReturnValue;taint", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[-1..0];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[1].ArrayElement;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[2].Element;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[4..5];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String[],String,String);;Argument[7..8];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[-1..0];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[1].ArrayElement;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[2].Element;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildUnionSubQuery;(String,String[],Set,int,String,String,String,String);;Argument[4..7];ReturnValue;taint;manual", // static buildQueryString(boolean distinct, String tables, String[] columns, String where, String groupBy, String having, String orderBy, String limit) - "android.database.sqlite;SQLiteQueryBuilder;true;buildQueryString;(boolean,String,String[],String,String,String,String,String);;Argument[1];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQueryString;(boolean,String,String[],String,String,String,String,String);;Argument[2].ArrayElement;ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;buildQueryString;(boolean,String,String[],String,String,String,String,String);;Argument[3..7];ReturnValue;taint", - "android.database.sqlite;SQLiteQueryBuilder;true;setProjectionMap;(Map);;Argument[0].MapKey;Argument[-1];taint", - "android.database.sqlite;SQLiteQueryBuilder;true;setProjectionMap;(Map);;Argument[0].MapValue;Argument[-1];taint", - "android.database.sqlite;SQLiteQueryBuilder;true;setTables;(String);;Argument[0];Argument[-1];taint", - "android.database.sqlite;SQLiteQueryBuilder;true;appendWhere;(CharSequence);;Argument[0];Argument[-1];taint", - "android.database.sqlite;SQLiteQueryBuilder;true;appendWhereStandalone;(CharSequence);;Argument[0];Argument[-1];taint", - "android.database.sqlite;SQLiteQueryBuilder;true;appendColumns;(StringBuilder,String[]);;Argument[1].ArrayElement;Argument[0];taint", - "android.database;DatabaseUtils;false;appendSelectionArgs;(String[],String[]);;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;taint", - "android.database;DatabaseUtils;false;concatenateWhere;(String,String);;Argument[0..1];ReturnValue;taint", - "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Argument[0];ReturnValue;taint", - "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[0];ReturnValue;taint", - "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String);;Argument[0];ReturnValue;taint", - "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[0];ReturnValue;taint" + "android.database.sqlite;SQLiteQueryBuilder;true;buildQueryString;(boolean,String,String[],String,String,String,String,String);;Argument[1];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQueryString;(boolean,String,String[],String,String,String,String,String);;Argument[2].ArrayElement;ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;buildQueryString;(boolean,String,String[],String,String,String,String,String);;Argument[3..7];ReturnValue;taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;setProjectionMap;(Map);;Argument[0].MapKey;Argument[-1];taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;setProjectionMap;(Map);;Argument[0].MapValue;Argument[-1];taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;setTables;(String);;Argument[0];Argument[-1];taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;appendWhere;(CharSequence);;Argument[0];Argument[-1];taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;appendWhereStandalone;(CharSequence);;Argument[0];Argument[-1];taint;manual", + "android.database.sqlite;SQLiteQueryBuilder;true;appendColumns;(StringBuilder,String[]);;Argument[1].ArrayElement;Argument[0];taint;manual", + "android.database;DatabaseUtils;false;appendSelectionArgs;(String[],String[]);;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;taint;manual", + "android.database;DatabaseUtils;false;concatenateWhere;(String,String);;Argument[0..1];ReturnValue;taint;manual", + "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String);;Argument[0];ReturnValue;taint;manual", + "android.content;ContentProvider;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[0];ReturnValue;taint;manual", + "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String);;Argument[0];ReturnValue;taint;manual", + "android.content;ContentResolver;true;query;(Uri,String[],String,String[],String,CancellationSignal);;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/SharedPreferences.qll b/java/ql/lib/semmle/code/java/frameworks/android/SharedPreferences.qll index 6b9bcc987df..8a5c455fedd 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/SharedPreferences.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/SharedPreferences.qll @@ -61,14 +61,14 @@ private class SharedPreferencesSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "android.content;SharedPreferences$Editor;true;clear;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;putBoolean;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;putFloat;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;putInt;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;putLong;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;putString;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;putStringSet;;;Argument[-1];ReturnValue;value", - "android.content;SharedPreferences$Editor;true;remove;;;Argument[-1];ReturnValue;value" + "android.content;SharedPreferences$Editor;true;clear;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;putBoolean;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;putFloat;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;putInt;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;putLong;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;putString;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;putStringSet;;;Argument[-1];ReturnValue;value;manual", + "android.content;SharedPreferences$Editor;true;remove;;;Argument[-1];ReturnValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/Slice.qll b/java/ql/lib/semmle/code/java/frameworks/android/Slice.qll index ad4f24adcd6..b787f0ad282 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/Slice.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/Slice.qll @@ -44,69 +44,69 @@ private class SliceBuildersSummaryModels extends SummaryModelCsv { override predicate row(string row) { row = [ - "androidx.slice.builders;ListBuilder;true;addAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;addGridRow;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;addInputRange;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;addRange;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;addRating;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;addRow;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;addSelection;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;setHeader;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;setSeeMoreAction;(PendingIntent);;Argument[0];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;setSeeMoreRow;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder;true;build;;;Argument[-1].SyntheticField[androidx.slice.Slice.action];ReturnValue;taint", - "androidx.slice.builders;ListBuilder$HeaderBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;addEndItem;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;setInputAction;(PendingIntent);;Argument[0];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RangeBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RatingBuilder;true;setInputAction;(PendingIntent);;Argument[0];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RatingBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RowBuilder;true;addEndItem;(SliceAction,boolean);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RowBuilder;true;addEndItem;(SliceAction);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RowBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RowBuilder;true;setTitleItem;(SliceAction,boolean);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;ListBuilder$RowBuilder;true;setTitleItem;(SliceAction);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;SliceAction;true;create;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue.SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;SliceAction;true;createDeeplink;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue.SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;SliceAction;true;createToggle;(PendingIntent,CharSequence,boolean);;Argument[0];ReturnValue.SyntheticField[androidx.slice.Slice.action];taint", - "androidx.slice.builders;SliceAction;true;getAction;;;Argument[-1].SyntheticField[androidx.slice.Slice.action];ReturnValue;taint", + "androidx.slice.builders;ListBuilder;true;addAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;addGridRow;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;addInputRange;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;addRange;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;addRating;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;addRow;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;addSelection;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;setHeader;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;setSeeMoreAction;(PendingIntent);;Argument[0];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;setSeeMoreRow;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder;true;build;;;Argument[-1].SyntheticField[androidx.slice.Slice.action];ReturnValue;taint;manual", + "androidx.slice.builders;ListBuilder$HeaderBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;addEndItem;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;setInputAction;(PendingIntent);;Argument[0];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RangeBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RatingBuilder;true;setInputAction;(PendingIntent);;Argument[0];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RatingBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RowBuilder;true;addEndItem;(SliceAction,boolean);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RowBuilder;true;addEndItem;(SliceAction);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RowBuilder;true;setPrimaryAction;;;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RowBuilder;true;setTitleItem;(SliceAction,boolean);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;ListBuilder$RowBuilder;true;setTitleItem;(SliceAction);;Argument[0].SyntheticField[androidx.slice.Slice.action];Argument[-1].SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;SliceAction;true;create;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue.SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;SliceAction;true;createDeeplink;(PendingIntent,IconCompat,int,CharSequence);;Argument[0];ReturnValue.SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;SliceAction;true;createToggle;(PendingIntent,CharSequence,boolean);;Argument[0];ReturnValue.SyntheticField[androidx.slice.Slice.action];taint;manual", + "androidx.slice.builders;SliceAction;true;getAction;;;Argument[-1].SyntheticField[androidx.slice.Slice.action];ReturnValue;taint;manual", // Fluent models "androidx.slice.builders;ListBuilder;true;" + [ "addAction", "addGridRow", "addInputRange", "addRange", "addRating", "addRow", "addSelection", "setAccentColor", "setHeader", "setHostExtras", "setIsError", "setKeywords", "setLayoutDirection", "setSeeMoreAction", "setSeeMoreRow" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "androidx.slice.builders;ListBuilder$HeaderBuilder;true;" + [ "setContentDescription", "setLayoutDirection", "setPrimaryAction", "setSubtitle", "setSummary", "setTitle" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "androidx.slice.builders;ListBuilder$InputRangeBuilder;true;" + [ "addEndItem", "setContentDescription", "setInputAction", "setLayoutDirection", "setMax", "setMin", "setPrimaryAction", "setSubtitle", "setThumb", "setTitle", "setTitleItem", "setValue" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "androidx.slice.builders;ListBuilder$RangeBuilder;true;" + [ "setContentDescription", "setMax", "setMode", "setPrimaryAction", "setSubtitle", "setTitle", "setTitleItem", "setValue" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "androidx.slice.builders;ListBuilder$RatingBuilder;true;" + [ "setContentDescription", "setInputAction", "setMax", "setMin", "setPrimaryAction", "setSubtitle", "setTitle", "setTitleItem", "setValue" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "androidx.slice.builders;ListBuilder$RowBuilder;true;" + [ "addEndItem", "setContentDescription", "setEndOfSection", "setLayoutDirection", "setPrimaryAction", "setSubtitle", "setTitle", "setTitleItem" - ] + ";;;Argument[-1];ReturnValue;value", + ] + ";;;Argument[-1];ReturnValue;value;manual", "androidx.slice.builders;SliceAction;true;" + ["setChecked", "setContentDescription", "setPriority"] + - ";;;Argument[-1];ReturnValue;value" + ";;;Argument[-1];ReturnValue;value;manual" ] } } @@ -115,11 +115,11 @@ private class SliceProviderSourceModels extends SourceModelCsv { override predicate row(string row) { row = [ - "androidx.slice;SliceProvider;true;onBindSlice;;;Parameter[0];contentprovider", - "androidx.slice;SliceProvider;true;onCreatePermissionRequest;;;Parameter[0];contentprovider", - "androidx.slice;SliceProvider;true;onMapIntentToUri;;;Parameter[0];contentprovider", - "androidx.slice;SliceProvider;true;onSlicePinned;;;Parameter[0];contentprovider", - "androidx.slice;SliceProvider;true;onSliceUnpinned;;;Parameter[0];contentprovider" + "androidx.slice;SliceProvider;true;onBindSlice;;;Parameter[0];contentprovider;manual", + "androidx.slice;SliceProvider;true;onCreatePermissionRequest;;;Parameter[0];contentprovider;manual", + "androidx.slice;SliceProvider;true;onMapIntentToUri;;;Parameter[0];contentprovider;manual", + "androidx.slice;SliceProvider;true;onSlicePinned;;;Parameter[0];contentprovider;manual", + "androidx.slice;SliceProvider;true;onSliceUnpinned;;;Parameter[0];contentprovider;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/Widget.qll b/java/ql/lib/semmle/code/java/frameworks/android/Widget.qll index da54e09dd2a..e66852e8e2e 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/Widget.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/Widget.qll @@ -6,7 +6,7 @@ private import semmle.code.java.dataflow.FlowSources private class AndroidWidgetSourceModels extends SourceModelCsv { override predicate row(string row) { - row = "android.widget;EditText;true;getText;;;ReturnValue;android-widget" + row = "android.widget;EditText;true;getText;;;ReturnValue;android-widget;manual" } } @@ -18,18 +18,26 @@ private class DefaultAndroidWidgetSources extends RemoteFlowSource { private class EditableToStringStep extends AdditionalTaintStep { override predicate step(DataFlow::Node n1, DataFlow::Node n2) { - exists(MethodAccess toString | - toString.getMethod().hasName("toString") and - toString.getReceiverType().hasQualifiedName("android.text", "Editable") - | - n1.asExpr() = toString.getQualifier() and - n2.asExpr() = toString + exists(MethodAccess ma | + ma.getMethod().hasName("toString") and + ma.getReceiverType().getASourceSupertype*().hasQualifiedName("android.text", "Editable") and + n1.asExpr() = ma.getQualifier() and + n2.asExpr() = ma + or + ma.getMethod().hasQualifiedName("java.lang", "String", "valueOf") and + ma.getArgument(0) + .getType() + .(RefType) + .getASourceSupertype*() + .hasQualifiedName("android.text", "Editable") and + n1.asExpr() = ma.getArgument(0) and + n2.asExpr() = ma ) } } private class AndroidWidgetSummaryModels extends SummaryModelCsv { override predicate row(string row) { - row = "android.widget;EditText;true;getText;;;Argument[-1];ReturnValue;taint" + row = "android.widget;EditText;true;getText;;;Argument[-1];ReturnValue;taint;manual" } } diff --git a/java/ql/lib/semmle/code/java/frameworks/android/XssSinks.qll b/java/ql/lib/semmle/code/java/frameworks/android/XssSinks.qll index b6d590e95b3..c324d22a605 100644 --- a/java/ql/lib/semmle/code/java/frameworks/android/XssSinks.qll +++ b/java/ql/lib/semmle/code/java/frameworks/android/XssSinks.qll @@ -8,9 +8,9 @@ private class DefaultXssSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "android.webkit;WebView;false;loadData;;;Argument[0];xss", - "android.webkit;WebView;false;loadDataWithBaseURL;;;Argument[1];xss", - "android.webkit;WebView;false;evaluateJavascript;;;Argument[0];xss" + "android.webkit;WebView;false;loadData;;;Argument[0];xss;manual", + "android.webkit;WebView;false;loadDataWithBaseURL;;;Argument[1];xss;manual", + "android.webkit;WebView;false;evaluateJavascript;;;Argument[0];xss;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/apache/Collections.qll b/java/ql/lib/semmle/code/java/frameworks/apache/Collections.qll index 71acd554efb..4eb7f644233 100644 --- a/java/ql/lib/semmle/code/java/frameworks/apache/Collections.qll +++ b/java/ql/lib/semmle/code/java/frameworks/apache/Collections.qll @@ -39,99 +39,99 @@ private class ApacheCollectionsModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should model things relating to Closure, Factory, Transformer, FluentIterable.forEach, FluentIterable.transform - ";ArrayStack;true;peek;;;Argument[-1].Element;ReturnValue;value", - ";ArrayStack;true;pop;;;Argument[-1].Element;ReturnValue;value", - ";ArrayStack;true;push;;;Argument[0];Argument[-1].Element;value", - ";ArrayStack;true;push;;;Argument[0];ReturnValue;value", - ";Bag;true;add;;;Argument[0];Argument[-1].Element;value", - ";Bag;true;uniqueSet;;;Argument[-1].Element;ReturnValue.Element;value", - ";BidiMap;true;getKey;;;Argument[-1].MapKey;ReturnValue;value", - ";BidiMap;true;removeValue;;;Argument[-1].MapKey;ReturnValue;value", - ";BidiMap;true;inverseBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value", - ";BidiMap;true;inverseBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value", - ";FluentIterable;true;append;(Object[]);;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;append;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - ";FluentIterable;true;append;(Iterable);;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;append;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";FluentIterable;true;asEnumeration;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;collate;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;collate;;;Argument[0].Element;ReturnValue.Element;value", - ";FluentIterable;true;copyInto;;;Argument[-1].Element;Argument[0].Element;value", - ";FluentIterable;true;eval;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;filter;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;get;;;Argument[-1].Element;ReturnValue;value", - ";FluentIterable;true;limit;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;loop;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;of;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";FluentIterable;true;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - ";FluentIterable;true;of;(Object);;Argument[0];ReturnValue.Element;value", - ";FluentIterable;true;reverse;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;skip;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;toArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - ";FluentIterable;true;toList;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;unique;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;unmodifiable;;;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;zip;(Iterable);;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;zip;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";FluentIterable;true;zip;(Iterable[]);;Argument[-1].Element;ReturnValue.Element;value", - ";FluentIterable;true;zip;(Iterable[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value", - ";Get;true;entrySet;;;Argument[-1].MapKey;ReturnValue.Element.MapKey;value", - ";Get;true;entrySet;;;Argument[-1].MapValue;ReturnValue.Element.MapValue;value", - ";Get;true;get;;;Argument[-1].MapValue;ReturnValue;value", - ";Get;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value", - ";Get;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value", - ";Get;true;remove;(Object);;Argument[-1].MapValue;ReturnValue;value", - ";IterableGet;true;mapIterator;;;Argument[-1].MapKey;ReturnValue.Element;value", - ";IterableGet;true;mapIterator;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ";KeyValue;true;getKey;;;Argument[-1].MapKey;ReturnValue;value", - ";KeyValue;true;getValue;;;Argument[-1].MapValue;ReturnValue;value", + ";ArrayStack;true;peek;;;Argument[-1].Element;ReturnValue;value;manual", + ";ArrayStack;true;pop;;;Argument[-1].Element;ReturnValue;value;manual", + ";ArrayStack;true;push;;;Argument[0];Argument[-1].Element;value;manual", + ";ArrayStack;true;push;;;Argument[0];ReturnValue;value;manual", + ";Bag;true;add;;;Argument[0];Argument[-1].Element;value;manual", + ";Bag;true;uniqueSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";BidiMap;true;getKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";BidiMap;true;removeValue;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";BidiMap;true;inverseBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value;manual", + ";BidiMap;true;inverseBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value;manual", + ";FluentIterable;true;append;(Object[]);;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;append;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";FluentIterable;true;append;(Iterable);;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;append;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;asEnumeration;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;collate;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;collate;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;copyInto;;;Argument[-1].Element;Argument[0].Element;value;manual", + ";FluentIterable;true;eval;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;filter;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;get;;;Argument[-1].Element;ReturnValue;value;manual", + ";FluentIterable;true;limit;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;loop;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;of;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;of;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";FluentIterable;true;of;(Object);;Argument[0];ReturnValue.Element;value;manual", + ";FluentIterable;true;reverse;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;skip;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;toArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + ";FluentIterable;true;toList;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;unique;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;unmodifiable;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;zip;(Iterable);;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;zip;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;zip;(Iterable[]);;Argument[-1].Element;ReturnValue.Element;value;manual", + ";FluentIterable;true;zip;(Iterable[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value;manual", + ";Get;true;entrySet;;;Argument[-1].MapKey;ReturnValue.Element.MapKey;value;manual", + ";Get;true;entrySet;;;Argument[-1].MapValue;ReturnValue.Element.MapValue;value;manual", + ";Get;true;get;;;Argument[-1].MapValue;ReturnValue;value;manual", + ";Get;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ";Get;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value;manual", + ";Get;true;remove;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + ";IterableGet;true;mapIterator;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ";IterableGet;true;mapIterator;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ";KeyValue;true;getKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";KeyValue;true;getValue;;;Argument[-1].MapValue;ReturnValue;value;manual", // Note that MapIterator implements Iterator, so it iterates over the keys of the map. // In order for the models of Iterator to work we have to use Element instead of MapKey for key data. - ";MapIterator;true;getKey;;;Argument[-1].Element;ReturnValue;value", - ";MapIterator;true;getValue;;;Argument[-1].MapValue;ReturnValue;value", - ";MapIterator;true;setValue;;;Argument[-1].MapValue;ReturnValue;value", - ";MapIterator;true;setValue;;;Argument[0];Argument[-1].MapValue;value", - ";MultiMap;true;get;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ";MultiMap;true;put;;;Argument[0];Argument[-1].MapKey;value", - ";MultiMap;true;put;;;Argument[1];Argument[-1].MapValue.Element;value", - ";MultiMap;true;values;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ";MultiSet$Entry;true;getElement;;;Argument[-1].Element;ReturnValue;value", - ";MultiSet;true;add;;;Argument[0];Argument[-1].Element;value", - ";MultiSet;true;uniqueSet;;;Argument[-1].Element;ReturnValue.Element;value", - ";MultiSet;true;entrySet;;;Argument[-1].Element;ReturnValue.Element.Element;value", - ";MultiValuedMap;true;asMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ";MultiValuedMap;true;asMap;;;Argument[-1].MapValue.Element;ReturnValue.MapValue.Element;value", - ";MultiValuedMap;true;entries;;;Argument[-1].MapKey;ReturnValue.Element.MapKey;value", - ";MultiValuedMap;true;entries;;;Argument[-1].MapValue.Element;ReturnValue.Element.MapValue;value", - ";MultiValuedMap;true;get;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ";MultiValuedMap;true;keys;;;Argument[-1].MapKey;ReturnValue.Element;value", - ";MultiValuedMap;true;keySet;;;Argument[-1].MapKey;ReturnValue.Element;value", - ";MultiValuedMap;true;mapIterator;;;Argument[-1].MapKey;ReturnValue.Element;value", - ";MultiValuedMap;true;mapIterator;;;Argument[-1].MapValue.Element;ReturnValue.MapValue;value", - ";MultiValuedMap;true;put;;;Argument[0];Argument[-1].MapKey;value", - ";MultiValuedMap;true;put;;;Argument[1];Argument[-1].MapValue.Element;value", - ";MultiValuedMap;true;putAll;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value", - ";MultiValuedMap;true;putAll;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue.Element;value", - ";MultiValuedMap;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ";MultiValuedMap;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value", - ";MultiValuedMap;true;putAll;(MultiValuedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - ";MultiValuedMap;true;putAll;(MultiValuedMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - ";MultiValuedMap;true;remove;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ";MultiValuedMap;true;values;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ";OrderedIterator;true;previous;;;Argument[-1].Element;ReturnValue;value", - ";OrderedMap;true;firstKey;;;Argument[-1].MapKey;ReturnValue;value", - ";OrderedMap;true;lastKey;;;Argument[-1].MapKey;ReturnValue;value", - ";OrderedMap;true;nextKey;;;Argument[-1].MapKey;ReturnValue;value", - ";OrderedMap;true;previousKey;;;Argument[-1].MapKey;ReturnValue;value", - ";Put;true;put;;;Argument[-1].MapValue;ReturnValue;value", - ";Put;true;put;;;Argument[0];Argument[-1].MapKey;value", - ";Put;true;put;;;Argument[1];Argument[-1].MapValue;value", - ";Put;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ";Put;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ";SortedBag;true;first;;;Argument[-1].Element;ReturnValue;value", - ";SortedBag;true;last;;;Argument[-1].Element;ReturnValue;value", - ";Trie;true;prefixMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ";Trie;true;prefixMap;;;Argument[-1].MapValue;ReturnValue.MapValue;value" + ";MapIterator;true;getKey;;;Argument[-1].Element;ReturnValue;value;manual", + ";MapIterator;true;getValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + ";MapIterator;true;setValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + ";MapIterator;true;setValue;;;Argument[0];Argument[-1].MapValue;value;manual", + ";MultiMap;true;get;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiMap;true;put;;;Argument[0];Argument[-1].MapKey;value;manual", + ";MultiMap;true;put;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + ";MultiMap;true;values;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiSet$Entry;true;getElement;;;Argument[-1].Element;ReturnValue;value;manual", + ";MultiSet;true;add;;;Argument[0];Argument[-1].Element;value;manual", + ";MultiSet;true;uniqueSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";MultiSet;true;entrySet;;;Argument[-1].Element;ReturnValue.Element.Element;value;manual", + ";MultiValuedMap;true;asMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ";MultiValuedMap;true;asMap;;;Argument[-1].MapValue.Element;ReturnValue.MapValue.Element;value;manual", + ";MultiValuedMap;true;entries;;;Argument[-1].MapKey;ReturnValue.Element.MapKey;value;manual", + ";MultiValuedMap;true;entries;;;Argument[-1].MapValue.Element;ReturnValue.Element.MapValue;value;manual", + ";MultiValuedMap;true;get;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiValuedMap;true;keys;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ";MultiValuedMap;true;keySet;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ";MultiValuedMap;true;mapIterator;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ";MultiValuedMap;true;mapIterator;;;Argument[-1].MapValue.Element;ReturnValue.MapValue;value;manual", + ";MultiValuedMap;true;put;;;Argument[0];Argument[-1].MapKey;value;manual", + ";MultiValuedMap;true;put;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + ";MultiValuedMap;true;putAll;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value;manual", + ";MultiValuedMap;true;putAll;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue.Element;value;manual", + ";MultiValuedMap;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ";MultiValuedMap;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value;manual", + ";MultiValuedMap;true;putAll;(MultiValuedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ";MultiValuedMap;true;putAll;(MultiValuedMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + ";MultiValuedMap;true;remove;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiValuedMap;true;values;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ";OrderedIterator;true;previous;;;Argument[-1].Element;ReturnValue;value;manual", + ";OrderedMap;true;firstKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";OrderedMap;true;lastKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";OrderedMap;true;nextKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";OrderedMap;true;previousKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ";Put;true;put;;;Argument[-1].MapValue;ReturnValue;value;manual", + ";Put;true;put;;;Argument[0];Argument[-1].MapKey;value;manual", + ";Put;true;put;;;Argument[1];Argument[-1].MapValue;value;manual", + ";Put;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ";Put;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ";SortedBag;true;first;;;Argument[-1].Element;ReturnValue;value;manual", + ";SortedBag;true;last;;;Argument[-1].Element;ReturnValue;value;manual", + ";Trie;true;prefixMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ";Trie;true;prefixMap;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -147,58 +147,58 @@ private class ApacheKeyValueModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ".keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[0];Argument[-1].MapKey;value", - ".keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[1];Argument[-1].MapValue;value", - ".keyvalue;AbstractKeyValue;true;setKey;;;Argument[-1].MapKey;ReturnValue;value", - ".keyvalue;AbstractKeyValue;true;setKey;;;Argument[0];Argument[-1].MapKey;value", - ".keyvalue;AbstractKeyValue;true;setValue;;;Argument[-1].MapValue;ReturnValue;value", - ".keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];Argument[-1].MapValue;value", - ".keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[0];Argument[-1].MapKey;value", - ".keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[1];Argument[-1].MapValue;value", - ".keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ".keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;DefaultKeyValue;true;toMapEntry;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ".keyvalue;DefaultKeyValue;true;toMapEntry;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;MultiKey;true;MultiKey;(Object[]);;Argument[0].ArrayElement;Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object[],boolean);;Argument[0].ArrayElement;Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object);;Argument[0];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object);;Argument[1];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object);;Argument[0];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object);;Argument[1];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object);;Argument[2];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[0];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[1];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[2];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[3];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[0];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[1];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[2];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[3];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[4];Argument[-1].Element;value", - ".keyvalue;MultiKey;true;getKeys;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - ".keyvalue;MultiKey;true;getKey;;;Argument[-1].Element;ReturnValue;value", - ".keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[1];Argument[-1].MapKey;value", - ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value" + ".keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[0];Argument[-1].MapKey;value;manual", + ".keyvalue;AbstractKeyValue;true;AbstractKeyValue;;;Argument[1];Argument[-1].MapValue;value;manual", + ".keyvalue;AbstractKeyValue;true;setKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ".keyvalue;AbstractKeyValue;true;setKey;;;Argument[0];Argument[-1].MapKey;value;manual", + ".keyvalue;AbstractKeyValue;true;setValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + ".keyvalue;AbstractKeyValue;true;setValue;;;Argument[0];Argument[-1].MapValue;value;manual", + ".keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[0];Argument[-1].MapKey;value;manual", + ".keyvalue;AbstractMapEntry;true;AbstractMapEntry;;;Argument[1];Argument[-1].MapValue;value;manual", + ".keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;AbstractMapEntryDecorator;true;AbstractMapEntryDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ".keyvalue;AbstractMapEntryDecorator;true;getMapEntry;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;DefaultKeyValue;true;DefaultKeyValue;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;DefaultKeyValue;true;toMapEntry;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ".keyvalue;DefaultKeyValue;true;toMapEntry;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;DefaultMapEntry;true;DefaultMapEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object[]);;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object[],boolean);;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object);;Argument[0];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object);;Argument[1];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object);;Argument[0];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object);;Argument[1];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object);;Argument[2];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[0];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[1];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[2];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object);;Argument[3];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[0];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[1];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[2];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[3];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;MultiKey;(Object,Object,Object,Object,Object);;Argument[4];Argument[-1].Element;value;manual", + ".keyvalue;MultiKey;true;getKeys;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + ".keyvalue;MultiKey;true;getKey;;;Argument[-1].Element;ReturnValue;value;manual", + ".keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;TiedMapEntry;true;TiedMapEntry;;;Argument[1];Argument[-1].MapKey;value;manual", + ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".keyvalue;UnmodifiableMapEntry;true;UnmodifiableMapEntry;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual" ] } } @@ -212,24 +212,24 @@ private class ApacheBagModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedBag, TransformedSortedBag - ".bag;AbstractBagDecorator;true;AbstractBagDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".bag;AbstractMapBag;true;AbstractMapBag;;;Argument[0].MapKey;Argument[-1].Element;value", - ".bag;AbstractMapBag;true;getMap;;;Argument[-1].Element;ReturnValue.MapKey;value", - ".bag;AbstractSortedBagDecorator;true;AbstractSortedBagDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".bag;CollectionBag;true;CollectionBag;;;Argument[0].Element;Argument[-1].Element;value", - ".bag;CollectionBag;true;collectionBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;CollectionSortedBag;true;CollectionSortedBag;;;Argument[0].Element;Argument[-1].Element;value", - ".bag;CollectionSortedBag;true;collectionSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;HashBag;true;HashBag;;;Argument[0].Element;Argument[-1].Element;value", - ".bag;PredicatedBag;true;predicatedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;PredicatedSortedBag;true;predicatedSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;SynchronizedBag;true;synchronizedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;SynchronizedSortedBag;true;synchronizedSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;TransformedBag;true;transformedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;TransformedSortedBag;true;transformedSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;TreeBag;true;TreeBag;(Collection);;Argument[0].Element;Argument[-1].Element;value", - ".bag;UnmodifiableBag;true;unmodifiableBag;;;Argument[0].Element;ReturnValue.Element;value", - ".bag;UnmodifiableSortedBag;true;unmodifiableSortedBag;;;Argument[0].Element;ReturnValue.Element;value" + ".bag;AbstractBagDecorator;true;AbstractBagDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".bag;AbstractMapBag;true;AbstractMapBag;;;Argument[0].MapKey;Argument[-1].Element;value;manual", + ".bag;AbstractMapBag;true;getMap;;;Argument[-1].Element;ReturnValue.MapKey;value;manual", + ".bag;AbstractSortedBagDecorator;true;AbstractSortedBagDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".bag;CollectionBag;true;CollectionBag;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".bag;CollectionBag;true;collectionBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;CollectionSortedBag;true;CollectionSortedBag;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".bag;CollectionSortedBag;true;collectionSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;HashBag;true;HashBag;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".bag;PredicatedBag;true;predicatedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;PredicatedSortedBag;true;predicatedSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;SynchronizedBag;true;synchronizedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;SynchronizedSortedBag;true;synchronizedSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;TransformedBag;true;transformedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;TransformedSortedBag;true;transformedSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;TreeBag;true;TreeBag;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".bag;UnmodifiableBag;true;unmodifiableBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".bag;UnmodifiableSortedBag;true;unmodifiableSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -242,38 +242,38 @@ private class ApacheBidiMapModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ".bidimap;AbstractBidiMapDecorator;true;AbstractBidiMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;AbstractBidiMapDecorator;true;AbstractBidiMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[1].MapKey;Argument[-1].MapValue;value", - ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[1].MapValue;Argument[-1].MapKey;value", - ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[2].MapKey;Argument[-1].MapValue;value", - ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[2].MapValue;Argument[-1].MapKey;value", - ".bidimap;AbstractOrderedBidiMapDecorator;true;AbstractOrderedBidiMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;AbstractOrderedBidiMapDecorator;true;AbstractOrderedBidiMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;AbstractSortedBidiMapDecorator;true;AbstractSortedBidiMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;AbstractSortedBidiMapDecorator;true;AbstractSortedBidiMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;DualHashBidiMap;true;DualHashBidiMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;DualHashBidiMap;true;DualHashBidiMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;DualLinkedHashBidiMap;true;DualLinkedHashBidiMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;DualLinkedHashBidiMap;true;DualLinkedHashBidiMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;DualTreeBidiMap;true;DualTreeBidiMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;DualTreeBidiMap;true;DualTreeBidiMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;DualTreeBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value", - ".bidimap;DualTreeBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value", - ".bidimap;DualTreeBidiMap;true;inverseSortedBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value", - ".bidimap;DualTreeBidiMap;true;inverseSortedBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value", - ".bidimap;TreeBidiMap;true;TreeBidiMap;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".bidimap;TreeBidiMap;true;TreeBidiMap;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".bidimap;UnmodifiableBidiMap;true;unmodifiableBidiMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".bidimap;UnmodifiableBidiMap;true;unmodifiableBidiMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".bidimap;UnmodifiableOrderedBidiMap;true;unmodifiableOrderedBidiMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".bidimap;UnmodifiableOrderedBidiMap;true;unmodifiableOrderedBidiMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".bidimap;UnmodifiableOrderedBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value", - ".bidimap;UnmodifiableOrderedBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value", - ".bidimap;UnmodifiableSortedBidiMap;true;unmodifiableSortedBidiMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".bidimap;UnmodifiableSortedBidiMap;true;unmodifiableSortedBidiMap;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ".bidimap;AbstractBidiMapDecorator;true;AbstractBidiMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;AbstractBidiMapDecorator;true;AbstractBidiMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[1].MapKey;Argument[-1].MapValue;value;manual", + ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[1].MapValue;Argument[-1].MapKey;value;manual", + ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[2].MapKey;Argument[-1].MapValue;value;manual", + ".bidimap;AbstractDualBidiMap;true;AbstractDualBidiMap;;;Argument[2].MapValue;Argument[-1].MapKey;value;manual", + ".bidimap;AbstractOrderedBidiMapDecorator;true;AbstractOrderedBidiMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;AbstractOrderedBidiMapDecorator;true;AbstractOrderedBidiMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;AbstractSortedBidiMapDecorator;true;AbstractSortedBidiMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;AbstractSortedBidiMapDecorator;true;AbstractSortedBidiMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;DualHashBidiMap;true;DualHashBidiMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;DualHashBidiMap;true;DualHashBidiMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;DualLinkedHashBidiMap;true;DualLinkedHashBidiMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;DualLinkedHashBidiMap;true;DualLinkedHashBidiMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;DualTreeBidiMap;true;DualTreeBidiMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;DualTreeBidiMap;true;DualTreeBidiMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;DualTreeBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value;manual", + ".bidimap;DualTreeBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value;manual", + ".bidimap;DualTreeBidiMap;true;inverseSortedBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value;manual", + ".bidimap;DualTreeBidiMap;true;inverseSortedBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value;manual", + ".bidimap;TreeBidiMap;true;TreeBidiMap;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".bidimap;TreeBidiMap;true;TreeBidiMap;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".bidimap;UnmodifiableBidiMap;true;unmodifiableBidiMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".bidimap;UnmodifiableBidiMap;true;unmodifiableBidiMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".bidimap;UnmodifiableOrderedBidiMap;true;unmodifiableOrderedBidiMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".bidimap;UnmodifiableOrderedBidiMap;true;unmodifiableOrderedBidiMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".bidimap;UnmodifiableOrderedBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapKey;ReturnValue.MapValue;value;manual", + ".bidimap;UnmodifiableOrderedBidiMap;true;inverseOrderedBidiMap;;;Argument[-1].MapValue;ReturnValue.MapKey;value;manual", + ".bidimap;UnmodifiableSortedBidiMap;true;unmodifiableSortedBidiMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".bidimap;UnmodifiableSortedBidiMap;true;unmodifiableSortedBidiMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -287,46 +287,46 @@ private class ApacheCollectionModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedCollection - ".collection;AbstractCollectionDecorator;true;AbstractCollectionDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".collection;AbstractCollectionDecorator;true;decorated;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;AbstractCollectionDecorator;true;setCollection;;;Argument[0].Element;Argument[-1].Element;value", - ".collection;CompositeCollection$CollectionMutator;true;add;;;Argument[2];Argument[0].Element;value", - ".collection;CompositeCollection$CollectionMutator;true;add;;;Argument[2];Argument[1].Element.Element;value", - ".collection;CompositeCollection$CollectionMutator;true;addAll;;;Argument[2].Element;Argument[0].Element;value", - ".collection;CompositeCollection$CollectionMutator;true;addAll;;;Argument[2].Element;Argument[1].Element.Element;value", - ".collection;CompositeCollection;true;CompositeCollection;(Collection);;Argument[0].Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;CompositeCollection;(Collection,Collection);;Argument[0].Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;CompositeCollection;(Collection,Collection);;Argument[1].Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;CompositeCollection;(Collection[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;addComposited;(Collection);;Argument[0].Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;addComposited;(Collection,Collection);;Argument[0].Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;addComposited;(Collection,Collection);;Argument[1].Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;addComposited;(Collection[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value", - ".collection;CompositeCollection;true;toCollection;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;CompositeCollection;true;getCollections;;;Argument[-1].Element;ReturnValue.Element.Element;value", - ".collection;IndexedCollection;true;IndexedCollection;;;Argument[0].Element;Argument[-1].Element;value", - ".collection;IndexedCollection;true;uniqueIndexedCollection;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;IndexedCollection;true;nonUniqueIndexedCollection;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;IndexedCollection;true;get;;;Argument[-1].Element;ReturnValue;value", - ".collection;IndexedCollection;true;values;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;add;;;Argument[0];Argument[-1].Element;value", - ".collection;PredicatedCollection$Builder;true;addAll;;;Argument[0].Element;Argument[-1].Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedList;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedList;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedSet;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedSet;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedMultiSet;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedMultiSet;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedBag;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedBag;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedQueue;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;createPredicatedQueue;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection$Builder;true;rejectedElements;;;Argument[-1].Element;ReturnValue.Element;value", - ".collection;PredicatedCollection;true;predicatedCollection;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;SynchronizedCollection;true;synchronizedCollection;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;TransformedCollection;true;transformingCollection;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;UnmodifiableBoundedCollection;true;unmodifiableBoundedCollection;;;Argument[0].Element;ReturnValue.Element;value", - ".collection;UnmodifiableCollection;true;unmodifiableCollection;;;Argument[0].Element;ReturnValue.Element;value" + ".collection;AbstractCollectionDecorator;true;AbstractCollectionDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;AbstractCollectionDecorator;true;decorated;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;AbstractCollectionDecorator;true;setCollection;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection$CollectionMutator;true;add;;;Argument[2];Argument[0].Element;value;manual", + ".collection;CompositeCollection$CollectionMutator;true;add;;;Argument[2];Argument[1].Element.Element;value;manual", + ".collection;CompositeCollection$CollectionMutator;true;addAll;;;Argument[2].Element;Argument[0].Element;value;manual", + ".collection;CompositeCollection$CollectionMutator;true;addAll;;;Argument[2].Element;Argument[1].Element.Element;value;manual", + ".collection;CompositeCollection;true;CompositeCollection;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;CompositeCollection;(Collection,Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;CompositeCollection;(Collection,Collection);;Argument[1].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;CompositeCollection;(Collection[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;addComposited;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;addComposited;(Collection,Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;addComposited;(Collection,Collection);;Argument[1].Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;addComposited;(Collection[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value;manual", + ".collection;CompositeCollection;true;toCollection;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;CompositeCollection;true;getCollections;;;Argument[-1].Element;ReturnValue.Element.Element;value;manual", + ".collection;IndexedCollection;true;IndexedCollection;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;IndexedCollection;true;uniqueIndexedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;IndexedCollection;true;nonUniqueIndexedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;IndexedCollection;true;get;;;Argument[-1].Element;ReturnValue;value;manual", + ".collection;IndexedCollection;true;values;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;add;;;Argument[0];Argument[-1].Element;value;manual", + ".collection;PredicatedCollection$Builder;true;addAll;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedList;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedMultiSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedBag;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedQueue;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;createPredicatedQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection$Builder;true;rejectedElements;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".collection;PredicatedCollection;true;predicatedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;SynchronizedCollection;true;synchronizedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;TransformedCollection;true;transformingCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;UnmodifiableBoundedCollection;true;unmodifiableBoundedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".collection;UnmodifiableCollection;true;unmodifiableCollection;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -340,81 +340,81 @@ private class ApacheIteratorsModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformIterator - ".iterators;AbstractIteratorDecorator;true;AbstractIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;AbstractListIteratorDecorator;true;AbstractListIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;AbstractListIteratorDecorator;true;getListIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;AbstractMapIteratorDecorator;true;AbstractMapIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;AbstractMapIteratorDecorator;true;AbstractMapIteratorDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".iterators;AbstractMapIteratorDecorator;true;getMapIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;AbstractMapIteratorDecorator;true;getMapIterator;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".iterators;AbstractOrderedMapIteratorDecorator;true;AbstractOrderedMapIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;AbstractOrderedMapIteratorDecorator;true;AbstractOrderedMapIteratorDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".iterators;AbstractOrderedMapIteratorDecorator;true;getOrderedMapIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;AbstractOrderedMapIteratorDecorator;true;getOrderedMapIterator;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".iterators;AbstractUntypedIteratorDecorator;true;AbstractUntypedIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;AbstractUntypedIteratorDecorator;true;getIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;ArrayIterator;true;ArrayIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value", - ".iterators;ArrayIterator;true;getArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - ".iterators;ArrayListIterator;true;ArrayListIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value", - ".iterators;BoundedIterator;true;BoundedIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Iterator,Iterator);;Argument[2].Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Iterator[]);;Argument[1].ArrayElement.Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Collection);;Argument[1].Element.Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;addIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;setIterator;;;Argument[1].Element;Argument[-1].Element;value", - ".iterators;CollatingIterator;true;getIterators;;;Argument[-1].Element;ReturnValue.Element.Element;value", - ".iterators;EnumerationIterator;true;EnumerationIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;EnumerationIterator;true;getEnumeration;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;EnumerationIterator;true;setEnumeration;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;FilterIterator;true;FilterIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;FilterIterator;true;getIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;FilterIterator;true;setIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;FilterListIterator;true;FilterListIterator;(ListIterator);;Argument[0].Element;Argument[-1].Element;value", - ".iterators;FilterListIterator;true;FilterListIterator;(ListIterator,Predicate);;Argument[0].Element;Argument[-1].Element;value", - ".iterators;FilterListIterator;true;getListIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;FilterListIterator;true;setListIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;IteratorChain;true;IteratorChain;(Iterator);;Argument[0].Element;Argument[-1].Element;value", - ".iterators;IteratorChain;true;IteratorChain;(Iterator,Iterator);;Argument[0].Element;Argument[-1].Element;value", - ".iterators;IteratorChain;true;IteratorChain;(Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value", - ".iterators;IteratorChain;true;IteratorChain;(Iterator[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value", - ".iterators;IteratorChain;true;IteratorChain;(Collection);;Argument[0].Element.Element;Argument[-1].Element;value", - ".iterators;IteratorChain;true;addIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;IteratorEnumeration;true;IteratorEnumeration;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;IteratorEnumeration;true;getIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ".iterators;IteratorEnumeration;true;setIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;IteratorIterable;true;IteratorIterable;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;ListIteratorWrapper;true;ListIteratorWrapper;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;LoopingIterator;true;LoopingIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;LoopingListIterator;true;LoopingListIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;ObjectArrayIterator;true;ObjectArrayIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value", - ".iterators;ObjectArrayIterator;true;getArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - ".iterators;ObjectArrayListIterator;true;ObjectArrayListIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value", - ".iterators;PeekingIterator;true;PeekingIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;PeekingIterator;true;peekingIterator;;;Argument[0].Element;ReturnValue.Element;value", - ".iterators;PeekingIterator;true;peek;;;Argument[-1].Element;ReturnValue;value", - ".iterators;PeekingIterator;true;element;;;Argument[-1].Element;ReturnValue;value", - ".iterators;PermutationIterator;true;PermutationIterator;;;Argument[0].Element;Argument[-1].Element.Element;value", - ".iterators;PushbackIterator;true;PushbackIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;PushbackIterator;true;pushbackIterator;;;Argument[0].Element;ReturnValue.Element;value", - ".iterators;PushbackIterator;true;pushback;;;Argument[0];Argument[-1].Element;value", - ".iterators;ReverseListIterator;true;ReverseListIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;SingletonIterator;true;SingletonIterator;;;Argument[0];Argument[-1].Element;value", - ".iterators;SingletonListIterator;true;SingletonListIterator;;;Argument[0];Argument[-1].Element;value", - ".iterators;SkippingIterator;true;SkippingIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;UniqueFilterIterator;true;UniqueFilterIterator;;;Argument[0].Element;Argument[-1].Element;value", - ".iterators;UnmodifiableIterator;true;unmodifiableIterator;;;Argument[0].Element;ReturnValue.Element;value", - ".iterators;UnmodifiableListIterator;true;umodifiableListIterator;;;Argument[0].Element;ReturnValue.Element;value", - ".iterators;UnmodifiableMapIterator;true;unmodifiableMapIterator;;;Argument[0].Element;ReturnValue.Element;value", - ".iterators;UnmodifiableMapIterator;true;unmodifiableMapIterator;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".iterators;UnmodifiableOrderedMapIterator;true;unmodifiableOrderedMapIterator;;;Argument[0].Element;ReturnValue.Element;value", - ".iterators;UnmodifiableOrderedMapIterator;true;unmodifiableOrderedMapIterator;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".iterators;ZippingIterator;true;ZippingIterator;(Iterator[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value", - ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator);;Argument[0].Element;Argument[-1].Element;value", - ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value", - ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator,Iterator);;Argument[0].Element;Argument[-1].Element;value", - ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value", - ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator,Iterator);;Argument[2].Element;Argument[-1].Element;value" + ".iterators;AbstractIteratorDecorator;true;AbstractIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;AbstractListIteratorDecorator;true;AbstractListIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;AbstractListIteratorDecorator;true;getListIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;AbstractMapIteratorDecorator;true;AbstractMapIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;AbstractMapIteratorDecorator;true;AbstractMapIteratorDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".iterators;AbstractMapIteratorDecorator;true;getMapIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;AbstractMapIteratorDecorator;true;getMapIterator;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".iterators;AbstractOrderedMapIteratorDecorator;true;AbstractOrderedMapIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;AbstractOrderedMapIteratorDecorator;true;AbstractOrderedMapIteratorDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".iterators;AbstractOrderedMapIteratorDecorator;true;getOrderedMapIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;AbstractOrderedMapIteratorDecorator;true;getOrderedMapIterator;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".iterators;AbstractUntypedIteratorDecorator;true;AbstractUntypedIteratorDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;AbstractUntypedIteratorDecorator;true;getIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;ArrayIterator;true;ArrayIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + ".iterators;ArrayIterator;true;getArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + ".iterators;ArrayListIterator;true;ArrayListIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + ".iterators;BoundedIterator;true;BoundedIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Iterator,Iterator);;Argument[2].Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Iterator[]);;Argument[1].ArrayElement.Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;CollatingIterator;(Comparator,Collection);;Argument[1].Element.Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;addIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;setIterator;;;Argument[1].Element;Argument[-1].Element;value;manual", + ".iterators;CollatingIterator;true;getIterators;;;Argument[-1].Element;ReturnValue.Element.Element;value;manual", + ".iterators;EnumerationIterator;true;EnumerationIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;EnumerationIterator;true;getEnumeration;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;EnumerationIterator;true;setEnumeration;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;FilterIterator;true;FilterIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;FilterIterator;true;getIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;FilterIterator;true;setIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;FilterListIterator;true;FilterListIterator;(ListIterator);;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;FilterListIterator;true;FilterListIterator;(ListIterator,Predicate);;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;FilterListIterator;true;getListIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;FilterListIterator;true;setListIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorChain;true;IteratorChain;(Iterator);;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorChain;true;IteratorChain;(Iterator,Iterator);;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorChain;true;IteratorChain;(Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorChain;true;IteratorChain;(Iterator[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value;manual", + ".iterators;IteratorChain;true;IteratorChain;(Collection);;Argument[0].Element.Element;Argument[-1].Element;value;manual", + ".iterators;IteratorChain;true;addIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorEnumeration;true;IteratorEnumeration;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorEnumeration;true;getIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".iterators;IteratorEnumeration;true;setIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;IteratorIterable;true;IteratorIterable;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;ListIteratorWrapper;true;ListIteratorWrapper;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;LoopingIterator;true;LoopingIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;LoopingListIterator;true;LoopingListIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;ObjectArrayIterator;true;ObjectArrayIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + ".iterators;ObjectArrayIterator;true;getArray;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + ".iterators;ObjectArrayListIterator;true;ObjectArrayListIterator;;;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + ".iterators;PeekingIterator;true;PeekingIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;PeekingIterator;true;peekingIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".iterators;PeekingIterator;true;peek;;;Argument[-1].Element;ReturnValue;value;manual", + ".iterators;PeekingIterator;true;element;;;Argument[-1].Element;ReturnValue;value;manual", + ".iterators;PermutationIterator;true;PermutationIterator;;;Argument[0].Element;Argument[-1].Element.Element;value;manual", + ".iterators;PushbackIterator;true;PushbackIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;PushbackIterator;true;pushbackIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".iterators;PushbackIterator;true;pushback;;;Argument[0];Argument[-1].Element;value;manual", + ".iterators;ReverseListIterator;true;ReverseListIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;SingletonIterator;true;SingletonIterator;;;Argument[0];Argument[-1].Element;value;manual", + ".iterators;SingletonListIterator;true;SingletonListIterator;;;Argument[0];Argument[-1].Element;value;manual", + ".iterators;SkippingIterator;true;SkippingIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;UniqueFilterIterator;true;UniqueFilterIterator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;UnmodifiableIterator;true;unmodifiableIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".iterators;UnmodifiableListIterator;true;umodifiableListIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".iterators;UnmodifiableMapIterator;true;unmodifiableMapIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".iterators;UnmodifiableMapIterator;true;unmodifiableMapIterator;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".iterators;UnmodifiableOrderedMapIterator;true;unmodifiableOrderedMapIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".iterators;UnmodifiableOrderedMapIterator;true;unmodifiableOrderedMapIterator;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".iterators;ZippingIterator;true;ZippingIterator;(Iterator[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value;manual", + ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator);;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value;manual", + ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator,Iterator);;Argument[0].Element;Argument[-1].Element;value;manual", + ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator,Iterator);;Argument[1].Element;Argument[-1].Element;value;manual", + ".iterators;ZippingIterator;true;ZippingIterator;(Iterator,Iterator,Iterator);;Argument[2].Element;Argument[-1].Element;value;manual" ] } } @@ -428,28 +428,28 @@ private class ApacheListModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedList - ".list;AbstractLinkedList;true;AbstractLinkedList;;;Argument[0].Element;Argument[-1].Element;value", - ".list;AbstractLinkedList;true;getFirst;;;Argument[-1].Element;ReturnValue;value", - ".list;AbstractLinkedList;true;getLast;;;Argument[-1].Element;ReturnValue;value", - ".list;AbstractLinkedList;true;addFirst;;;Argument[0];Argument[-1].Element;value", - ".list;AbstractLinkedList;true;addLast;;;Argument[0];Argument[-1].Element;value", - ".list;AbstractLinkedList;true;removeFirst;;;Argument[-1].Element;ReturnValue;value", - ".list;AbstractLinkedList;true;removeLast;;;Argument[-1].Element;ReturnValue;value", - ".list;AbstractListDecorator;true;AbstractListDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".list;AbstractSerializableListDecorator;true;AbstractSerializableListDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".list;CursorableLinkedList;true;CursorableLinkedList;;;Argument[0].Element;Argument[-1].Element;value", - ".list;CursorableLinkedList;true;cursor;;;Argument[-1].Element;ReturnValue.Element;value", - ".list;FixedSizeList;true;fixedSizeList;;;Argument[0].Element;ReturnValue.Element;value", - ".list;GrowthList;true;growthList;;;Argument[0].Element;ReturnValue.Element;value", - ".list;LazyList;true;lazyList;;;Argument[0].Element;ReturnValue.Element;value", - ".list;NodeCachingLinkedList;true;NodeCachingLinkedList;(Collection);;Argument[0].Element;Argument[-1].Element;value", - ".list;PredicatedList;true;predicatedList;;;Argument[0].Element;ReturnValue.Element;value", - ".list;SetUniqueList;true;setUniqueList;;;Argument[0].Element;ReturnValue.Element;value", - ".list;SetUniqueList;true;asSet;;;Argument[-1].Element;ReturnValue.Element;value", - ".list;TransformedList;true;transformingList;;;Argument[0].Element;ReturnValue.Element;value", - ".list;TreeList;true;TreeList;;;Argument[0].Element;Argument[-1].Element;value", - ".list;UnmodifiableList;true;UnmodifiableList;;;Argument[0].Element;Argument[-1].Element;value", - ".list;UnmodifiableList;true;unmodifiableList;;;Argument[0].Element;ReturnValue.Element;value" + ".list;AbstractLinkedList;true;AbstractLinkedList;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;AbstractLinkedList;true;getFirst;;;Argument[-1].Element;ReturnValue;value;manual", + ".list;AbstractLinkedList;true;getLast;;;Argument[-1].Element;ReturnValue;value;manual", + ".list;AbstractLinkedList;true;addFirst;;;Argument[0];Argument[-1].Element;value;manual", + ".list;AbstractLinkedList;true;addLast;;;Argument[0];Argument[-1].Element;value;manual", + ".list;AbstractLinkedList;true;removeFirst;;;Argument[-1].Element;ReturnValue;value;manual", + ".list;AbstractLinkedList;true;removeLast;;;Argument[-1].Element;ReturnValue;value;manual", + ".list;AbstractListDecorator;true;AbstractListDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;AbstractSerializableListDecorator;true;AbstractSerializableListDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;CursorableLinkedList;true;CursorableLinkedList;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;CursorableLinkedList;true;cursor;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".list;FixedSizeList;true;fixedSizeList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".list;GrowthList;true;growthList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".list;LazyList;true;lazyList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".list;NodeCachingLinkedList;true;NodeCachingLinkedList;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;PredicatedList;true;predicatedList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".list;SetUniqueList;true;setUniqueList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".list;SetUniqueList;true;asSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".list;TransformedList;true;transformingList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".list;TreeList;true;TreeList;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;UnmodifiableList;true;UnmodifiableList;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".list;UnmodifiableList;true;unmodifiableList;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -463,134 +463,134 @@ private class ApacheMapModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for DefaultedMap, LazyMap, TransformedMap, TransformedSortedMap - ".map;AbstractHashedMap;true;AbstractHashedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;AbstractHashedMap;true;AbstractHashedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;AbstractLinkedMap;true;AbstractLinkedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;AbstractLinkedMap;true;AbstractLinkedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;AbstractMapDecorator;true;AbstractMapDecorator;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;AbstractMapDecorator;true;AbstractMapDecorator;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;AbstractMapDecorator;true;decorated;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ".map;AbstractMapDecorator;true;decorated;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".map;AbstractOrderedMapDecorator;true;AbstractOrderedMapDecorator;(OrderedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;AbstractOrderedMapDecorator;true;AbstractOrderedMapDecorator;(OrderedMap);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;AbstractSortedMapDecorator;true;AbstractSortedMapDecorator;(SortedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;AbstractSortedMapDecorator;true;AbstractSortedMapDecorator;(SortedMap);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;CaseInsensitiveMap;true;CaseInsensitiveMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;CaseInsensitiveMap;true;CaseInsensitiveMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[1].MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[1].MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[1].MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[1].MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;CompositeMap;(Map[]);;Argument[0].ArrayElement.MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;CompositeMap;(Map[]);;Argument[0].ArrayElement.MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;CompositeMap;(Map[],MapMutator);;Argument[0].ArrayElement.MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;CompositeMap;(Map[],MapMutator);;Argument[0].ArrayElement.MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;addComposited;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;CompositeMap;true;addComposited;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;CompositeMap;true;removeComposited;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ".map;CompositeMap;true;removeComposited;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".map;CompositeMap;true;removeComposited;;;Argument[0];ReturnValue;value", - ".map;DefaultedMap;true;DefaultedMap;(Object);;Argument[0];Argument[-1].MapValue;value", - ".map;DefaultedMap;true;defaultedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;DefaultedMap;true;defaultedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;DefaultedMap;true;defaultedMap;(Map,Object);;Argument[1];ReturnValue.MapValue;value", - ".map;EntrySetToMapIteratorAdapter;true;EntrySetToMapIteratorAdapter;;;Argument[0].Element.MapKey;Argument[-1].Element;value", - ".map;EntrySetToMapIteratorAdapter;true;EntrySetToMapIteratorAdapter;;;Argument[0].Element.MapValue;Argument[-1].MapValue;value", - ".map;FixedSizeMap;true;fixedSizeMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;FixedSizeMap;true;fixedSizeMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;FixedSizeSortedMap;true;fixedSizeSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;FixedSizeSortedMap;true;fixedSizeSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;Flat3Map;true;Flat3Map;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;Flat3Map;true;Flat3Map;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;HashedMap;true;HashedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;HashedMap;true;HashedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;LazyMap;true;lazyMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;LazyMap;true;lazyMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;LazySortedMap;true;lazySortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;LazySortedMap;true;lazySortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;LinkedMap;true;LinkedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;LinkedMap;true;LinkedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;LinkedMap;true;get;(int);;Argument[-1].MapKey;ReturnValue;value", - ".map;LinkedMap;true;getValue;(int);;Argument[-1].MapValue;ReturnValue;value", - ".map;LinkedMap;true;remove;(int);;Argument[-1].MapValue;ReturnValue;value", - ".map;LinkedMap;true;asList;;;Argument[-1].MapKey;ReturnValue.Element;value", - ".map;ListOrderedMap;true;listOrderedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;ListOrderedMap;true;listOrderedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;ListOrderedMap;true;putAll;;;Argument[1].MapKey;Argument[-1].MapKey;value", - ".map;ListOrderedMap;true;putAll;;;Argument[1].MapValue;Argument[-1].MapValue;value", - ".map;ListOrderedMap;true;keyList;;;Argument[-1].MapKey;ReturnValue.Element;value", - ".map;ListOrderedMap;true;valueList;;;Argument[-1].MapValue;ReturnValue.Element;value", - ".map;ListOrderedMap;true;get;(int);;Argument[-1].MapKey;ReturnValue;value", - ".map;ListOrderedMap;true;getValue;(int);;Argument[-1].MapValue;ReturnValue;value", - ".map;ListOrderedMap;true;setValue;;;Argument[1];Argument[-1].MapValue;value", - ".map;ListOrderedMap;true;put;;;Argument[1];Argument[-1].MapKey;value", - ".map;ListOrderedMap;true;put;;;Argument[2];Argument[-1].MapValue;value", - ".map;ListOrderedMap;true;remove;(int);;Argument[-1].MapValue;ReturnValue;value", - ".map;ListOrderedMap;true;asList;;;Argument[-1].MapKey;ReturnValue.Element;value", - ".map;LRUMap;true;LRUMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;LRUMap;true;LRUMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;LRUMap;true;LRUMap;(Map,boolean);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;LRUMap;true;LRUMap;(Map,boolean);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;LRUMap;true;get;(Object,boolean);;Argument[0].MapValue;ReturnValue;value", - ".map;MultiKeyMap;true;get;;;Argument[-1].MapValue;ReturnValue;value", - ".map;MultiKeyMap;true;put;;;Argument[-1].MapValue;ReturnValue;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object);;Argument[0..1];Argument[-1].MapKey.Element;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object,Object);;Argument[0..2];Argument[-1].MapKey.Element;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object);;Argument[0..3];Argument[-1].MapKey.Element;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object,Object);;Argument[0..4];Argument[-1].MapKey.Element;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object,Object);;Argument[3];Argument[-1].MapValue;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object);;Argument[4];Argument[-1].MapValue;value", - ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object,Object);;Argument[5];Argument[-1].MapValue;value", - ".map;MultiKeyMap;true;removeMultiKey;;;Argument[-1].MapValue;ReturnValue;value", - ".map;MultiValueMap;true;multiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;MultiValueMap;true;multiValueMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value", - ".map;MultiValueMap;true;getCollection;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ".map;MultiValueMap;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value", - ".map;MultiValueMap;true;putAll;(Map);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - ".map;MultiValueMap;true;values;;;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ".map;MultiValueMap;true;putAll;(Object,Collection);;Argument[0];Argument[-1].MapKey;value", - ".map;MultiValueMap;true;putAll;(Object,Collection);;Argument[1].Element;Argument[-1].MapValue.Element;value", - ".map;MultiValueMap;true;iterator;(Object);;Argument[-1].MapValue.Element;ReturnValue.Element;value", - ".map;MultiValueMap;true;iterator;();;Argument[-1].MapKey;ReturnValue.Element.MapKey;value", - ".map;MultiValueMap;true;iterator;();;Argument[-1].MapValue.Element;ReturnValue.Element.MapValue;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(ExpirationPolicy,Map);;Argument[1].MapKey;Argument[-1].MapKey;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(ExpirationPolicy,Map);;Argument[1].MapValue;Argument[-1].MapValue;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,Map);;Argument[1].MapKey;Argument[-1].MapKey;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,Map);;Argument[1].MapValue;Argument[-1].MapValue;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,TimeUnit,Map);;Argument[2].MapKey;Argument[-1].MapKey;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,TimeUnit,Map);;Argument[2].MapValue;Argument[-1].MapValue;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;PassiveExpiringMap;true;PassiveExpiringMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;PredicatedMap;true;predicatedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;PredicatedMap;true;predicatedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;PredicatedSortedMap;true;predicatedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;PredicatedSortedMap;true;predicatedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;SingletonMap;true;SingletonMap;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - ".map;SingletonMap;true;SingletonMap;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - ".map;SingletonMap;true;SingletonMap;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;SingletonMap;true;SingletonMap;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;SingletonMap;true;SingletonMap;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;SingletonMap;true;SingletonMap;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;SingletonMap;true;SingletonMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".map;SingletonMap;true;SingletonMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - ".map;SingletonMap;true;setValue;;;Argument[0];Argument[-1].MapValue;value", - ".map;TransformedMap;true;transformingMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;TransformedMap;true;transformingMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;TransformedSortedMap;true;transformingSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;TransformedSortedMap;true;transformingSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;UnmodifiableEntrySet;true;unmodifiableEntrySet;;;Argument[0].Element.MapKey;ReturnValue.Element.MapKey;value", - ".map;UnmodifiableEntrySet;true;unmodifiableEntrySet;;;Argument[0].Element.MapValue;ReturnValue.Element.MapValue;value", - ".map;UnmodifiableMap;true;unmodifiableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;UnmodifiableMap;true;unmodifiableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;UnmodifiableOrderedMap;true;unmodifiableOrderedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;UnmodifiableOrderedMap;true;unmodifiableOrderedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ".map;UnmodifiableSortedMap;true;unmodifiableSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".map;UnmodifiableSortedMap;true;unmodifiableSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ".map;AbstractHashedMap;true;AbstractHashedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;AbstractHashedMap;true;AbstractHashedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;AbstractLinkedMap;true;AbstractLinkedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;AbstractLinkedMap;true;AbstractLinkedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;AbstractMapDecorator;true;AbstractMapDecorator;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;AbstractMapDecorator;true;AbstractMapDecorator;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;AbstractMapDecorator;true;decorated;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ".map;AbstractMapDecorator;true;decorated;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".map;AbstractOrderedMapDecorator;true;AbstractOrderedMapDecorator;(OrderedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;AbstractOrderedMapDecorator;true;AbstractOrderedMapDecorator;(OrderedMap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;AbstractSortedMapDecorator;true;AbstractSortedMapDecorator;(SortedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;AbstractSortedMapDecorator;true;AbstractSortedMapDecorator;(SortedMap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;CaseInsensitiveMap;true;CaseInsensitiveMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;CaseInsensitiveMap;true;CaseInsensitiveMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[1].MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map);;Argument[1].MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[1].MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map,Map,MapMutator);;Argument[1].MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map[]);;Argument[0].ArrayElement.MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map[]);;Argument[0].ArrayElement.MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map[],MapMutator);;Argument[0].ArrayElement.MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;CompositeMap;(Map[],MapMutator);;Argument[0].ArrayElement.MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;addComposited;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;CompositeMap;true;addComposited;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;CompositeMap;true;removeComposited;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ".map;CompositeMap;true;removeComposited;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".map;CompositeMap;true;removeComposited;;;Argument[0];ReturnValue;value;manual", + ".map;DefaultedMap;true;DefaultedMap;(Object);;Argument[0];Argument[-1].MapValue;value;manual", + ".map;DefaultedMap;true;defaultedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;DefaultedMap;true;defaultedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;DefaultedMap;true;defaultedMap;(Map,Object);;Argument[1];ReturnValue.MapValue;value;manual", + ".map;EntrySetToMapIteratorAdapter;true;EntrySetToMapIteratorAdapter;;;Argument[0].Element.MapKey;Argument[-1].Element;value;manual", + ".map;EntrySetToMapIteratorAdapter;true;EntrySetToMapIteratorAdapter;;;Argument[0].Element.MapValue;Argument[-1].MapValue;value;manual", + ".map;FixedSizeMap;true;fixedSizeMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;FixedSizeMap;true;fixedSizeMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;FixedSizeSortedMap;true;fixedSizeSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;FixedSizeSortedMap;true;fixedSizeSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;Flat3Map;true;Flat3Map;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;Flat3Map;true;Flat3Map;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;HashedMap;true;HashedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;HashedMap;true;HashedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;LazyMap;true;lazyMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;LazyMap;true;lazyMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;LazySortedMap;true;lazySortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;LazySortedMap;true;lazySortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;LinkedMap;true;LinkedMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;LinkedMap;true;LinkedMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;LinkedMap;true;get;(int);;Argument[-1].MapKey;ReturnValue;value;manual", + ".map;LinkedMap;true;getValue;(int);;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;LinkedMap;true;remove;(int);;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;LinkedMap;true;asList;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ".map;ListOrderedMap;true;listOrderedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;ListOrderedMap;true;listOrderedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;ListOrderedMap;true;putAll;;;Argument[1].MapKey;Argument[-1].MapKey;value;manual", + ".map;ListOrderedMap;true;putAll;;;Argument[1].MapValue;Argument[-1].MapValue;value;manual", + ".map;ListOrderedMap;true;keyList;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ".map;ListOrderedMap;true;valueList;;;Argument[-1].MapValue;ReturnValue.Element;value;manual", + ".map;ListOrderedMap;true;get;(int);;Argument[-1].MapKey;ReturnValue;value;manual", + ".map;ListOrderedMap;true;getValue;(int);;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;ListOrderedMap;true;setValue;;;Argument[1];Argument[-1].MapValue;value;manual", + ".map;ListOrderedMap;true;put;;;Argument[1];Argument[-1].MapKey;value;manual", + ".map;ListOrderedMap;true;put;;;Argument[2];Argument[-1].MapValue;value;manual", + ".map;ListOrderedMap;true;remove;(int);;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;ListOrderedMap;true;asList;;;Argument[-1].MapKey;ReturnValue.Element;value;manual", + ".map;LRUMap;true;LRUMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;LRUMap;true;LRUMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;LRUMap;true;LRUMap;(Map,boolean);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;LRUMap;true;LRUMap;(Map,boolean);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;LRUMap;true;get;(Object,boolean);;Argument[0].MapValue;ReturnValue;value;manual", + ".map;MultiKeyMap;true;get;;;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;MultiKeyMap;true;put;;;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object);;Argument[0..1];Argument[-1].MapKey.Element;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object,Object);;Argument[0..2];Argument[-1].MapKey.Element;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object);;Argument[0..3];Argument[-1].MapKey.Element;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object,Object);;Argument[0..4];Argument[-1].MapKey.Element;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object,Object);;Argument[3];Argument[-1].MapValue;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object);;Argument[4];Argument[-1].MapValue;value;manual", + ".map;MultiKeyMap;true;put;(Object,Object,Object,Object,Object,Object);;Argument[5];Argument[-1].MapValue;value;manual", + ".map;MultiKeyMap;true;removeMultiKey;;;Argument[-1].MapValue;ReturnValue;value;manual", + ".map;MultiValueMap;true;multiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;MultiValueMap;true;multiValueMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value;manual", + ".map;MultiValueMap;true;getCollection;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ".map;MultiValueMap;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value;manual", + ".map;MultiValueMap;true;putAll;(Map);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + ".map;MultiValueMap;true;values;;;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ".map;MultiValueMap;true;putAll;(Object,Collection);;Argument[0];Argument[-1].MapKey;value;manual", + ".map;MultiValueMap;true;putAll;(Object,Collection);;Argument[1].Element;Argument[-1].MapValue.Element;value;manual", + ".map;MultiValueMap;true;iterator;(Object);;Argument[-1].MapValue.Element;ReturnValue.Element;value;manual", + ".map;MultiValueMap;true;iterator;();;Argument[-1].MapKey;ReturnValue.Element.MapKey;value;manual", + ".map;MultiValueMap;true;iterator;();;Argument[-1].MapValue.Element;ReturnValue.Element.MapValue;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(ExpirationPolicy,Map);;Argument[1].MapKey;Argument[-1].MapKey;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(ExpirationPolicy,Map);;Argument[1].MapValue;Argument[-1].MapValue;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,Map);;Argument[1].MapKey;Argument[-1].MapKey;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,Map);;Argument[1].MapValue;Argument[-1].MapValue;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,TimeUnit,Map);;Argument[2].MapKey;Argument[-1].MapKey;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(long,TimeUnit,Map);;Argument[2].MapValue;Argument[-1].MapValue;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;PassiveExpiringMap;true;PassiveExpiringMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;PredicatedMap;true;predicatedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;PredicatedMap;true;predicatedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;PredicatedSortedMap;true;predicatedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;PredicatedSortedMap;true;predicatedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;SingletonMap;true;SingletonMap;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + ".map;SingletonMap;true;SingletonMap;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + ".map;SingletonMap;true;SingletonMap;(KeyValue);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;SingletonMap;true;SingletonMap;(KeyValue);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;SingletonMap;true;SingletonMap;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;SingletonMap;true;SingletonMap;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;SingletonMap;true;SingletonMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".map;SingletonMap;true;SingletonMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".map;SingletonMap;true;setValue;;;Argument[0];Argument[-1].MapValue;value;manual", + ".map;TransformedMap;true;transformingMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;TransformedMap;true;transformingMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;TransformedSortedMap;true;transformingSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;TransformedSortedMap;true;transformingSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;UnmodifiableEntrySet;true;unmodifiableEntrySet;;;Argument[0].Element.MapKey;ReturnValue.Element.MapKey;value;manual", + ".map;UnmodifiableEntrySet;true;unmodifiableEntrySet;;;Argument[0].Element.MapValue;ReturnValue.Element.MapValue;value;manual", + ".map;UnmodifiableMap;true;unmodifiableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;UnmodifiableMap;true;unmodifiableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;UnmodifiableOrderedMap;true;unmodifiableOrderedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;UnmodifiableOrderedMap;true;unmodifiableOrderedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ".map;UnmodifiableSortedMap;true;unmodifiableSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".map;UnmodifiableSortedMap;true;unmodifiableSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -604,18 +604,18 @@ private class ApacheMultiMapModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedMultiValuedMap - ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(MultiValuedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(MultiValuedMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value", - ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(MultiValuedMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(MultiValuedMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value", - ".multimap;TransformedMultiValuedMap;true;transformingMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".multimap;TransformedMultiValuedMap;true;transformingMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value", - ".multimap;UnmodifiableMultiValuedMap;true;unmodifiableMultiValuedMap;(MultiValuedMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - ".multimap;UnmodifiableMultiValuedMap;true;unmodifiableMultiValuedMap;(MultiValuedMap);;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value" + ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(MultiValuedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(MultiValuedMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".multimap;ArrayListValuedHashMap;true;ArrayListValuedHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value;manual", + ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(MultiValuedMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(MultiValuedMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".multimap;HashSetValuedHashMap;true;HashSetValuedHashMap;(Map);;Argument[0].MapValue;Argument[-1].MapValue.Element;value;manual", + ".multimap;TransformedMultiValuedMap;true;transformingMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".multimap;TransformedMultiValuedMap;true;transformingMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value;manual", + ".multimap;UnmodifiableMultiValuedMap;true;unmodifiableMultiValuedMap;(MultiValuedMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".multimap;UnmodifiableMultiValuedMap;true;unmodifiableMultiValuedMap;(MultiValuedMap);;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value;manual" ] } } @@ -628,10 +628,10 @@ private class ApacheMultiSetModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ".multiset;HashMultiSet;true;HashMultiSet;;;Argument[0].Element;Argument[-1].Element;value", - ".multiset;PredicatedMultiSet;true;predicatedMultiSet;;;Argument[0].Element;ReturnValue.Element;value", - ".multiset;SynchronizedMultiSet;true;synchronizedMultiSet;;;Argument[0].Element;ReturnValue.Element;value", - ".multiset;UnmodifiableMultiSet;true;unmodifiableMultiSet;;;Argument[0].Element;ReturnValue.Element;value" + ".multiset;HashMultiSet;true;HashMultiSet;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".multiset;PredicatedMultiSet;true;predicatedMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".multiset;SynchronizedMultiSet;true;synchronizedMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".multiset;UnmodifiableMultiSet;true;unmodifiableMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -644,14 +644,14 @@ private class ApachePropertiesModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ".properties;AbstractPropertiesFactory;true;load;(ClassLoader,String);;Argument[1];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(File);;Argument[0];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(InputStream);;Argument[0];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(Path);;Argument[0];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(Reader);;Argument[0];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(String);;Argument[0];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(URI);;Argument[0];ReturnValue;taint", - ".properties;AbstractPropertiesFactory;true;load;(URL);;Argument[0];ReturnValue;taint" + ".properties;AbstractPropertiesFactory;true;load;(ClassLoader,String);;Argument[1];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(File);;Argument[0];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(InputStream);;Argument[0];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(Path);;Argument[0];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(Reader);;Argument[0];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(String);;Argument[0];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(URI);;Argument[0];ReturnValue;taint;manual", + ".properties;AbstractPropertiesFactory;true;load;(URL);;Argument[0];ReturnValue;taint;manual" ] } } @@ -665,12 +665,12 @@ private class ApacheQueueModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedQueue - ".queue;CircularFifoQueue;true;CircularFifoQueue;(Collection);;Argument[0].Element;Argument[-1].Element;value", - ".queue;CircularFifoQueue;true;get;;;Argument[-1].Element;ReturnValue;value", - ".queue;PredicatedQueue;true;predicatedQueue;;;Argument[0].Element;ReturnValue.Element;value", - ".queue;SynchronizedQueue;true;synchronizedQueue;;;Argument[0].Element;ReturnValue.Element;value", - ".queue;TransformedQueue;true;transformingQueue;;;Argument[0].Element;ReturnValue.Element;value", - ".queue;UnmodifiableQueue;true;unmodifiableQueue;;;Argument[0].Element;ReturnValue.Element;value" + ".queue;CircularFifoQueue;true;CircularFifoQueue;(Collection);;Argument[0].Element;Argument[-1].Element;value;manual", + ".queue;CircularFifoQueue;true;get;;;Argument[-1].Element;ReturnValue;value;manual", + ".queue;PredicatedQueue;true;predicatedQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".queue;SynchronizedQueue;true;synchronizedQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".queue;TransformedQueue;true;transformingQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".queue;UnmodifiableQueue;true;unmodifiableQueue;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -684,37 +684,37 @@ private class ApacheSetModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedNavigableSet - ".set;AbstractNavigableSetDecorator;true;AbstractNavigableSetDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".set;AbstractSetDecorator;true;AbstractSetDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".set;AbstractSortedSetDecorator;true;AbstractSortedSetDecorator;;;Argument[0].Element;Argument[-1].Element;value", - ".set;CompositeSet$SetMutator;true;add;;;Argument[2];Argument[0].Element;value", - ".set;CompositeSet$SetMutator;true;add;;;Argument[2];Argument[1].Element.Element;value", - ".set;CompositeSet$SetMutator;true;addAll;;;Argument[2].Element;Argument[0].Element;value", - ".set;CompositeSet$SetMutator;true;addAll;;;Argument[2].Element;Argument[1].Element.Element;value", - ".set;CompositeSet;true;CompositeSet;(Set);;Argument[0].Element;Argument[-1].Element;value", - ".set;CompositeSet;true;CompositeSet;(Set[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value", - ".set;CompositeSet;true;addComposited;(Set);;Argument[0].Element;Argument[-1].Element;value", - ".set;CompositeSet;true;addComposited;(Set,Set);;Argument[0].Element;Argument[-1].Element;value", - ".set;CompositeSet;true;addComposited;(Set,Set);;Argument[1].Element;Argument[-1].Element;value", - ".set;CompositeSet;true;addComposited;(Set[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value", - ".set;CompositeSet;true;toSet;;;Argument[-1].Element;ReturnValue.Element;value", - ".set;CompositeSet;true;getSets;;;Argument[-1].Element;ReturnValue.Element.Element;value", - ".set;ListOrderedSet;true;listOrderedSet;(Set);;Argument[0].Element;ReturnValue.Element;value", - ".set;ListOrderedSet;true;listOrderedSet;(List);;Argument[0].Element;ReturnValue.Element;value", - ".set;ListOrderedSet;true;asList;;;Argument[-1].Element;ReturnValue.Element;value", - ".set;ListOrderedSet;true;get;;;Argument[-1].Element;ReturnValue;value", - ".set;ListOrderedSet;true;add;;;Argument[1];Argument[-1].Element;value", - ".set;ListOrderedSet;true;addAll;;;Argument[1].Element;Argument[-1].Element;value", - ".set;MapBackedSet;true;mapBackedSet;;;Argument[0].MapKey;ReturnValue.Element;value", - ".set;PredicatedNavigableSet;true;predicatedNavigableSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;PredicatedSet;true;predicatedSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;PredicatedSortedSet;true;predicatedSortedSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;TransformedNavigableSet;true;transformingNavigableSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;TransformedSet;true;transformingSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;TransformedSortedSet;true;transformingSortedSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;UnmodifiableNavigableSet;true;unmodifiableNavigableSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;UnmodifiableSet;true;unmodifiableSet;;;Argument[0].Element;ReturnValue.Element;value", - ".set;UnmodifiableSortedSet;true;unmodifiableSortedSet;;;Argument[0].Element;ReturnValue.Element;value" + ".set;AbstractNavigableSetDecorator;true;AbstractNavigableSetDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".set;AbstractSetDecorator;true;AbstractSetDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".set;AbstractSortedSetDecorator;true;AbstractSortedSetDecorator;;;Argument[0].Element;Argument[-1].Element;value;manual", + ".set;CompositeSet$SetMutator;true;add;;;Argument[2];Argument[0].Element;value;manual", + ".set;CompositeSet$SetMutator;true;add;;;Argument[2];Argument[1].Element.Element;value;manual", + ".set;CompositeSet$SetMutator;true;addAll;;;Argument[2].Element;Argument[0].Element;value;manual", + ".set;CompositeSet$SetMutator;true;addAll;;;Argument[2].Element;Argument[1].Element.Element;value;manual", + ".set;CompositeSet;true;CompositeSet;(Set);;Argument[0].Element;Argument[-1].Element;value;manual", + ".set;CompositeSet;true;CompositeSet;(Set[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value;manual", + ".set;CompositeSet;true;addComposited;(Set);;Argument[0].Element;Argument[-1].Element;value;manual", + ".set;CompositeSet;true;addComposited;(Set,Set);;Argument[0].Element;Argument[-1].Element;value;manual", + ".set;CompositeSet;true;addComposited;(Set,Set);;Argument[1].Element;Argument[-1].Element;value;manual", + ".set;CompositeSet;true;addComposited;(Set[]);;Argument[0].ArrayElement.Element;Argument[-1].Element;value;manual", + ".set;CompositeSet;true;toSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".set;CompositeSet;true;getSets;;;Argument[-1].Element;ReturnValue.Element.Element;value;manual", + ".set;ListOrderedSet;true;listOrderedSet;(Set);;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;ListOrderedSet;true;listOrderedSet;(List);;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;ListOrderedSet;true;asList;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ".set;ListOrderedSet;true;get;;;Argument[-1].Element;ReturnValue;value;manual", + ".set;ListOrderedSet;true;add;;;Argument[1];Argument[-1].Element;value;manual", + ".set;ListOrderedSet;true;addAll;;;Argument[1].Element;Argument[-1].Element;value;manual", + ".set;MapBackedSet;true;mapBackedSet;;;Argument[0].MapKey;ReturnValue.Element;value;manual", + ".set;PredicatedNavigableSet;true;predicatedNavigableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;PredicatedSet;true;predicatedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;PredicatedSortedSet;true;predicatedSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;TransformedNavigableSet;true;transformingNavigableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;TransformedSet;true;transformingSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;TransformedSortedSet;true;transformingSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;UnmodifiableNavigableSet;true;unmodifiableNavigableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;UnmodifiableSet;true;unmodifiableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ".set;UnmodifiableSortedSet;true;unmodifiableSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -728,10 +728,10 @@ private class ApacheSplitMapModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedSplitMap - ".splitmap;AbstractIterableGetMapDecorator;true;AbstractIterableGetMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".splitmap;AbstractIterableGetMapDecorator;true;AbstractIterableGetMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".splitmap;TransformedSplitMap;true;transformingMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".splitmap;TransformedSplitMap;true;transformingMap;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ".splitmap;AbstractIterableGetMapDecorator;true;AbstractIterableGetMapDecorator;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".splitmap;AbstractIterableGetMapDecorator;true;AbstractIterableGetMapDecorator;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".splitmap;TransformedSplitMap;true;transformingMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".splitmap;TransformedSplitMap;true;transformingMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -745,14 +745,14 @@ private class ApacheTrieModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for TransformedSplitMap - ".trie;PatriciaTrie;true;PatriciaTrie;;;Argument[0].MapKey;Argument[-1].MapKey;value", - ".trie;PatriciaTrie;true;PatriciaTrie;;;Argument[0].MapValue;Argument[-1].MapValue;value", - ".trie;AbstractPatriciaTrie;true;select;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - ".trie;AbstractPatriciaTrie;true;select;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - ".trie;AbstractPatriciaTrie;true;selectKey;;;Argument[-1].MapKey;ReturnValue;value", - ".trie;AbstractPatriciaTrie;true;selectValue;;;Argument[-1].MapValue;ReturnValue;value", - ".trie;UnmodifiableTrie;true;unmodifiableTrie;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ".trie;UnmodifiableTrie;true;unmodifiableTrie;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ".trie;PatriciaTrie;true;PatriciaTrie;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + ".trie;PatriciaTrie;true;PatriciaTrie;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + ".trie;AbstractPatriciaTrie;true;select;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + ".trie;AbstractPatriciaTrie;true;select;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + ".trie;AbstractPatriciaTrie;true;selectKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + ".trie;AbstractPatriciaTrie;true;selectValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + ".trie;UnmodifiableTrie;true;unmodifiableTrie;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ".trie;UnmodifiableTrie;true;unmodifiableTrie;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -766,65 +766,65 @@ private class ApacheMapUtilsModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have more models for populateMap - ";MapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value", - ";MapUtils;true;fixedSizeMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;fixedSizeMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;fixedSizeSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;fixedSizeSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;getMap;;;Argument[0].MapValue;ReturnValue;value", - ";MapUtils;true;getMap;;;Argument[2];ReturnValue;value", - ";MapUtils;true;getObject;;;Argument[0].MapValue;ReturnValue;value", - ";MapUtils;true;getObject;;;Argument[2];ReturnValue;value", - ";MapUtils;true;getString;;;Argument[0].MapValue;ReturnValue;value", - ";MapUtils;true;getString;;;Argument[2];ReturnValue;value", - ";MapUtils;true;invertMap;;;Argument[0].MapKey;ReturnValue.MapValue;value", - ";MapUtils;true;invertMap;;;Argument[0].MapValue;ReturnValue.MapKey;value", - ";MapUtils;true;iterableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;iterableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;iterableSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;iterableSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;lazyMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;lazyMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;lazySortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;lazySortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;multiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;multiValueMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;orderedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;orderedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;populateMap;(Map,Iterable,Transformer);;Argument[1].Element;Argument[0].MapValue;value", - ";MapUtils;true;populateMap;(MultiMap,Iterable,Transformer);;Argument[1].Element;Argument[0].MapValue.Element;value", - ";MapUtils;true;predicatedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;predicatedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;predicatedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;predicatedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement;Argument[0].MapKey;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement;ReturnValue.MapKey;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement;Argument[0].MapValue;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement;ReturnValue.MapValue;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;Argument[0].MapKey;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;ReturnValue.MapKey;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;Argument[0].MapValue;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;ReturnValue.MapValue;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapKey;Argument[0].MapKey;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapValue;Argument[0].MapValue;value", - ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;safeAddToMap;;;Argument[1];Argument[0].MapKey;value", - ";MapUtils;true;safeAddToMap;;;Argument[2];Argument[0].MapValue;value", - ";MapUtils;true;synchronizedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;synchronizedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;synchronizedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;synchronizedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;toMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;toMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;transformedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;transformedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;transformedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;transformedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;unmodifiableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;unmodifiableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";MapUtils;true;unmodifiableSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MapUtils;true;unmodifiableSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ";MapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value;manual", + ";MapUtils;true;fixedSizeMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;fixedSizeMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;fixedSizeSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;fixedSizeSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;getMap;;;Argument[0].MapValue;ReturnValue;value;manual", + ";MapUtils;true;getMap;;;Argument[2];ReturnValue;value;manual", + ";MapUtils;true;getObject;;;Argument[0].MapValue;ReturnValue;value;manual", + ";MapUtils;true;getObject;;;Argument[2];ReturnValue;value;manual", + ";MapUtils;true;getString;;;Argument[0].MapValue;ReturnValue;value;manual", + ";MapUtils;true;getString;;;Argument[2];ReturnValue;value;manual", + ";MapUtils;true;invertMap;;;Argument[0].MapKey;ReturnValue.MapValue;value;manual", + ";MapUtils;true;invertMap;;;Argument[0].MapValue;ReturnValue.MapKey;value;manual", + ";MapUtils;true;iterableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;iterableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;iterableSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;iterableSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;lazyMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;lazyMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;lazySortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;lazySortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;multiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;multiValueMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;orderedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;orderedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;populateMap;(Map,Iterable,Transformer);;Argument[1].Element;Argument[0].MapValue;value;manual", + ";MapUtils;true;populateMap;(MultiMap,Iterable,Transformer);;Argument[1].Element;Argument[0].MapValue.Element;value;manual", + ";MapUtils;true;predicatedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;predicatedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;predicatedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;predicatedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement;Argument[0].MapKey;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement;ReturnValue.MapKey;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement;Argument[0].MapValue;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement;ReturnValue.MapValue;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;Argument[0].MapKey;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;ReturnValue.MapKey;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;Argument[0].MapValue;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.ArrayElement;ReturnValue.MapValue;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapKey;Argument[0].MapKey;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapValue;Argument[0].MapValue;value;manual", + ";MapUtils;true;putAll;;;Argument[1].ArrayElement.MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;safeAddToMap;;;Argument[1];Argument[0].MapKey;value;manual", + ";MapUtils;true;safeAddToMap;;;Argument[2];Argument[0].MapValue;value;manual", + ";MapUtils;true;synchronizedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;synchronizedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;synchronizedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;synchronizedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;toMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;toMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;transformedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;transformedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;transformedSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;transformedSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;unmodifiableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;unmodifiableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";MapUtils;true;unmodifiableSortedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MapUtils;true;unmodifiableSortedMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -838,49 +838,49 @@ private class ApacheCollectionUtilsModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have a model for collect, forAllButLastDo, forAllDo, transform - ";CollectionUtils;true;addAll;(Collection,Object[]);;Argument[1].ArrayElement;Argument[0].Element;value", - ";CollectionUtils;true;addAll;(Collection,Enumeration);;Argument[1].Element;Argument[0].Element;value", - ";CollectionUtils;true;addAll;(Collection,Iterable);;Argument[1].Element;Argument[0].Element;value", - ";CollectionUtils;true;addAll;(Collection,Iterator);;Argument[1].Element;Argument[0].Element;value", - ";CollectionUtils;true;addIgnoreNull;;;Argument[1];Argument[0].Element;value", - ";CollectionUtils;true;collate;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;collate;;;Argument[1].Element;ReturnValue.Element;value", - ";CollectionUtils;true;disjunction;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;disjunction;;;Argument[1].Element;ReturnValue.Element;value", - ";CollectionUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value", - ";CollectionUtils;true;extractSingleton;;;Argument[0].Element;ReturnValue;value", - ";CollectionUtils;true;find;;;Argument[0].Element;ReturnValue;value", - ";CollectionUtils;true;get;(Iterator,int);;Argument[0].Element;ReturnValue;value", - ";CollectionUtils;true;get;(Iterable,int);;Argument[0].Element;ReturnValue;value", - ";CollectionUtils;true;get;(Map,int);;Argument[0].MapKey;ReturnValue.MapKey;value", - ";CollectionUtils;true;get;(Map,int);;Argument[0].MapValue;ReturnValue.MapValue;value", - ";CollectionUtils;true;get;(Object,int);;Argument[0].ArrayElement;ReturnValue;value", - ";CollectionUtils;true;get;(Object,int);;Argument[0].Element;ReturnValue;value", - ";CollectionUtils;true;get;(Object,int);;Argument[0].MapKey;ReturnValue.MapKey;value", - ";CollectionUtils;true;get;(Object,int);;Argument[0].MapValue;ReturnValue.MapValue;value", - ";CollectionUtils;true;getCardinalityMap;;;Argument[0].Element;ReturnValue.MapKey;value", - ";CollectionUtils;true;intersection;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;intersection;;;Argument[1].Element;ReturnValue.Element;value", - ";CollectionUtils;true;permutations;;;Argument[0].Element;ReturnValue.Element.Element;value", - ";CollectionUtils;true;predicatedCollection;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;removeAll;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;retainAll;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;select;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;select;(Iterable,Predicate,Collection);;Argument[0].Element;Argument[2].Element;value", - ";CollectionUtils;true;select;(Iterable,Predicate,Collection);;Argument[2];ReturnValue;value", - ";CollectionUtils;true;select;(Iterable,Predicate,Collection,Collection);;Argument[0].Element;Argument[2].Element;value", - ";CollectionUtils;true;select;(Iterable,Predicate,Collection,Collection);;Argument[0].Element;Argument[3].Element;value", - ";CollectionUtils;true;select;(Iterable,Predicate,Collection,Collection);;Argument[2];ReturnValue;value", - ";CollectionUtils;true;selectRejected;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;selectRejected;(Iterable,Predicate,Collection);;Argument[0].Element;Argument[2].Element;value", - ";CollectionUtils;true;selectRejected;(Iterable,Predicate,Collection);;Argument[2];ReturnValue;value", - ";CollectionUtils;true;subtract;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;synchronizedCollection;;;Argument[0].Element;ReturnValue.Element;value", + ";CollectionUtils;true;addAll;(Collection,Object[]);;Argument[1].ArrayElement;Argument[0].Element;value;manual", + ";CollectionUtils;true;addAll;(Collection,Enumeration);;Argument[1].Element;Argument[0].Element;value;manual", + ";CollectionUtils;true;addAll;(Collection,Iterable);;Argument[1].Element;Argument[0].Element;value;manual", + ";CollectionUtils;true;addAll;(Collection,Iterator);;Argument[1].Element;Argument[0].Element;value;manual", + ";CollectionUtils;true;addIgnoreNull;;;Argument[1];Argument[0].Element;value;manual", + ";CollectionUtils;true;collate;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;collate;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;disjunction;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;disjunction;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value;manual", + ";CollectionUtils;true;extractSingleton;;;Argument[0].Element;ReturnValue;value;manual", + ";CollectionUtils;true;find;;;Argument[0].Element;ReturnValue;value;manual", + ";CollectionUtils;true;get;(Iterator,int);;Argument[0].Element;ReturnValue;value;manual", + ";CollectionUtils;true;get;(Iterable,int);;Argument[0].Element;ReturnValue;value;manual", + ";CollectionUtils;true;get;(Map,int);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";CollectionUtils;true;get;(Map,int);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";CollectionUtils;true;get;(Object,int);;Argument[0].ArrayElement;ReturnValue;value;manual", + ";CollectionUtils;true;get;(Object,int);;Argument[0].Element;ReturnValue;value;manual", + ";CollectionUtils;true;get;(Object,int);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";CollectionUtils;true;get;(Object,int);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";CollectionUtils;true;getCardinalityMap;;;Argument[0].Element;ReturnValue.MapKey;value;manual", + ";CollectionUtils;true;intersection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;intersection;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;permutations;;;Argument[0].Element;ReturnValue.Element.Element;value;manual", + ";CollectionUtils;true;predicatedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;removeAll;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;retainAll;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;select;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;select;(Iterable,Predicate,Collection);;Argument[0].Element;Argument[2].Element;value;manual", + ";CollectionUtils;true;select;(Iterable,Predicate,Collection);;Argument[2];ReturnValue;value;manual", + ";CollectionUtils;true;select;(Iterable,Predicate,Collection,Collection);;Argument[0].Element;Argument[2].Element;value;manual", + ";CollectionUtils;true;select;(Iterable,Predicate,Collection,Collection);;Argument[0].Element;Argument[3].Element;value;manual", + ";CollectionUtils;true;select;(Iterable,Predicate,Collection,Collection);;Argument[2];ReturnValue;value;manual", + ";CollectionUtils;true;selectRejected;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;selectRejected;(Iterable,Predicate,Collection);;Argument[0].Element;Argument[2].Element;value;manual", + ";CollectionUtils;true;selectRejected;(Iterable,Predicate,Collection);;Argument[2];ReturnValue;value;manual", + ";CollectionUtils;true;subtract;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;synchronizedCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", // Note that `CollectionUtils.transformingCollection` does not transform existing list elements - ";CollectionUtils;true;transformingCollection;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;union;;;Argument[0].Element;ReturnValue.Element;value", - ";CollectionUtils;true;union;;;Argument[1].Element;ReturnValue.Element;value", - ";CollectionUtils;true;unmodifiableCollection;;;Argument[0].Element;ReturnValue.Element;value" + ";CollectionUtils;true;transformingCollection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;union;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;union;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";CollectionUtils;true;unmodifiableCollection;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -893,35 +893,35 @@ private class ApacheListUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";ListUtils;true;defaultIfNull;;;Argument[0];ReturnValue;value", - ";ListUtils;true;defaultIfNull;;;Argument[1];ReturnValue;value", - ";ListUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value", - ";ListUtils;true;fixedSizeList;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;intersection;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;intersection;;;Argument[1].Element;ReturnValue.Element;value", + ";ListUtils;true;defaultIfNull;;;Argument[0];ReturnValue;value;manual", + ";ListUtils;true;defaultIfNull;;;Argument[1];ReturnValue;value;manual", + ";ListUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value;manual", + ";ListUtils;true;fixedSizeList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;intersection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;intersection;;;Argument[1].Element;ReturnValue.Element;value;manual", // Note that `ListUtils.lazyList` does not transform existing list elements - ";ListUtils;true;lazyList;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;longestCommonSubsequence;(CharSequence,CharSequence);;Argument[0];ReturnValue;taint", - ";ListUtils;true;longestCommonSubsequence;(CharSequence,CharSequence);;Argument[1];ReturnValue;taint", - ";ListUtils;true;longestCommonSubsequence;(List,List);;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;longestCommonSubsequence;(List,List);;Argument[1].Element;ReturnValue.Element;value", - ";ListUtils;true;longestCommonSubsequence;(List,List,Equator);;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;longestCommonSubsequence;(List,List,Equator);;Argument[1].Element;ReturnValue.Element;value", - ";ListUtils;true;partition;;;Argument[0].Element;ReturnValue.Element.Element;value", - ";ListUtils;true;predicatedList;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;removeAll;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;retainAll;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;select;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;selectRejected;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;subtract;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;sum;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;sum;;;Argument[1].Element;ReturnValue.Element;value", - ";ListUtils;true;synchronizedList;;;Argument[0].Element;ReturnValue.Element;value", + ";ListUtils;true;lazyList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;longestCommonSubsequence;(CharSequence,CharSequence);;Argument[0];ReturnValue;taint;manual", + ";ListUtils;true;longestCommonSubsequence;(CharSequence,CharSequence);;Argument[1];ReturnValue;taint;manual", + ";ListUtils;true;longestCommonSubsequence;(List,List);;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;longestCommonSubsequence;(List,List);;Argument[1].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;longestCommonSubsequence;(List,List,Equator);;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;longestCommonSubsequence;(List,List,Equator);;Argument[1].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;partition;;;Argument[0].Element;ReturnValue.Element.Element;value;manual", + ";ListUtils;true;predicatedList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;removeAll;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;retainAll;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;select;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;selectRejected;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;subtract;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;sum;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;sum;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;synchronizedList;;;Argument[0].Element;ReturnValue.Element;value;manual", // Note that `ListUtils.transformedList` does not transform existing list elements - ";ListUtils;true;transformedList;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;union;;;Argument[0].Element;ReturnValue.Element;value", - ";ListUtils;true;union;;;Argument[1].Element;ReturnValue.Element;value", - ";ListUtils;true;unmodifiableList;;;Argument[0].Element;ReturnValue.Element;value" + ";ListUtils;true;transformedList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;union;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;union;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";ListUtils;true;unmodifiableList;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -935,54 +935,54 @@ private class ApacheIteratorUtilsModel extends SummaryModelCsv { ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ // Note that when lambdas are supported we should have a model for forEach, forEachButLast, transformedIterator - ";IteratorUtils;true;arrayIterator;;;Argument[0].ArrayElement;ReturnValue.Element;value", - ";IteratorUtils;true;arrayListIterator;;;Argument[0].ArrayElement;ReturnValue.Element;value", - ";IteratorUtils;true;asEnumeration;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;asIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;asIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;asMultipleUseIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;boundedIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;chainedIterator;(Collection);;Argument[0].Element.Element;ReturnValue.Element;value", - ";IteratorUtils;true;chainedIterator;(Iterator[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value", - ";IteratorUtils;true;chainedIterator;(Iterator,Iterator);;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;chainedIterator;(Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value", - ";IteratorUtils;true;collatedIterator;(Comparator,Collection);;Argument[1].Element.Element;ReturnValue.Element;value", - ";IteratorUtils;true;collatedIterator;(Comparator,Iterator[]);;Argument[1].ArrayElement.Element;ReturnValue.Element;value", - ";IteratorUtils;true;collatedIterator;(Comparator,Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value", - ";IteratorUtils;true;collatedIterator;(Comparator,Iterator,Iterator);;Argument[2].Element;ReturnValue.Element;value", - ";IteratorUtils;true;filteredIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;filteredListIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;find;;;Argument[0].Element;ReturnValue;value", - ";IteratorUtils;true;first;;;Argument[0].Element;ReturnValue;value", - ";IteratorUtils;true;forEachButLast;;;Argument[0].Element;ReturnValue;value", - ";IteratorUtils;true;get;;;Argument[0].Element;ReturnValue;value", - ";IteratorUtils;true;getIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;getIterator;;;Argument[0].ArrayElement;ReturnValue.Element;value", - ";IteratorUtils;true;getIterator;;;Argument[0];ReturnValue.Element;value", - ";IteratorUtils;true;getIterator;;;Argument[0].MapValue;ReturnValue.Element;value", - ";IteratorUtils;true;loopingIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;loopingListIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;peekingIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;pushbackIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;singletonIterator;;;Argument[0];ReturnValue.Element;value", - ";IteratorUtils;true;singletonListIterator;;;Argument[0];ReturnValue.Element;value", - ";IteratorUtils;true;skippingIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;toArray;;;Argument[0].Element;ReturnValue.ArrayElement;value", - ";IteratorUtils;true;toList;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;toListIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;toString;;;Argument[2];ReturnValue;taint", - ";IteratorUtils;true;toString;;;Argument[3];ReturnValue;taint", - ";IteratorUtils;true;toString;;;Argument[4];ReturnValue;taint", - ";IteratorUtils;true;unmodifiableIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;unmodifiableListIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;unmodifiableMapIterator;;;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;unmodifiableMapIterator;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";IteratorUtils;true;zippingIterator;(Iterator[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value", - ";IteratorUtils;true;zippingIterator;(Iterator,Iterator);;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;zippingIterator;(Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value", - ";IteratorUtils;true;zippingIterator;(Iterator,Iterator,Iterator);;Argument[0].Element;ReturnValue.Element;value", - ";IteratorUtils;true;zippingIterator;(Iterator,Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value", - ";IteratorUtils;true;zippingIterator;(Iterator,Iterator,Iterator);;Argument[2].Element;ReturnValue.Element;value" + ";IteratorUtils;true;arrayIterator;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";IteratorUtils;true;arrayListIterator;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";IteratorUtils;true;asEnumeration;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;asIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;asIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;asMultipleUseIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;boundedIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;chainedIterator;(Collection);;Argument[0].Element.Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;chainedIterator;(Iterator[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;chainedIterator;(Iterator,Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;chainedIterator;(Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;collatedIterator;(Comparator,Collection);;Argument[1].Element.Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;collatedIterator;(Comparator,Iterator[]);;Argument[1].ArrayElement.Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;collatedIterator;(Comparator,Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;collatedIterator;(Comparator,Iterator,Iterator);;Argument[2].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;filteredIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;filteredListIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;find;;;Argument[0].Element;ReturnValue;value;manual", + ";IteratorUtils;true;first;;;Argument[0].Element;ReturnValue;value;manual", + ";IteratorUtils;true;forEachButLast;;;Argument[0].Element;ReturnValue;value;manual", + ";IteratorUtils;true;get;;;Argument[0].Element;ReturnValue;value;manual", + ";IteratorUtils;true;getIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;getIterator;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";IteratorUtils;true;getIterator;;;Argument[0];ReturnValue.Element;value;manual", + ";IteratorUtils;true;getIterator;;;Argument[0].MapValue;ReturnValue.Element;value;manual", + ";IteratorUtils;true;loopingIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;loopingListIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;peekingIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;pushbackIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;singletonIterator;;;Argument[0];ReturnValue.Element;value;manual", + ";IteratorUtils;true;singletonListIterator;;;Argument[0];ReturnValue.Element;value;manual", + ";IteratorUtils;true;skippingIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;toArray;;;Argument[0].Element;ReturnValue.ArrayElement;value;manual", + ";IteratorUtils;true;toList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;toListIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;toString;;;Argument[2];ReturnValue;taint;manual", + ";IteratorUtils;true;toString;;;Argument[3];ReturnValue;taint;manual", + ";IteratorUtils;true;toString;;;Argument[4];ReturnValue;taint;manual", + ";IteratorUtils;true;unmodifiableIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;unmodifiableListIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;unmodifiableMapIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;unmodifiableMapIterator;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";IteratorUtils;true;zippingIterator;(Iterator[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;zippingIterator;(Iterator,Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;zippingIterator;(Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;zippingIterator;(Iterator,Iterator,Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;zippingIterator;(Iterator,Iterator,Iterator);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IteratorUtils;true;zippingIterator;(Iterator,Iterator,Iterator);;Argument[2].Element;ReturnValue.Element;value;manual" ] } } @@ -996,40 +996,40 @@ private class ApacheIterableUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";IterableUtils;true;boundedIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable);;Argument[2].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[2].Element;ReturnValue.Element;value", - ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[3].Element;ReturnValue.Element;value", - ";IterableUtils;true;collatedIterable;(Comparator,Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value", - ";IterableUtils;true;collatedIterable;(Comparator,Iterable,Iterable);;Argument[2].Element;ReturnValue.Element;value", - ";IterableUtils;true;collatedIterable;(Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;collatedIterable;(Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value", - ";IterableUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value", - ";IterableUtils;true;filteredIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;find;;;Argument[0].Element;ReturnValue;value", - ";IterableUtils;true;first;;;Argument[0].Element;ReturnValue;value", - ";IterableUtils;true;forEachButLast;;;Argument[0].Element;ReturnValue;value", - ";IterableUtils;true;get;;;Argument[0].Element;ReturnValue;value", - ";IterableUtils;true;loopingIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;partition;;;Argument[0].Element;ReturnValue.Element.Element;value", - ";IterableUtils;true;reversedIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;skippingIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;toList;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;toString;;;Argument[2];ReturnValue;taint", - ";IterableUtils;true;toString;;;Argument[3];ReturnValue;taint", - ";IterableUtils;true;toString;;;Argument[4];ReturnValue;taint", - ";IterableUtils;true;uniqueIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;unmodifiableIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;zippingIterable;;;Argument[0].Element;ReturnValue.Element;value", - ";IterableUtils;true;zippingIterable;(Iterable,Iterable[]);;Argument[1].ArrayElement.Element;ReturnValue.Element;value", - ";IterableUtils;true;zippingIterable;(Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value" + ";IterableUtils;true;boundedIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable);;Argument[2].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[2].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;chainedIterable;(Iterable,Iterable,Iterable,Iterable);;Argument[3].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;collatedIterable;(Comparator,Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;collatedIterable;(Comparator,Iterable,Iterable);;Argument[2].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;collatedIterable;(Iterable,Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;collatedIterable;(Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value;manual", + ";IterableUtils;true;filteredIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;find;;;Argument[0].Element;ReturnValue;value;manual", + ";IterableUtils;true;first;;;Argument[0].Element;ReturnValue;value;manual", + ";IterableUtils;true;forEachButLast;;;Argument[0].Element;ReturnValue;value;manual", + ";IterableUtils;true;get;;;Argument[0].Element;ReturnValue;value;manual", + ";IterableUtils;true;loopingIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;partition;;;Argument[0].Element;ReturnValue.Element.Element;value;manual", + ";IterableUtils;true;reversedIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;skippingIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;toList;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;toString;;;Argument[2];ReturnValue;taint;manual", + ";IterableUtils;true;toString;;;Argument[3];ReturnValue;taint;manual", + ";IterableUtils;true;toString;;;Argument[4];ReturnValue;taint;manual", + ";IterableUtils;true;uniqueIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;unmodifiableIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;zippingIterable;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;zippingIterable;(Iterable,Iterable[]);;Argument[1].ArrayElement.Element;ReturnValue.Element;value;manual", + ";IterableUtils;true;zippingIterable;(Iterable,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual" ] } } @@ -1042,9 +1042,9 @@ private class ApacheEnumerationUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";EnumerationUtils;true;get;;;Argument[0].Element;ReturnValue;value", - ";EnumerationUtils;true;toList;(Enumeration);;Argument[0].Element;ReturnValue.Element;value", - ";EnumerationUtils;true;toList;(StringTokenizer);;Argument[0];ReturnValue.Element;taint" + ";EnumerationUtils;true;get;;;Argument[0].Element;ReturnValue;value;manual", + ";EnumerationUtils;true;toList;(Enumeration);;Argument[0].Element;ReturnValue.Element;value;manual", + ";EnumerationUtils;true;toList;(StringTokenizer);;Argument[0];ReturnValue.Element;taint;manual" ] } } @@ -1057,15 +1057,15 @@ private class ApacheMultiMapUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";MultiMapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value", - ";MultiMapUtils;true;getCollection;;;Argument[0].MapValue;ReturnValue;value", - ";MultiMapUtils;true;getValuesAsBag;;;Argument[0].MapValue.Element;ReturnValue.Element;value", - ";MultiMapUtils;true;getValuesAsList;;;Argument[0].MapValue.Element;ReturnValue.Element;value", - ";MultiMapUtils;true;getValuesAsSet;;;Argument[0].MapValue.Element;ReturnValue.Element;value", - ";MultiMapUtils;true;transformedMultiValuedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MultiMapUtils;true;transformedMultiValuedMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value", - ";MultiMapUtils;true;unmodifiableMultiValuedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";MultiMapUtils;true;unmodifiableMultiValuedMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value" + ";MultiMapUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value;manual", + ";MultiMapUtils;true;getCollection;;;Argument[0].MapValue;ReturnValue;value;manual", + ";MultiMapUtils;true;getValuesAsBag;;;Argument[0].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiMapUtils;true;getValuesAsList;;;Argument[0].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiMapUtils;true;getValuesAsSet;;;Argument[0].MapValue.Element;ReturnValue.Element;value;manual", + ";MultiMapUtils;true;transformedMultiValuedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MultiMapUtils;true;transformedMultiValuedMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value;manual", + ";MultiMapUtils;true;unmodifiableMultiValuedMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";MultiMapUtils;true;unmodifiableMultiValuedMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value;manual" ] } } @@ -1078,9 +1078,9 @@ private class ApacheMultiSetUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";MultiSetUtils;true;predicatedMultiSet;;;Argument[0].Element;ReturnValue.Element;value", - ";MultiSetUtils;true;synchronizedMultiSet;;;Argument[0].Element;ReturnValue.Element;value", - ";MultiSetUtils;true;unmodifiableMultiSet;;;Argument[0].Element;ReturnValue.Element;value" + ";MultiSetUtils;true;predicatedMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";MultiSetUtils;true;synchronizedMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";MultiSetUtils;true;unmodifiableMultiSet;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -1093,10 +1093,10 @@ private class ApacheQueueUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";QueueUtils;true;predicatedQueue;;;Argument[0].Element;ReturnValue.Element;value", - ";QueueUtils;true;synchronizedQueue;;;Argument[0].Element;ReturnValue.Element;value", - ";QueueUtils;true;transformingQueue;;;Argument[0].Element;ReturnValue.Element;value", - ";QueueUtils;true;unmodifiableQueue;;;Argument[0].Element;ReturnValue.Element;value" + ";QueueUtils;true;predicatedQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";QueueUtils;true;synchronizedQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";QueueUtils;true;transformingQueue;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";QueueUtils;true;unmodifiableQueue;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -1110,31 +1110,31 @@ private class ApacheSetUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";SetUtils$SetView;true;copyInto;;;Argument[-1].Element;Argument[0].Element;value", - ";SetUtils$SetView;true;createIterator;;;Argument[-1].Element;ReturnValue.Element;value", - ";SetUtils$SetView;true;toSet;;;Argument[-1].Element;ReturnValue.Element;value", - ";SetUtils;true;difference;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;disjunction;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;disjunction;;;Argument[1].Element;ReturnValue.Element;value", - ";SetUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value", - ";SetUtils;true;hashSet;;;Argument[0].ArrayElement;ReturnValue.Element;value", - ";SetUtils;true;intersection;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;intersection;;;Argument[1].Element;ReturnValue.Element;value", - ";SetUtils;true;orderedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;predicatedNavigableSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;predicatedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;predicatedSortedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;synchronizedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;synchronizedSortedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;transformedNavigableSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;transformedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;transformedSortedSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;union;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;union;;;Argument[1].Element;ReturnValue.Element;value", - ";SetUtils;true;unmodifiableNavigableSet;;;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;unmodifiableSet;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - ";SetUtils;true;unmodifiableSet;(Set);;Argument[0].Element;ReturnValue.Element;value", - ";SetUtils;true;unmodifiableSortedSet;;;Argument[0].Element;ReturnValue.Element;value" + ";SetUtils$SetView;true;copyInto;;;Argument[-1].Element;Argument[0].Element;value;manual", + ";SetUtils$SetView;true;createIterator;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";SetUtils$SetView;true;toSet;;;Argument[-1].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;difference;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;disjunction;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;disjunction;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;emptyIfNull;;;Argument[0];ReturnValue;value;manual", + ";SetUtils;true;hashSet;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";SetUtils;true;intersection;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;intersection;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;orderedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;predicatedNavigableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;predicatedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;predicatedSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;synchronizedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;synchronizedSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;transformedNavigableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;transformedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;transformedSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;union;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;union;;;Argument[1].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;unmodifiableNavigableSet;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;unmodifiableSet;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + ";SetUtils;true;unmodifiableSet;(Set);;Argument[0].Element;ReturnValue.Element;value;manual", + ";SetUtils;true;unmodifiableSortedSet;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } @@ -1147,10 +1147,10 @@ private class ApacheSplitMapUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";SplitMapUtils;true;readableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";SplitMapUtils;true;readableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - ";SplitMapUtils;true;writableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";SplitMapUtils;true;writableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ";SplitMapUtils;true;readableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";SplitMapUtils;true;readableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + ";SplitMapUtils;true;writableMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";SplitMapUtils;true;writableMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -1163,8 +1163,8 @@ private class ApacheTrieUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";TrieUtils;true;unmodifiableTrie;;;Argument[0].MapKey;ReturnValue.MapKey;value", - ";TrieUtils;true;unmodifiableTrie;;;Argument[0].MapValue;ReturnValue.MapValue;value" + ";TrieUtils;true;unmodifiableTrie;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + ";TrieUtils;true;unmodifiableTrie;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual" ] } } @@ -1177,15 +1177,15 @@ private class ApacheBagUtilsModel extends SummaryModelCsv { row = ["org.apache.commons.collections4", "org.apache.commons.collections"] + [ - ";BagUtils;true;collectionBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;predicatedBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;predicatedSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;synchronizedBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;synchronizedSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;transformingBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;transformingSortedBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;unmodifiableBag;;;Argument[0].Element;ReturnValue.Element;value", - ";BagUtils;true;unmodifiableSortedBag;;;Argument[0].Element;ReturnValue.Element;value" + ";BagUtils;true;collectionBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;predicatedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;predicatedSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;synchronizedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;synchronizedSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;transformingBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;transformingSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;unmodifiableBag;;;Argument[0].Element;ReturnValue.Element;value;manual", + ";BagUtils;true;unmodifiableSortedBag;;;Argument[0].Element;ReturnValue.Element;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/apache/IO.qll b/java/ql/lib/semmle/code/java/frameworks/apache/IO.qll index 74b4df0673f..997bffb9110 100644 --- a/java/ql/lib/semmle/code/java/frameworks/apache/IO.qll +++ b/java/ql/lib/semmle/code/java/frameworks/apache/IO.qll @@ -13,11 +13,11 @@ private class ApacheCommonsIOCustomSummaryCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.commons.io;IOUtils;false;toBufferedInputStream;;;Argument[0];ReturnValue;taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[0].Element;Argument[2];taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[1];Argument[2];taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(Reader);;Argument[0];ReturnValue;taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(Reader,String);;Argument[0];ReturnValue;taint", + "org.apache.commons.io;IOUtils;false;toBufferedInputStream;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[0].Element;Argument[2];taint;manual", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[1];Argument[2];taint;manual", + "org.apache.commons.io;IOUtils;true;toByteArray;(Reader);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.io;IOUtils;true;toByteArray;(Reader,String);;Argument[0];ReturnValue;taint;manual", ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/apache/IOGenerated.qll b/java/ql/lib/semmle/code/java/frameworks/apache/IOGenerated.qll index f73b936e84c..592473a88a1 100644 --- a/java/ql/lib/semmle/code/java/frameworks/apache/IOGenerated.qll +++ b/java/ql/lib/semmle/code/java/frameworks/apache/IOGenerated.qll @@ -10,110 +10,110 @@ private class IOGeneratedSinksCsv extends SinkModelCsv { override predicate row(string row) { row = [ - "org.apache.commons.io.file;PathFilter;true;accept;(Path,BasicFileAttributes);;Argument[0];generated:create-file", - "org.apache.commons.io.file;PathUtils;false;copyFile;(URL,Path,CopyOption[]);;Argument[0];generated:open-url", - "org.apache.commons.io.file;PathUtils;false;copyFile;(URL,Path,CopyOption[]);;Argument[1];generated:create-file", - "org.apache.commons.io.file;PathUtils;false;copyFileToDirectory;(URL,Path,CopyOption[]);;Argument[0];generated:open-url", - "org.apache.commons.io.file;PathUtils;false;newOutputStream;(Path,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.file;PathUtils;false;writeString;(Path,CharSequence,Charset,OpenOption[]);;Argument[0];generated:create-file", - "org.apache.commons.io.filefilter;FileFilterUtils;true;filter;(IOFileFilter,File[]);;Argument[1];generated:create-file", - "org.apache.commons.io.filefilter;FileFilterUtils;true;filterList;(IOFileFilter,File[]);;Argument[1];generated:create-file", - "org.apache.commons.io.filefilter;FileFilterUtils;true;filterSet;(IOFileFilter,File[]);;Argument[1];generated:create-file", - "org.apache.commons.io.input;Tailer$Tailable;true;getRandomAccess;(String);;Argument[-1];generated:create-file", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(URL);;Argument[0];generated:open-url", - "org.apache.commons.io.output;DeferredFileOutputStream;true;writeTo;(OutputStream);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,Charset);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,Charset,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,CharsetEncoder);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,CharsetEncoder,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,Charset);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,Charset,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,CharsetEncoder);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,CharsetEncoder,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,Charset);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,Charset,boolean,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,String,boolean,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,boolean,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String,boolean,String);;Argument[0];generated:create-file", - "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(File);;Argument[0];generated:create-file", - "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(File,String);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,FileFilter);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,FileFilter,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,FileFilter,boolean,CopyOption[]);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyDirectoryToDirectory;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyFile;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyFile;(File,File,CopyOption[]);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyFile;(File,File,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyFile;(File,File,boolean,CopyOption[]);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyFileToDirectory;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyFileToDirectory;(File,File,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyInputStreamToFile;(InputStream,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyToDirectory;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyToDirectory;(Iterable,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyToFile;(InputStream,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File);;Argument[0];generated:open-url", - "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File,int,int);;Argument[0];generated:open-url", - "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File,int,int);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;moveDirectory;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;moveDirectoryToDirectory;(File,File,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;moveFile;(File,File);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;moveFile;(File,File,CopyOption[]);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;moveFileToDirectory;(File,File,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;moveToDirectory;(File,File,boolean);;Argument[1];generated:create-file", - "org.apache.commons.io;FileUtils;true;newOutputStream;(File,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;openOutputStream;(File);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;openOutputStream;(File,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;touch;(File);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;write;(File,CharSequence);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,Charset);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,Charset,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,String);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[]);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[],boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[],int,int);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[],int,int,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection,String);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection,String);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,Charset);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,Charset,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,String);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,boolean);;Argument[0];generated:create-file", - "org.apache.commons.io;IOUtils;true;copy;(URL,File);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;copy;(URL,File);;Argument[1];generated:create-file", - "org.apache.commons.io;IOUtils;true;copy;(URL,OutputStream);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toByteArray;(URI);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toByteArray;(URL);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toString;(URI);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toString;(URI,Charset);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toString;(URI,String);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toString;(URL);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toString;(URL,Charset);;Argument[0];generated:open-url", - "org.apache.commons.io;IOUtils;true;toString;(URL,String);;Argument[0];generated:open-url", - "org.apache.commons.io;RandomAccessFileMode;false;create;(File);;Argument[0];generated:create-file", - "org.apache.commons.io;RandomAccessFileMode;false;create;(Path);;Argument[0];generated:create-file", - "org.apache.commons.io;RandomAccessFileMode;false;create;(String);;Argument[0];generated:create-file" + "org.apache.commons.io.file;PathFilter;true;accept;(Path,BasicFileAttributes);;Argument[0];create-file;generated", + "org.apache.commons.io.file;PathUtils;false;copyFile;(URL,Path,CopyOption[]);;Argument[0];open-url;generated", + "org.apache.commons.io.file;PathUtils;false;copyFile;(URL,Path,CopyOption[]);;Argument[1];create-file;generated", + "org.apache.commons.io.file;PathUtils;false;copyFileToDirectory;(URL,Path,CopyOption[]);;Argument[0];open-url;generated", + "org.apache.commons.io.file;PathUtils;false;newOutputStream;(Path,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.file;PathUtils;false;writeString;(Path,CharSequence,Charset,OpenOption[]);;Argument[0];create-file;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;filter;(IOFileFilter,File[]);;Argument[1];create-file;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;filterList;(IOFileFilter,File[]);;Argument[1];create-file;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;filterSet;(IOFileFilter,File[]);;Argument[1];create-file;generated", + "org.apache.commons.io.input;Tailer$Tailable;true;getRandomAccess;(String);;Argument[-1];create-file;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(URL);;Argument[0];open-url;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;writeTo;(OutputStream);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,Charset);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,Charset,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,CharsetEncoder);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,CharsetEncoder,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(File,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,Charset);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,Charset,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,CharsetEncoder);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,CharsetEncoder,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;FileWriterWithEncoding;true;FileWriterWithEncoding;(String,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,Charset);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,Charset,boolean,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,String,boolean,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,boolean,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String,boolean,String);;Argument[0];create-file;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(File);;Argument[0];create-file;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(File,String);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,FileFilter);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,FileFilter,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,FileFilter,boolean,CopyOption[]);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyDirectory;(File,File,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyDirectoryToDirectory;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyFile;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyFile;(File,File,CopyOption[]);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyFile;(File,File,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyFile;(File,File,boolean,CopyOption[]);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyFileToDirectory;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyFileToDirectory;(File,File,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyInputStreamToFile;(InputStream,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyToDirectory;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyToDirectory;(Iterable,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyToFile;(InputStream,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File);;Argument[0];open-url;generated", + "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File,int,int);;Argument[0];open-url;generated", + "org.apache.commons.io;FileUtils;true;copyURLToFile;(URL,File,int,int);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;moveDirectory;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;moveDirectoryToDirectory;(File,File,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;moveFile;(File,File);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;moveFile;(File,File,CopyOption[]);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;moveFileToDirectory;(File,File,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;moveToDirectory;(File,File,boolean);;Argument[1];create-file;generated", + "org.apache.commons.io;FileUtils;true;newOutputStream;(File,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;openOutputStream;(File);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;openOutputStream;(File,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;touch;(File);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;write;(File,CharSequence);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,Charset);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,Charset,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,String);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;write;(File,CharSequence,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[]);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[],boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[],int,int);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeByteArrayToFile;(File,byte[],int,int,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection,String);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,Collection,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection,String);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeLines;(File,String,Collection,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,Charset);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,Charset,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,String);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;FileUtils;true;writeStringToFile;(File,String,boolean);;Argument[0];create-file;generated", + "org.apache.commons.io;IOUtils;true;copy;(URL,File);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;copy;(URL,File);;Argument[1];create-file;generated", + "org.apache.commons.io;IOUtils;true;copy;(URL,OutputStream);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(URI);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(URL);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toString;(URI);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toString;(URI,Charset);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toString;(URI,String);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toString;(URL);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toString;(URL,Charset);;Argument[0];open-url;generated", + "org.apache.commons.io;IOUtils;true;toString;(URL,String);;Argument[0];open-url;generated", + "org.apache.commons.io;RandomAccessFileMode;false;create;(File);;Argument[0];create-file;generated", + "org.apache.commons.io;RandomAccessFileMode;false;create;(Path);;Argument[0];create-file;generated", + "org.apache.commons.io;RandomAccessFileMode;false;create;(String);;Argument[0];create-file;generated" ] } } @@ -122,562 +122,562 @@ private class IOGeneratedSummaryCsv extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.commons.io.charset;CharsetDecoders;true;toCharsetDecoder;(CharsetDecoder);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.charset;CharsetEncoders;true;toCharsetEncoder;(CharsetEncoder);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.comparator;CompositeFileComparator;true;CompositeFileComparator;(Comparator[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.comparator;CompositeFileComparator;true;CompositeFileComparator;(Iterable);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.comparator;CompositeFileComparator;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file.spi;FileSystemProviders;true;getFileSystemProvider;(String);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file.spi;FileSystemProviders;true;getFileSystemProvider;(URI);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file.spi;FileSystemProviders;true;getFileSystemProvider;(URL);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;getDirList;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;getFileList;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;withBigIntegerCounters;(PathFilter,PathFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;withBigIntegerCounters;(PathFilter,PathFilter);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;withLongCounters;(PathFilter,PathFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.file;AccumulatorPathVisitor;true;withLongCounters;(PathFilter,PathFilter);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[2].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,String[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,String[]);;Argument[1].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[1].Element;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[2].Element;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[3].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[3].Element;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[4].Element;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[5].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;getCopyOptions;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;getSourceDirectory;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;CopyDirectoryVisitor;true;getTargetDirectory;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;Counters$PathCounters;true;getByteCounter;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;Counters$PathCounters;true;getDirectoryCounter;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;Counters$PathCounters;true;getFileCounter;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.file;CountingPathVisitor;true;getPathCounters;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[2].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,LinkOption[],DeleteOption[],String[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,LinkOption[],DeleteOption[],String[]);;Argument[1].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,LinkOption[],DeleteOption[],String[]);;Argument[3].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,String[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,String[]);;Argument[1].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.file;DirectoryStreamFilter;true;DirectoryStreamFilter;(PathFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.file;DirectoryStreamFilter;true;getPathFilter;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;copyFile;(URL,Path,CopyOption[]);;Argument[1].Element;ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;copyFileToDirectory;(URL,Path,CopyOption[]);;Argument[1].Element;ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;setReadOnly;(Path,boolean,LinkOption[]);;Argument[0].Element;ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,Path);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,Path,Set,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,String,String[]);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,URI);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.file;PathUtils;false;writeString;(Path,CharSequence,Charset,OpenOption[]);;Argument[0].Element;ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;AgeFileFilter;true;AgeFileFilter;(Instant);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AgeFileFilter;true;AgeFileFilter;(Instant,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AgeFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AndFileFilter;true;addFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;AndFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;ConditionalFileFilter;true;addFileFilter;(IOFileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;ConditionalFileFilter;true;getFileFilters;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;ConditionalFileFilter;true;setFileFilters;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;DelegateFileFilter;true;DelegateFileFilter;(FileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;DelegateFileFilter;true;DelegateFileFilter;(FilenameFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;DelegateFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileEqualsFileFilter;true;FileEqualsFileFilter;(File);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;and;(IOFileFilter[]);;Argument[0].ArrayElement;ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;andFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;andFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;asFileFilter;(FileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;asFileFilter;(FilenameFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(String,long);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(byte[]);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(byte[],long);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;makeCVSAware;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;makeDirectoryOnly;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;makeFileOnly;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;makeSVNAware;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;nameFileFilter;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;nameFileFilter;(String,IOCase);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;notFileFilter;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;or;(IOFileFilter[]);;Argument[0].ArrayElement;ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;orFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;orFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;prefixFileFilter;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;prefixFileFilter;(String,IOCase);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;suffixFileFilter;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;suffixFileFilter;(String,IOCase);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;FileFilterUtils;true;toList;(IOFileFilter[]);;Argument[0].ArrayElement;ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;IOFileFilter;true;and;(IOFileFilter);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;IOFileFilter;true;and;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;IOFileFilter;true;negate;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;IOFileFilter;true;or;(IOFileFilter);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;IOFileFilter;true;or;(IOFileFilter);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(String,long);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(byte[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(byte[],long);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String,IOCase);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NameFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;NotFileFilter;true;NotFileFilter;(IOFileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;NotFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;OrFileFilter;true;addFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;OrFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;PathEqualsFileFilter;true;PathEqualsFileFilter;(Path);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PathVisitorFileFilter;true;PathVisitorFileFilter;(PathVisitor);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String,IOCase);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;PrefixFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;RegexFileFilter;true;RegexFileFilter;(Pattern);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;RegexFileFilter;true;RegexFileFilter;(Pattern,Function);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;RegexFileFilter;true;RegexFileFilter;(Pattern,Function);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;RegexFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String,IOCase);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;SuffixFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String,IOCase);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFileFilter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.filefilter;WildcardFilter;true;WildcardFilter;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFilter;true;WildcardFilter;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.filefilter;WildcardFilter;true;WildcardFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.input.buffer;CircularBufferInputStream;true;CircularBufferInputStream;(InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input.buffer;CircularBufferInputStream;true;CircularBufferInputStream;(InputStream,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input.buffer;PeekableInputStream;true;PeekableInputStream;(InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input.buffer;PeekableInputStream;true;PeekableInputStream;(InputStream,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;BOMInputStream;true;BOMInputStream;(InputStream,ByteOrderMark[]);;Argument[1].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.input;BOMInputStream;true;BOMInputStream;(InputStream,boolean,ByteOrderMark[]);;Argument[2].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.input;BOMInputStream;true;getBOM;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;BOMInputStream;true;getBOMCharsetName;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;BoundedInputStream;true;BoundedInputStream;(InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;BoundedInputStream;true;BoundedInputStream;(InputStream,long);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;BoundedReader;true;BoundedReader;(Reader,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;BrokenInputStream;true;BrokenInputStream;(Supplier);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;BrokenReader;true;BrokenReader;(Supplier);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;CharSequenceReader;true;CharSequenceReader;(CharSequence);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;CharSequenceReader;true;CharSequenceReader;(CharSequence,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;CharSequenceReader;true;CharSequenceReader;(CharSequence,int,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;CharSequenceReader;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;CharacterFilterReader;true;CharacterFilterReader;(Reader,IntPredicate);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;CircularInputStream;true;CircularInputStream;(byte[],long);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ClassLoaderObjectInputStream;true;ClassLoaderObjectInputStream;(ClassLoader,InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ClassLoaderObjectInputStream;true;ClassLoaderObjectInputStream;(ClassLoader,InputStream);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;CloseShieldInputStream;true;wrap;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;InfiniteCircularInputStream;true;InfiniteCircularInputStream;(byte[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;MessageDigestCalculatingInputStream$MessageDigestMaintainingObserver;true;MessageDigestMaintainingObserver;(MessageDigest);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;MessageDigestCalculatingInputStream;true;MessageDigestCalculatingInputStream;(InputStream,MessageDigest);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;MessageDigestCalculatingInputStream;true;getMessageDigest;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;ObservableInputStream;true;ObservableInputStream;(InputStream,Observer[]);;Argument[1].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.input;ObservableInputStream;true;add;(Observer);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ObservableInputStream;true;getObservers;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;RandomAccessFileInputStream;true;RandomAccessFileInputStream;(RandomAccessFile);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;RandomAccessFileInputStream;true;RandomAccessFileInputStream;(RandomAccessFile,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;RandomAccessFileInputStream;true;getRandomAccessFile;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;ReadAheadInputStream;true;ReadAheadInputStream;(InputStream,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReadAheadInputStream;true;ReadAheadInputStream;(InputStream,int,ExecutorService);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReadAheadInputStream;true;ReadAheadInputStream;(InputStream,int,ExecutorService);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,Charset);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,Charset,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder,int);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,String,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;ReversedLinesFileReader;true;readLine;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;ReversedLinesFileReader;true;readLines;(int);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;ReversedLinesFileReader;true;toString;(int);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;SequenceReader;true;SequenceReader;(Iterable);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.input;SequenceReader;true;SequenceReader;(Reader[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;Builder;(File,TailerListener);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;Builder;(File,TailerListener);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Path,TailerListener);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Path,TailerListener);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Tailable,TailerListener);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Tailable,TailerListener);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;build;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;withBufferSize;(int);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.input;Tailer$Builder;true;withCharset;(Charset);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.input;Tailer$Builder;true;withDelayDuration;(Duration);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.input;Tailer$Builder;true;withDelayDuration;(Duration);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer$Builder;true;withReOpen;(boolean);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.input;Tailer$Builder;true;withStartThread;(boolean);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.input;Tailer$Builder;true;withTailFromEnd;(boolean);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean,int);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,int);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[2];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean,int);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,int);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;getDelayDuration;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;getFile;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;Tailer;true;getTailable;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;TeeInputStream;true;TeeInputStream;(InputStream,OutputStream);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;TeeInputStream;true;TeeInputStream;(InputStream,OutputStream,boolean);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;TeeReader;true;TeeReader;(Reader,Writer);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;TeeReader;true;TeeReader;(Reader,Writer,boolean);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;TimestampedObserver;true;getCloseInstant;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;TimestampedObserver;true;getOpenInstant;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;TimestampedObserver;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;UncheckedBufferedReader;true;UncheckedBufferedReader;(Reader);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;UncheckedBufferedReader;true;UncheckedBufferedReader;(Reader,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;UncheckedBufferedReader;true;on;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;UncheckedFilterInputStream;true;on;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.input;UnixLineEndingInputStream;true;UnixLineEndingInputStream;(InputStream,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;UnsynchronizedByteArrayInputStream;true;UnsynchronizedByteArrayInputStream;(byte[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;UnsynchronizedByteArrayInputStream;true;UnsynchronizedByteArrayInputStream;(byte[],int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;UnsynchronizedByteArrayInputStream;true;UnsynchronizedByteArrayInputStream;(byte[],int,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;WindowsLineEndingInputStream;true;WindowsLineEndingInputStream;(InputStream,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean,String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean,String);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,boolean,String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,boolean,String);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(URLConnection,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;getDefaultEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;XmlStreamReader;true;getEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[4];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[5];Argument[-1];generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;getBomEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;getContentTypeEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;getContentTypeMime;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;getXmlEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.input;XmlStreamReaderException;true;getXmlGuessEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileAlterationMonitor;false;FileAlterationMonitor;(long,Collection);;Argument[1].Element;Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationMonitor;false;FileAlterationMonitor;(long,FileAlterationObserver[]);;Argument[1].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationMonitor;false;addObserver;(FileAlterationObserver);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationMonitor;false;getObservers;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileAlterationMonitor;false;setThreadFactory;(ThreadFactory);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter,IOCase);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter,IOCase);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter,IOCase);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter,IOCase);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;addListener;(FileAlterationListener);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;getDirectory;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;getFileFilter;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;getListeners;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileAlterationObserver;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;FileEntry;(File);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;FileEntry;(FileEntry,File);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;FileEntry;(FileEntry,File);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;getChildren;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;getFile;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;getLastModifiedFileTime;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;getName;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;getParent;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;newChildInstance;(File);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;newChildInstance;(File);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;setChildren;(FileEntry[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;setLastModified;(FileTime);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.monitor;FileEntry;true;setName;(String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toByteArray;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toString;(Charset);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toString;(String);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;write;(InputStream);;Argument[-1];Argument[0];generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;write;(InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;writeTo;(OutputStream);;Argument[-1];Argument[0];generated:taint", - "org.apache.commons.io.output;AppendableOutputStream;true;AppendableOutputStream;(Appendable);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;AppendableOutputStream;true;getAppendable;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;AppendableWriter;true;AppendableWriter;(Appendable);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;AppendableWriter;true;getAppendable;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;BrokenOutputStream;true;BrokenOutputStream;(Supplier);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;BrokenWriter;true;BrokenWriter;(Supplier);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;ChunkedOutputStream;true;ChunkedOutputStream;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;ChunkedOutputStream;true;ChunkedOutputStream;(OutputStream,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;CloseShieldOutputStream;true;CloseShieldOutputStream;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;CloseShieldOutputStream;true;wrap;(OutputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.output;CountingOutputStream;true;CountingOutputStream;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,File);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,String,String,File);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,String,String,File);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,String,String,File);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,File);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,String,String,File);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,String,String,File);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,String,String,File);;Argument[4];Argument[-1];generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;getData;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;getFile;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;DeferredFileOutputStream;true;writeTo;(OutputStream);;Argument[-1];Argument[0];generated:taint", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,Charset,boolean,String);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,String,boolean,String);;Argument[3];Argument[-1];generated:taint", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,boolean,String);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String,boolean,String);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.output;ProxyCollectionWriter;true;ProxyCollectionWriter;(Collection);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.output;ProxyCollectionWriter;true;ProxyCollectionWriter;(Writer[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.output;ProxyOutputStream;true;ProxyOutputStream;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;StringBuilderWriter;true;StringBuilderWriter;(StringBuilder);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;StringBuilderWriter;true;getBuilder;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;StringBuilderWriter;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;TaggedOutputStream;true;TaggedOutputStream;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;TeeOutputStream;true;TeeOutputStream;(OutputStream,OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;TeeOutputStream;true;TeeOutputStream;(OutputStream,OutputStream);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;TeeWriter;true;TeeWriter;(Collection);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io.output;TeeWriter;true;TeeWriter;(Writer[]);;Argument[0].ArrayElement;Argument[-1];generated:taint", - "org.apache.commons.io.output;ThresholdingOutputStream;true;ThresholdingOutputStream;(int,IOConsumer,IOFunction);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;ThresholdingOutputStream;true;ThresholdingOutputStream;(int,IOConsumer,IOFunction);;Argument[2];Argument[-1];generated:taint", - "org.apache.commons.io.output;UncheckedAppendable;true;on;(Appendable);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.output;UncheckedFilterOutputStream;true;UncheckedFilterOutputStream;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;UncheckedFilterOutputStream;true;on;(OutputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,Charset);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,Charset,int,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder,int,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder,int,boolean);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,String,int,boolean);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(File,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(OutputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(OutputStream,String);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(OutputStream,String);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io.output;XmlStreamWriter;true;getDefaultEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.output;XmlStreamWriter;true;getEncoding;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;ValidatingObjectInputStream;(InputStream);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(ClassNameMatcher);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(ClassNameMatcher);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(Class[]);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(Pattern);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(String[]);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(ClassNameMatcher);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(ClassNameMatcher);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(Class[]);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(Pattern);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(String[]);;Argument[-1];ReturnValue;generated:value", - "org.apache.commons.io;ByteOrderMark;true;ByteOrderMark;(String,int[]);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io;ByteOrderMark;true;getCharsetName;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;ByteOrderMark;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(InputStream,OutputStream);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(InputStream,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(InputStream,Writer,String);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(Reader,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(String,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(byte[],OutputStream);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(byte[],Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;CopyUtils;true;copy;(byte[],Writer,String);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;DirectoryWalker$CancelException;true;CancelException;(File,int);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io;DirectoryWalker$CancelException;true;CancelException;(String,File,int);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io;DirectoryWalker$CancelException;true;getFile;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;FileCleaningTracker;true;getDeleteFailures;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;FileDeleteStrategy;true;toString;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;FileSystem;false;toLegalFileName;(String,char);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;checksum;(File,Checksum);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;convertFileCollectionToFileArray;(Collection);;Argument[0].Element;ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;delete;(File);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;getFile;(File,String[]);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;getFile;(File,String[]);;Argument[1].ArrayElement;ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;getFile;(String[]);;Argument[0].ArrayElement;ReturnValue;generated:taint", - "org.apache.commons.io;FileUtils;true;toURLs;(File[]);;Argument[0].ArrayElement;ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;concat;(String,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;concat;(String,String);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getBaseName;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getExtension;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getFullPath;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getFullPathNoEndSeparator;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getName;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getPath;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getPathNoEndSeparator;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;getPrefix;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;normalize;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;normalize;(String,boolean);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;normalizeNoEndSeparator;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;normalizeNoEndSeparator;(String,boolean);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;FilenameUtils;true;removeExtension;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOExceptionList;true;IOExceptionList;(List);;Argument[0].Element;Argument[-1];generated:taint", - "org.apache.commons.io;IOExceptionList;true;IOExceptionList;(String,List);;Argument[1].Element;Argument[-1];generated:taint", - "org.apache.commons.io;IOExceptionList;true;getCause;(int);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;IOExceptionList;true;getCauseList;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;IOExceptionList;true;getCauseList;(Class);;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(InputStream,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(OutputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(OutputStream,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(Reader,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(Writer);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;buffer;(Writer,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(InputStream,OutputStream);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(InputStream,OutputStream,int);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(InputStream,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(InputStream,Writer,Charset);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(InputStream,Writer,String);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[0];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[2];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[2];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copy;(Reader,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[0];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[2];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[2];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[0];Argument[4];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[4];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[4];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[0];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[2];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[2];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[0];Argument[4];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[4];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[4];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;lineIterator;(InputStream,Charset);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;lineIterator;(InputStream,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;lineIterator;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[]);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[],int,int);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[],int,int);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(ReadableByteChannel,ByteBuffer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(Reader,char[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(Reader,char[]);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(Reader,char[],int,int);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;read;(Reader,char[],int,int);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[]);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[],int,int);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(InputStream,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(ReadableByteChannel,ByteBuffer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[]);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[]);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[],int,int);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[],int,int);;Argument[1];Argument[0];generated:taint", - "org.apache.commons.io;IOUtils;true;readLines;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;readLines;(InputStream,Charset);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;readLines;(InputStream,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;readLines;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toBufferedInputStream;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toBufferedInputStream;(InputStream,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toBufferedReader;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toBufferedReader;(Reader,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(InputStream,int);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(InputStream,long);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(Reader,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toByteArray;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toCharArray;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toCharArray;(InputStream,Charset);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toCharArray;(InputStream,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toCharArray;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toInputStream;(CharSequence);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toInputStream;(CharSequence,Charset);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toInputStream;(CharSequence,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toInputStream;(String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toInputStream;(String,Charset);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toInputStream;(String,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toString;(InputStream);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toString;(InputStream,Charset);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toString;(InputStream,String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toString;(Reader);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toString;(byte[]);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;toString;(byte[],String);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;IOUtils;true;write;(CharSequence,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(String,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(StringBuffer,Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(byte[],OutputStream);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(byte[],Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(byte[],Writer,Charset);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(byte[],Writer,String);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;write;(char[],Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;writeChunked;(byte[],OutputStream);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;writeChunked;(char[],Writer);;Argument[0];Argument[1];generated:taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,OutputStream);;Argument[1];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,OutputStream,Charset);;Argument[1];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,OutputStream,String);;Argument[1];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[0].Element;Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[1];Argument[2];generated:taint", - "org.apache.commons.io;IOUtils;true;writer;(Appendable);;Argument[0];ReturnValue;generated:taint", - "org.apache.commons.io;LineIterator;true;LineIterator;(Reader);;Argument[0];Argument[-1];generated:taint", - "org.apache.commons.io;LineIterator;true;nextLine;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;TaggedIOException;true;TaggedIOException;(IOException,Serializable);;Argument[1];Argument[-1];generated:taint", - "org.apache.commons.io;TaggedIOException;true;getTag;();;Argument[-1];ReturnValue;generated:taint", - "org.apache.commons.io;UncheckedIO;true;apply;(IOFunction,Object);;Argument[1];ReturnValue;generated:taint", - "org.apache.commons.io;UncheckedIO;true;apply;(IOTriFunction,Object,Object,Object);;Argument[1];ReturnValue;generated:taint" + "org.apache.commons.io.charset;CharsetDecoders;true;toCharsetDecoder;(CharsetDecoder);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.charset;CharsetEncoders;true;toCharsetEncoder;(CharsetEncoder);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.comparator;CompositeFileComparator;true;CompositeFileComparator;(Comparator[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.comparator;CompositeFileComparator;true;CompositeFileComparator;(Iterable);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.comparator;CompositeFileComparator;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file.spi;FileSystemProviders;true;getFileSystemProvider;(String);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file.spi;FileSystemProviders;true;getFileSystemProvider;(URI);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file.spi;FileSystemProviders;true;getFileSystemProvider;(URL);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;AccumulatorPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;getDirList;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;getFileList;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;withBigIntegerCounters;(PathFilter,PathFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;withBigIntegerCounters;(PathFilter,PathFilter);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;withLongCounters;(PathFilter,PathFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.file;AccumulatorPathVisitor;true;withLongCounters;(PathFilter,PathFilter);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[2].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,String[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;CleaningPathVisitor;true;CleaningPathVisitor;(PathCounters,String[]);;Argument[1].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[1].Element;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[2].Element;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,Path,Path,CopyOption[]);;Argument[3].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[3].Element;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[4].Element;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;CopyDirectoryVisitor;(PathCounters,PathFilter,PathFilter,Path,Path,CopyOption[]);;Argument[5].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;getCopyOptions;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;getSourceDirectory;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;CopyDirectoryVisitor;true;getTargetDirectory;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;Counters$PathCounters;true;getByteCounter;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;Counters$PathCounters;true;getDirectoryCounter;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;Counters$PathCounters;true;getFileCounter;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.file;CountingPathVisitor;true;CountingPathVisitor;(PathCounters,PathFilter,PathFilter);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.file;CountingPathVisitor;true;getPathCounters;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,DeleteOption[],String[]);;Argument[2].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,LinkOption[],DeleteOption[],String[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,LinkOption[],DeleteOption[],String[]);;Argument[1].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,LinkOption[],DeleteOption[],String[]);;Argument[3].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,String[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;DeletingPathVisitor;true;DeletingPathVisitor;(PathCounters,String[]);;Argument[1].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.file;DirectoryStreamFilter;true;DirectoryStreamFilter;(PathFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.file;DirectoryStreamFilter;true;getPathFilter;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;copyFile;(URL,Path,CopyOption[]);;Argument[1].Element;ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;copyFileToDirectory;(URL,Path,CopyOption[]);;Argument[1].Element;ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;setReadOnly;(Path,boolean,LinkOption[]);;Argument[0].Element;ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,Path);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,Path,Set,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,String,String[]);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;visitFileTree;(FileVisitor,URI);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.file;PathUtils;false;writeString;(Path,CharSequence,Charset,OpenOption[]);;Argument[0].Element;ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;AgeFileFilter;true;AgeFileFilter;(Instant);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AgeFileFilter;true;AgeFileFilter;(Instant,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AgeFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AndFileFilter;true;AndFileFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AndFileFilter;true;addFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;AndFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;ConditionalFileFilter;true;addFileFilter;(IOFileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;ConditionalFileFilter;true;getFileFilters;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;ConditionalFileFilter;true;setFileFilters;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;DelegateFileFilter;true;DelegateFileFilter;(FileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;DelegateFileFilter;true;DelegateFileFilter;(FilenameFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;DelegateFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileEqualsFileFilter;true;FileEqualsFileFilter;(File);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;and;(IOFileFilter[]);;Argument[0].ArrayElement;ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;andFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;andFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;asFileFilter;(FileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;asFileFilter;(FilenameFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(String,long);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(byte[]);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;magicNumberFileFilter;(byte[],long);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;makeCVSAware;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;makeDirectoryOnly;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;makeFileOnly;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;makeSVNAware;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;nameFileFilter;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;nameFileFilter;(String,IOCase);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;notFileFilter;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;or;(IOFileFilter[]);;Argument[0].ArrayElement;ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;orFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;orFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;prefixFileFilter;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;prefixFileFilter;(String,IOCase);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;suffixFileFilter;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;suffixFileFilter;(String,IOCase);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;FileFilterUtils;true;toList;(IOFileFilter[]);;Argument[0].ArrayElement;ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;IOFileFilter;true;and;(IOFileFilter);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;IOFileFilter;true;and;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;IOFileFilter;true;negate;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;IOFileFilter;true;or;(IOFileFilter);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;IOFileFilter;true;or;(IOFileFilter);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(String,long);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(byte[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;MagicNumberFileFilter;(byte[],long);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;MagicNumberFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String,IOCase);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;NameFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NameFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;NotFileFilter;true;NotFileFilter;(IOFileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;NotFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(IOFileFilter,IOFileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(IOFileFilter,IOFileFilter);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;OrFileFilter;true;OrFileFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;OrFileFilter;true;addFileFilter;(IOFileFilter[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;OrFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;PathEqualsFileFilter;true;PathEqualsFileFilter;(Path);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PathVisitorFileFilter;true;PathVisitorFileFilter;(PathVisitor);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String,IOCase);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;PrefixFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;PrefixFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;RegexFileFilter;true;RegexFileFilter;(Pattern);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;RegexFileFilter;true;RegexFileFilter;(Pattern,Function);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;RegexFileFilter;true;RegexFileFilter;(Pattern,Function);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;RegexFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String,IOCase);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;SuffixFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;SuffixFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(List,IOCase);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String,IOCase);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;WildcardFileFilter;(String[],IOCase);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFileFilter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.filefilter;WildcardFilter;true;WildcardFilter;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFilter;true;WildcardFilter;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.filefilter;WildcardFilter;true;WildcardFilter;(String[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.input.buffer;CircularBufferInputStream;true;CircularBufferInputStream;(InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input.buffer;CircularBufferInputStream;true;CircularBufferInputStream;(InputStream,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input.buffer;PeekableInputStream;true;PeekableInputStream;(InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input.buffer;PeekableInputStream;true;PeekableInputStream;(InputStream,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;BOMInputStream;true;BOMInputStream;(InputStream,ByteOrderMark[]);;Argument[1].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.input;BOMInputStream;true;BOMInputStream;(InputStream,boolean,ByteOrderMark[]);;Argument[2].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.input;BOMInputStream;true;getBOM;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;BOMInputStream;true;getBOMCharsetName;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;BoundedInputStream;true;BoundedInputStream;(InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;BoundedInputStream;true;BoundedInputStream;(InputStream,long);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;BoundedReader;true;BoundedReader;(Reader,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;BrokenInputStream;true;BrokenInputStream;(Supplier);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;BrokenReader;true;BrokenReader;(Supplier);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;CharSequenceReader;true;CharSequenceReader;(CharSequence);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;CharSequenceReader;true;CharSequenceReader;(CharSequence,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;CharSequenceReader;true;CharSequenceReader;(CharSequence,int,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;CharSequenceReader;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;CharacterFilterReader;true;CharacterFilterReader;(Reader,IntPredicate);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;CircularInputStream;true;CircularInputStream;(byte[],long);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ClassLoaderObjectInputStream;true;ClassLoaderObjectInputStream;(ClassLoader,InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ClassLoaderObjectInputStream;true;ClassLoaderObjectInputStream;(ClassLoader,InputStream);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;CloseShieldInputStream;true;wrap;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;InfiniteCircularInputStream;true;InfiniteCircularInputStream;(byte[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;MessageDigestCalculatingInputStream$MessageDigestMaintainingObserver;true;MessageDigestMaintainingObserver;(MessageDigest);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;MessageDigestCalculatingInputStream;true;MessageDigestCalculatingInputStream;(InputStream,MessageDigest);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;MessageDigestCalculatingInputStream;true;getMessageDigest;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;ObservableInputStream;true;ObservableInputStream;(InputStream,Observer[]);;Argument[1].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.input;ObservableInputStream;true;add;(Observer);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ObservableInputStream;true;getObservers;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;RandomAccessFileInputStream;true;RandomAccessFileInputStream;(RandomAccessFile);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;RandomAccessFileInputStream;true;RandomAccessFileInputStream;(RandomAccessFile,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;RandomAccessFileInputStream;true;getRandomAccessFile;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;ReadAheadInputStream;true;ReadAheadInputStream;(InputStream,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReadAheadInputStream;true;ReadAheadInputStream;(InputStream,int,ExecutorService);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReadAheadInputStream;true;ReadAheadInputStream;(InputStream,int,ExecutorService);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,Charset);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,Charset,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,CharsetEncoder,int);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReaderInputStream;true;ReaderInputStream;(Reader,String,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;ReversedLinesFileReader;true;readLine;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;ReversedLinesFileReader;true;readLines;(int);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;ReversedLinesFileReader;true;toString;(int);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;SequenceReader;true;SequenceReader;(Iterable);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.input;SequenceReader;true;SequenceReader;(Reader[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;Builder;(File,TailerListener);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;Builder;(File,TailerListener);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Path,TailerListener);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Path,TailerListener);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Tailable,TailerListener);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;Builder;(Tailable,TailerListener);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;build;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withBufferSize;(int);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withCharset;(Charset);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withDelayDuration;(Duration);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withDelayDuration;(Duration);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withReOpen;(boolean);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withStartThread;(boolean);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.input;Tailer$Builder;true;withTailFromEnd;(boolean);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,boolean,int);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;Tailer;(File,TailerListener,long,boolean,int);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,Charset,TailerListener,long,boolean,boolean,int);;Argument[2];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,boolean,int);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;create;(File,TailerListener,long,boolean,int);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;getDelayDuration;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;getFile;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;Tailer;true;getTailable;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;TeeInputStream;true;TeeInputStream;(InputStream,OutputStream);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;TeeInputStream;true;TeeInputStream;(InputStream,OutputStream,boolean);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;TeeReader;true;TeeReader;(Reader,Writer);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;TeeReader;true;TeeReader;(Reader,Writer,boolean);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;TimestampedObserver;true;getCloseInstant;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;TimestampedObserver;true;getOpenInstant;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;TimestampedObserver;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;UncheckedBufferedReader;true;UncheckedBufferedReader;(Reader);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;UncheckedBufferedReader;true;UncheckedBufferedReader;(Reader,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;UncheckedBufferedReader;true;on;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;UncheckedFilterInputStream;true;on;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.input;UnixLineEndingInputStream;true;UnixLineEndingInputStream;(InputStream,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;UnsynchronizedByteArrayInputStream;true;UnsynchronizedByteArrayInputStream;(byte[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;UnsynchronizedByteArrayInputStream;true;UnsynchronizedByteArrayInputStream;(byte[],int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;UnsynchronizedByteArrayInputStream;true;UnsynchronizedByteArrayInputStream;(byte[],int,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;WindowsLineEndingInputStream;true;WindowsLineEndingInputStream;(InputStream,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean,String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,String,boolean,String);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,boolean,String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(InputStream,boolean,String);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;XmlStreamReader;(URLConnection,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;getDefaultEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;XmlStreamReader;true;getEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[4];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;XmlStreamReaderException;(String,String,String,String,String,String);;Argument[5];Argument[-1];taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;getBomEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;getContentTypeEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;getContentTypeMime;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;getXmlEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.input;XmlStreamReaderException;true;getXmlGuessEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileAlterationMonitor;false;FileAlterationMonitor;(long,Collection);;Argument[1].Element;Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationMonitor;false;FileAlterationMonitor;(long,FileAlterationObserver[]);;Argument[1].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationMonitor;false;addObserver;(FileAlterationObserver);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationMonitor;false;getObservers;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileAlterationMonitor;false;setThreadFactory;(ThreadFactory);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter,IOCase);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(File,FileFilter,IOCase);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter,IOCase);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;FileAlterationObserver;(String,FileFilter,IOCase);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;addListener;(FileAlterationListener);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;getDirectory;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;getFileFilter;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;getListeners;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileAlterationObserver;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;FileEntry;(File);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;FileEntry;(FileEntry,File);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;FileEntry;(FileEntry,File);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;getChildren;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;getFile;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;getLastModifiedFileTime;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;getName;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;getParent;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;newChildInstance;(File);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;newChildInstance;(File);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;setChildren;(FileEntry[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;setLastModified;(FileTime);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.monitor;FileEntry;true;setName;(String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toByteArray;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toString;(Charset);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;toString;(String);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;write;(InputStream);;Argument[-1];Argument[0];taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;write;(InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;AbstractByteArrayOutputStream;true;writeTo;(OutputStream);;Argument[-1];Argument[0];taint;generated", + "org.apache.commons.io.output;AppendableOutputStream;true;AppendableOutputStream;(Appendable);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;AppendableOutputStream;true;getAppendable;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;AppendableWriter;true;AppendableWriter;(Appendable);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;AppendableWriter;true;getAppendable;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;BrokenOutputStream;true;BrokenOutputStream;(Supplier);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;BrokenWriter;true;BrokenWriter;(Supplier);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;ChunkedOutputStream;true;ChunkedOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;ChunkedOutputStream;true;ChunkedOutputStream;(OutputStream,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;CloseShieldOutputStream;true;CloseShieldOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;CloseShieldOutputStream;true;wrap;(OutputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.output;CountingOutputStream;true;CountingOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,File);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,String,String,File);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,String,String,File);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,String,String,File);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,File);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,String,String,File);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,String,String,File);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;DeferredFileOutputStream;(int,int,String,String,File);;Argument[4];Argument[-1];taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;getData;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;getFile;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;DeferredFileOutputStream;true;writeTo;(OutputStream);;Argument[-1];Argument[0];taint;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,Charset,boolean,String);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,String,boolean,String);;Argument[3];Argument[-1];taint;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(File,boolean,String);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.output;LockableFileWriter;true;LockableFileWriter;(String,boolean,String);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.output;ProxyCollectionWriter;true;ProxyCollectionWriter;(Collection);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.output;ProxyCollectionWriter;true;ProxyCollectionWriter;(Writer[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.output;ProxyOutputStream;true;ProxyOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;StringBuilderWriter;true;StringBuilderWriter;(StringBuilder);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;StringBuilderWriter;true;getBuilder;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;StringBuilderWriter;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;TaggedOutputStream;true;TaggedOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;TeeOutputStream;true;TeeOutputStream;(OutputStream,OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;TeeOutputStream;true;TeeOutputStream;(OutputStream,OutputStream);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;TeeWriter;true;TeeWriter;(Collection);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io.output;TeeWriter;true;TeeWriter;(Writer[]);;Argument[0].ArrayElement;Argument[-1];taint;generated", + "org.apache.commons.io.output;ThresholdingOutputStream;true;ThresholdingOutputStream;(int,IOConsumer,IOFunction);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;ThresholdingOutputStream;true;ThresholdingOutputStream;(int,IOConsumer,IOFunction);;Argument[2];Argument[-1];taint;generated", + "org.apache.commons.io.output;UncheckedAppendable;true;on;(Appendable);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.output;UncheckedFilterOutputStream;true;UncheckedFilterOutputStream;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;UncheckedFilterOutputStream;true;on;(OutputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,Charset);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,Charset,int,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder,int,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,CharsetDecoder,int,boolean);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;WriterOutputStream;true;WriterOutputStream;(Writer,String,int,boolean);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(File,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(OutputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(OutputStream,String);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;XmlStreamWriter;(OutputStream,String);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;getDefaultEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.output;XmlStreamWriter;true;getEncoding;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;ValidatingObjectInputStream;(InputStream);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(ClassNameMatcher);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(ClassNameMatcher);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(Class[]);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(Pattern);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;accept;(String[]);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(ClassNameMatcher);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(ClassNameMatcher);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(Class[]);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(Pattern);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io.serialization;ValidatingObjectInputStream;true;reject;(String[]);;Argument[-1];ReturnValue;value;generated", + "org.apache.commons.io;ByteOrderMark;true;ByteOrderMark;(String,int[]);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io;ByteOrderMark;true;getCharsetName;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;ByteOrderMark;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(InputStream,OutputStream);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(InputStream,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(InputStream,Writer,String);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(Reader,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(String,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(byte[],OutputStream);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(byte[],Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;CopyUtils;true;copy;(byte[],Writer,String);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;DirectoryWalker$CancelException;true;CancelException;(File,int);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io;DirectoryWalker$CancelException;true;CancelException;(String,File,int);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io;DirectoryWalker$CancelException;true;getFile;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;FileCleaningTracker;true;getDeleteFailures;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;FileDeleteStrategy;true;toString;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;FileSystem;false;toLegalFileName;(String,char);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;checksum;(File,Checksum);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;convertFileCollectionToFileArray;(Collection);;Argument[0].Element;ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;delete;(File);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;getFile;(File,String[]);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;getFile;(File,String[]);;Argument[1].ArrayElement;ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;getFile;(String[]);;Argument[0].ArrayElement;ReturnValue;taint;generated", + "org.apache.commons.io;FileUtils;true;toURLs;(File[]);;Argument[0].ArrayElement;ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;concat;(String,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;concat;(String,String);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getBaseName;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getExtension;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getFullPath;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getFullPathNoEndSeparator;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getName;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getPath;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getPathNoEndSeparator;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;getPrefix;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;normalize;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;normalize;(String,boolean);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;normalizeNoEndSeparator;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;normalizeNoEndSeparator;(String,boolean);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;FilenameUtils;true;removeExtension;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOExceptionList;true;IOExceptionList;(List);;Argument[0].Element;Argument[-1];taint;generated", + "org.apache.commons.io;IOExceptionList;true;IOExceptionList;(String,List);;Argument[1].Element;Argument[-1];taint;generated", + "org.apache.commons.io;IOExceptionList;true;getCause;(int);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;IOExceptionList;true;getCauseList;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;IOExceptionList;true;getCauseList;(Class);;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(InputStream,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(OutputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(OutputStream,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(Reader,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(Writer);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;buffer;(Writer,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(InputStream,OutputStream);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(InputStream,OutputStream,int);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(InputStream,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(InputStream,Writer,Charset);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(InputStream,Writer,String);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[0];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[2];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(Reader,Appendable,CharBuffer);;Argument[2];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copy;(Reader,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[0];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[2];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,byte[]);;Argument[2];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[0];Argument[4];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[4];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(InputStream,OutputStream,long,long,byte[]);;Argument[4];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[0];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[2];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,char[]);;Argument[2];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[0];Argument[4];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[4];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;copyLarge;(Reader,Writer,long,long,char[]);;Argument[4];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;lineIterator;(InputStream,Charset);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;lineIterator;(InputStream,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;lineIterator;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[]);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(InputStream,byte[],int,int);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(ReadableByteChannel,ByteBuffer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(Reader,char[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(Reader,char[]);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(Reader,char[],int,int);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;read;(Reader,char[],int,int);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[]);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(InputStream,byte[],int,int);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(InputStream,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(ReadableByteChannel,ByteBuffer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[]);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[]);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[],int,int);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;readFully;(Reader,char[],int,int);;Argument[1];Argument[0];taint;generated", + "org.apache.commons.io;IOUtils;true;readLines;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;readLines;(InputStream,Charset);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;readLines;(InputStream,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;readLines;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toBufferedInputStream;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toBufferedInputStream;(InputStream,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toBufferedReader;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toBufferedReader;(Reader,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(InputStream,int);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(InputStream,long);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(Reader,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toByteArray;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toCharArray;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toCharArray;(InputStream,Charset);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toCharArray;(InputStream,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toCharArray;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toInputStream;(CharSequence);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toInputStream;(CharSequence,Charset);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toInputStream;(CharSequence,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toInputStream;(String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toInputStream;(String,Charset);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toInputStream;(String,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toString;(InputStream);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toString;(InputStream,Charset);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toString;(InputStream,String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toString;(Reader);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toString;(byte[]);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;toString;(byte[],String);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;IOUtils;true;write;(CharSequence,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(String,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(StringBuffer,Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(byte[],OutputStream);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(byte[],Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(byte[],Writer,Charset);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(byte[],Writer,String);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;write;(char[],Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;writeChunked;(byte[],OutputStream);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;writeChunked;(char[],Writer);;Argument[0];Argument[1];taint;generated", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,OutputStream);;Argument[1];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,OutputStream,Charset);;Argument[1];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,OutputStream,String);;Argument[1];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[0].Element;Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;writeLines;(Collection,String,Writer);;Argument[1];Argument[2];taint;generated", + "org.apache.commons.io;IOUtils;true;writer;(Appendable);;Argument[0];ReturnValue;taint;generated", + "org.apache.commons.io;LineIterator;true;LineIterator;(Reader);;Argument[0];Argument[-1];taint;generated", + "org.apache.commons.io;LineIterator;true;nextLine;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;TaggedIOException;true;TaggedIOException;(IOException,Serializable);;Argument[1];Argument[-1];taint;generated", + "org.apache.commons.io;TaggedIOException;true;getTag;();;Argument[-1];ReturnValue;taint;generated", + "org.apache.commons.io;UncheckedIO;true;apply;(IOFunction,Object);;Argument[1];ReturnValue;taint;generated", + "org.apache.commons.io;UncheckedIO;true;apply;(IOTriFunction,Object,Object,Object);;Argument[1];ReturnValue;taint;generated" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/apache/Lang2Generated.qll b/java/ql/lib/semmle/code/java/frameworks/apache/Lang2Generated.qll index a3b8e8c3979..3d9c8116c59 100644 --- a/java/ql/lib/semmle/code/java/frameworks/apache/Lang2Generated.qll +++ b/java/ql/lib/semmle/code/java/frameworks/apache/Lang2Generated.qll @@ -7,278 +7,278 @@ private class ApacheCommonsLangModel extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.commons.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(char[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.CharSequence,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.CharSequence);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.String,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.nio.CharBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(java.nio.CharBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;append;(org.apache.commons.text.StrBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendAll;(Iterable);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendAll;(Iterator);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendAll;(Object[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendln;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(char[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendln;(org.apache.commons.text.StrBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendNewLine;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendNull;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendPadding;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendSeparator;(java.lang.String,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendSeparator;(java.lang.String,java.lang.String);;Argument[0..1];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendSeparator;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendTo;;;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;appendWithSeparators;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendWithSeparators;(Iterable,String);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendWithSeparators;(Iterator,String);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;appendWithSeparators;(Object[],String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;asReader;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;asTokenizer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;build;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;delete;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;deleteAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;deleteCharAt;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;deleteFirst;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;ensureCapacity;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;getChars;(char[]);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StrBuilder;false;getChars;(char[]);;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;getChars;(int,int,char[],int);;Argument[-1];Argument[2];taint", - "org.apache.commons.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;insert;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;leftString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;midString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;minimizeCapacity;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;readFrom;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;replace;(int,int,java.lang.String);;Argument[2];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;replace;(org.apache.commons.text.StrMatcher,java.lang.String,int,int,int);;Argument[1];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;replaceAll;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;replaceFirst;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;reverse;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;rightString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;setCharAt;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;setLength;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;setNewLineText;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;setNullText;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StrBuilder;false;StrBuilder;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrBuilder;false;subSequence;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;substring;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;toCharArray;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;toStringBuffer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;toStringBuilder;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrBuilder;false;trim;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;StringSubstitutor;false;replace;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(char[],int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.CharSequence,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.CharSequence);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[1].MapValue;ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[1].MapValue;ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[1].MapValue;ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.String,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.StringBuffer,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.StringBuffer);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(org.apache.commons.text.TextStringBuilder,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replace;(org.apache.commons.text.TextStringBuilder);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuffer,int,int);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuffer);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuilder,int,int);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuilder);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StringSubstitutor;false;replaceIn;(org.apache.commons.text.TextStringBuilder,int,int);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StringSubstitutor;false;replaceIn;(org.apache.commons.text.TextStringBuilder);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;StringSubstitutor;false;setVariableResolver;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StringSubstitutor;false;StringSubstitutor;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StringSubstitutor;false;StringSubstitutor;;;Argument[0].MapValue;Argument[-1];taint", - "org.apache.commons.text;StringTokenizer;false;clone;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;getContent;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;getCSVInstance;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;getTokenArray;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;getTokenList;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;getTSVInstance;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;next;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;previous;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;previousToken;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;reset;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StringTokenizer;false;reset;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StringTokenizer;false;StringTokenizer;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StringTokenizer;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;clone;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;getContent;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;getCSVInstance;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;getTokenArray;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;getTokenList;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;getTSVInstance;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;next;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;previous;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;previousToken;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;reset;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrTokenizer;false;reset;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;StrTokenizer;false;StrTokenizer;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;StrTokenizer;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;append;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;append;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(char[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.CharSequence,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.CharSequence);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.nio.CharBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(java.nio.CharBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;append;(org.apache.commons.text.TextStringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendAll;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;appendAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendAll;(Iterable);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendAll;(Iterator);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendAll;(Object[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadLeft;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadRight;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendln;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(char[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendln;(org.apache.commons.text.TextStringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendNewLine;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendNull;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendPadding;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendSeparator;(java.lang.String,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendSeparator;(java.lang.String,java.lang.String);;Argument[0..1];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendSeparator;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendTo;;;Argument[-1];Argument[0];taint", - "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;(Iterable,String);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;(Iterator,String);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;(Object[],String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;asReader;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;asTokenizer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;build;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;delete;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;deleteAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;deleteCharAt;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;deleteFirst;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;ensureCapacity;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;getChars;(char[]);;Argument[-1];Argument[0];taint", - "org.apache.commons.text;TextStringBuilder;false;getChars;(char[]);;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;getChars;(int,int,char[],int);;Argument[-1];Argument[2];taint", - "org.apache.commons.text;TextStringBuilder;false;insert;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;insert;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;insert;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;leftString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;midString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;minimizeCapacity;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;readFrom;;;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;replace;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;replace;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;replace;(int,int,java.lang.String);;Argument[2];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;replace;(org.apache.commons.text.matcher.StringMatcher,java.lang.String,int,int,int);;Argument[1];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;replaceAll;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;replaceAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;replaceAll;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;replaceFirst;;;Argument[1];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;reverse;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;rightString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;setCharAt;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;setLength;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;setNewLineText;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;setNullText;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;TextStringBuilder;false;subSequence;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;substring;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;TextStringBuilder;(java.lang.CharSequence);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;TextStringBuilder;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.text;TextStringBuilder;false;toCharArray;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;toStringBuffer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;toStringBuilder;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text;TextStringBuilder;false;trim;;;Argument[-1];ReturnValue;value", - "org.apache.commons.text;WordUtils;false;abbreviate;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;abbreviate;;;Argument[3];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;capitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;capitalize;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;capitalizeFully;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;capitalizeFully;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;initials;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;initials;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;swapCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;uncapitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;uncapitalize;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;wrap;;;Argument[0];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean,java.lang.String);;Argument[2];ReturnValue;taint", - "org.apache.commons.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean);;Argument[2];ReturnValue;taint", - "org.apache.commons.text.lookup;StringLookup;true;lookup;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.text.lookup;StringLookupFactory;false;mapStringLookup;;;Argument[0].MapValue;ReturnValue;taint", + "org.apache.commons.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(char[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.CharSequence,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.CharSequence);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.String,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.nio.CharBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(java.nio.CharBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;append;(org.apache.commons.text.StrBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendAll;(Iterable);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendAll;(Iterator);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendAll;(Object[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(char[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendln;(org.apache.commons.text.StrBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendNewLine;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendNull;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendPadding;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendSeparator;(java.lang.String,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendSeparator;(java.lang.String,java.lang.String);;Argument[0..1];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendSeparator;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendTo;;;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;appendWithSeparators;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendWithSeparators;(Iterable,String);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendWithSeparators;(Iterator,String);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;appendWithSeparators;(Object[],String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;asReader;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;asTokenizer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;delete;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;deleteAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;deleteCharAt;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;deleteFirst;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;ensureCapacity;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;getChars;(char[]);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StrBuilder;false;getChars;(char[]);;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;getChars;(int,int,char[],int);;Argument[-1];Argument[2];taint;manual", + "org.apache.commons.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;insert;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;leftString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;midString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;minimizeCapacity;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;readFrom;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;replace;(int,int,java.lang.String);;Argument[2];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;replace;(org.apache.commons.text.StrMatcher,java.lang.String,int,int,int);;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;replaceAll;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;replaceFirst;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;reverse;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;rightString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;setCharAt;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;setLength;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;setNewLineText;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;setNullText;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StrBuilder;false;StrBuilder;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrBuilder;false;subSequence;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;substring;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;toCharArray;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;toStringBuffer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;toStringBuilder;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrBuilder;false;trim;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(char[],int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.CharSequence,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.CharSequence);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.Object);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.String,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.StringBuffer,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(java.lang.StringBuffer);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(org.apache.commons.text.TextStringBuilder,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replace;(org.apache.commons.text.TextStringBuilder);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuffer,int,int);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuffer);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuilder,int,int);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replaceIn;(java.lang.StringBuilder);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replaceIn;(org.apache.commons.text.TextStringBuilder,int,int);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;replaceIn;(org.apache.commons.text.TextStringBuilder);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;setVariableResolver;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;StringSubstitutor;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StringSubstitutor;false;StringSubstitutor;;;Argument[0].MapValue;Argument[-1];taint;manual", + "org.apache.commons.text;StringTokenizer;false;clone;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;getContent;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;getCSVInstance;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;getTokenArray;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;getTokenList;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;getTSVInstance;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;next;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;previous;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;previousToken;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;reset;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StringTokenizer;false;reset;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StringTokenizer;false;StringTokenizer;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StringTokenizer;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;clone;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;getContent;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;getCSVInstance;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;getTokenArray;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;getTokenList;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;getTSVInstance;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;next;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;previous;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;previousToken;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;reset;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrTokenizer;false;reset;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;StrTokenizer;false;StrTokenizer;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;StrTokenizer;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(char[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.CharSequence,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.CharSequence);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.nio.CharBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(java.nio.CharBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;append;(org.apache.commons.text.TextStringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendAll;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendAll;(Iterable);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendAll;(Iterator);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendAll;(Object[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadLeft;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendFixedWidthPadRight;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(char[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendln;(org.apache.commons.text.TextStringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendNewLine;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendNull;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendPadding;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendSeparator;(java.lang.String,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendSeparator;(java.lang.String,java.lang.String);;Argument[0..1];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendSeparator;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendTo;;;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;(Iterable,String);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;(Iterator,String);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;appendWithSeparators;(Object[],String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;asReader;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;asTokenizer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;delete;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;deleteAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;deleteCharAt;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;deleteFirst;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;ensureCapacity;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;getChars;(char[]);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;getChars;(char[]);;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;getChars;(int,int,char[],int);;Argument[-1];Argument[2];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;insert;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;insert;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;insert;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;leftString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;midString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;minimizeCapacity;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;readFrom;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replace;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replace;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;replace;(int,int,java.lang.String);;Argument[2];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replace;(org.apache.commons.text.matcher.StringMatcher,java.lang.String,int,int,int);;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replaceAll;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replaceAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;replaceAll;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;replaceFirst;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;reverse;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;rightString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;setCharAt;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;setLength;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;setNewLineText;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;setNullText;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;TextStringBuilder;false;subSequence;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;substring;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;TextStringBuilder;(java.lang.CharSequence);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;TextStringBuilder;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.text;TextStringBuilder;false;toCharArray;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;toStringBuffer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;toStringBuilder;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text;TextStringBuilder;false;trim;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.text;WordUtils;false;abbreviate;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;abbreviate;;;Argument[3];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;capitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;capitalize;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;capitalizeFully;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;capitalizeFully;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;initials;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;initials;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;swapCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;uncapitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;uncapitalize;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;wrap;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean,java.lang.String);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.text.lookup;StringLookup;true;lookup;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.text.lookup;StringLookupFactory;false;mapStringLookup;;;Argument[0].MapValue;ReturnValue;taint;manual", ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/apache/Lang3Generated.qll b/java/ql/lib/semmle/code/java/frameworks/apache/Lang3Generated.qll index 4e3500c6f4e..d406c73aaf8 100644 --- a/java/ql/lib/semmle/code/java/frameworks/apache/Lang3Generated.qll +++ b/java/ql/lib/semmle/code/java/frameworks/apache/Lang3Generated.qll @@ -7,430 +7,430 @@ private class ApacheCommonsLang3Model extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.commons.lang3;ArrayUtils;false;add;;;Argument[2];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(boolean[],boolean);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(byte[],byte);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(char[],char);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(double[],double);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(float[],float);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(int[],int);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(java.lang.Object[],java.lang.Object);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(long[],long);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;add;(short[],short);;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;addAll;;;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;addFirst;;;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;addFirst;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;clone;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;get;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;ArrayUtils;false;get;(java.lang.Object[],int,java.lang.Object);;Argument[2];ReturnValue;value", - "org.apache.commons.lang3;ArrayUtils;false;insert;;;Argument[1..2].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;nullToEmpty;(java.lang.Object[],java.lang.Class);;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ArrayUtils;false;nullToEmpty;(java.lang.String[]);;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ArrayUtils;false;remove;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;removeAll;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;removeAllOccurences;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;removeAllOccurrences;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;removeElement;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;removeElements;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;subarray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;toArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.ArrayElement;ReturnValue.MapKey;value", - "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.ArrayElement;ReturnValue.MapValue;value", - "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.MapKey;ReturnValue.MapKey;value", - "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.MapValue;ReturnValue.MapValue;value", - "org.apache.commons.lang3;ArrayUtils;false;toObject;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;toPrimitive;;;Argument[1];ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ArrayUtils;false;toPrimitive;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.apache.commons.lang3;ObjectUtils;false;clone;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;cloneIfPossible;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;CONST_BYTE;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;CONST_SHORT;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;CONST;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;defaultIfNull;;;Argument[0..1];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;firstNonNull;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;getIfNull;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;max;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;median;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;min;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;mode;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;requireNonEmpty;;;Argument[0];ReturnValue;value", - "org.apache.commons.lang3;ObjectUtils;false;toString;(Object,String);;Argument[1];ReturnValue;value", - "org.apache.commons.lang3;RegExUtils;false;removeAll;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;removeFirst;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;removePattern;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;replaceAll;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;replaceAll;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;replaceFirst;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;replaceFirst;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;replacePattern;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;RegExUtils;false;replacePattern;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringEscapeUtils;false;escapeJson;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;abbreviate;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;abbreviate;(java.lang.String,java.lang.String,int,int);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;abbreviate;(java.lang.String,java.lang.String,int);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;abbreviateMiddle;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;abbreviateMiddle;;;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;appendIfMissing;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;appendIfMissing;;;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;appendIfMissingIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;appendIfMissingIgnoreCase;;;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;capitalize;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;center;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;center;(java.lang.String,int,java.lang.String);;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;chomp;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;chomp;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;chop;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;defaultIfBlank;;;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;defaultIfEmpty;;;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;defaultString;;;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;deleteWhitespace;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;difference;;;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;firstNonBlank;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;StringUtils;false;firstNonEmpty;;;Argument[0].ArrayElement;ReturnValue;value", - "org.apache.commons.lang3;StringUtils;false;getBytes;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;getCommonPrefix;;;Argument[0].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;getDigits;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;getIfBlank;;;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;getIfEmpty;;;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(char[],char,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(char[],char);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Iterable,char);;Argument[0].Element;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Iterable,java.lang.String);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Iterable,java.lang.String);;Argument[0].Element;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],char,int,int);;Argument[0].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],char);;Argument[0].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String,int,int);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String,int,int);;Argument[0].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String);;Argument[0].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[]);;Argument[0].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.util.Iterator,char);;Argument[0].Element;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.util.Iterator,java.lang.String);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.util.Iterator,java.lang.String);;Argument[0].Element;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.util.List,char,int,int);;Argument[0].Element;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.util.List,java.lang.String,int,int);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;join;(java.util.List,java.lang.String,int,int);;Argument[0].Element;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;joinWith;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;joinWith;;;Argument[1].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;left;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;leftPad;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;leftPad;(java.lang.String,int,java.lang.String);;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;lowerCase;(java.lang.String,java.util.Locale);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;lowerCase;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;mid;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;normalizeSpace;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;overlay;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;overlay;;;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;prependIfMissing;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;prependIfMissing;;;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;prependIfMissingIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;prependIfMissingIgnoreCase;;;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;remove;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeAll;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeEnd;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeEndIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeFirst;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removePattern;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeStart;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;removeStartIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;repeat;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;repeat;(java.lang.String,java.lang.String,int);;Argument[1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replace;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replace;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceAll;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceAll;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceChars;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceChars;(java.lang.String,java.lang.String,java.lang.String);;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceEach;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceEach;;;Argument[2].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceEachRepeatedly;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceEachRepeatedly;;;Argument[2].ArrayElement;ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceFirst;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceFirst;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceIgnoreCase;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceOnce;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceOnce;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceOnceIgnoreCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replaceOnceIgnoreCase;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replacePattern;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;replacePattern;;;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;reverse;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;reverseDelimited;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;right;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;rightPad;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;rightPad;(java.lang.String,int,java.lang.String);;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;rotate;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String,char);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String,java.lang.String,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitByCharacterType;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitByCharacterTypeCamelCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitByWholeSeparator;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitByWholeSeparatorPreserveAllTokens;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String,char);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String,java.lang.String,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;strip;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;strip;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;stripAccents;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;stripAll;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;taint", - "org.apache.commons.lang3;StringUtils;false;stripEnd;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;stripStart;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;stripToEmpty;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;stripToNull;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substring;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substringAfter;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substringAfterLast;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substringBefore;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substringBeforeLast;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substringBetween;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;substringsBetween;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;swapCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;toCodePoints;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;toEncodedString;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;toRootLowerCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;toRootUpperCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;toString;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;trim;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;trimToEmpty;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;trimToNull;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;truncate;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;uncapitalize;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;unwrap;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;upperCase;(java.lang.String,java.util.Locale);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;upperCase;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;valueOf;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;wrap;(java.lang.String,char);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;wrap;(java.lang.String,java.lang.String);;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;wrapIfMissing;(java.lang.String,char);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3;StringUtils;false;wrapIfMissing;(java.lang.String,java.lang.String);;Argument[0..1];ReturnValue;taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.Object[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,boolean);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object);;Argument[0..1];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[],boolean);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[],boolean);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;appendAsObjectToString;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.builder;ToStringBuilder;false;appendSuper;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.builder;ToStringBuilder;false;appendSuper;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;appendToString;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.builder;ToStringBuilder;false;appendToString;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;build;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;getStringBuffer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.builder;ToStringBuilder;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.mutable;MutableObject;false;getValue;;;Argument[-1].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value];ReturnValue;value", - "org.apache.commons.lang3.mutable;MutableObject;false;MutableObject;;;Argument[0];Argument[-1].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value];value", - "org.apache.commons.lang3.mutable;MutableObject;false;setValue;;;Argument[0];Argument[-1].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value];value", - "org.apache.commons.lang3.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;append;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(char[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.CharSequence,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.CharSequence);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.nio.CharBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(java.nio.CharBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;append;(org.apache.commons.lang3.text.StrBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendAll;(Iterable);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendAll;(Iterator);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendAll;(Object[]);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(char[],int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(char[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.Object);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendln;(org.apache.commons.lang3.text.StrBuilder);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendNewLine;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendNull;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendPadding;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;(java.lang.String,int);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;(java.lang.String,java.lang.String);;Argument[0..1];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendTo;;;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;;;Argument[1];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;(Iterable,String);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;(Iterator,String);;Argument[0].Element;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;(Object[],String);;Argument[0].ArrayElement;Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;asReader;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;asTokenizer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;build;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;delete;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;deleteAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;deleteCharAt;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;deleteFirst;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;ensureCapacity;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;getChars;(char[]);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrBuilder;false;getChars;(char[]);;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;getChars;(int,int,char[],int);;Argument[-1];Argument[2];taint", - "org.apache.commons.lang3.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;insert;;;Argument[1];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;leftString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;midString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;minimizeCapacity;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;readFrom;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;replace;(int,int,java.lang.String);;Argument[2];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;replace;(org.apache.commons.lang3.text.StrMatcher,java.lang.String,int,int,int);;Argument[1];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;replaceAll;;;Argument[1];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;replaceFirst;;;Argument[1];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;reverse;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;rightString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;setCharAt;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;setLength;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;setNewLineText;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;setNullText;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrBuilder;false;StrBuilder;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrBuilder;false;subSequence;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;substring;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;toCharArray;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;toStringBuffer;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;toStringBuilder;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrBuilder;false;trim;;;Argument[-1];ReturnValue;value", - "org.apache.commons.lang3.text;StrLookup;false;lookup;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrLookup;false;mapLookup;;;Argument[0].MapValue;ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(char[],int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.CharSequence,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.CharSequence);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[1].MapValue;ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[1].MapValue;ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[1].MapValue;ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.String,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.StringBuffer,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.StringBuffer);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(org.apache.commons.lang3.text.StrBuilder,int,int);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(org.apache.commons.lang3.text.StrBuilder);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuffer,int,int);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuffer);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuilder,int,int);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuilder);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(org.apache.commons.lang3.text.StrBuilder,int,int);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(org.apache.commons.lang3.text.StrBuilder);;Argument[-1];Argument[0];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;setVariableResolver;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;StrSubstitutor;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrSubstitutor;false;StrSubstitutor;;;Argument[0].MapValue;Argument[-1];taint", - "org.apache.commons.lang3.text;StrTokenizer;false;clone;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;getContent;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;getCSVInstance;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;getTokenArray;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;getTokenList;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;getTSVInstance;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;next;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;previous;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;previousToken;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;reset;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrTokenizer;false;reset;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;StrTokenizer;false;StrTokenizer;;;Argument[0];Argument[-1];taint", - "org.apache.commons.lang3.text;StrTokenizer;false;toString;;;Argument[-1];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;capitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;capitalize;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;capitalizeFully;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;capitalizeFully;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;initials;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;initials;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;swapCase;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;uncapitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;uncapitalize;(java.lang.String);;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;wrap;;;Argument[0];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean,java.lang.String);;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean);;Argument[2];ReturnValue;taint", - "org.apache.commons.lang3.tuple;ImmutablePair;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.left];ReturnValue;value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.right];ReturnValue;value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;ImmutablePair;(java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;ImmutablePair;(java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;left;;;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value", - "org.apache.commons.lang3.tuple;ImmutablePair;false;right;;;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];ReturnValue;value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;getMiddle;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];ReturnValue;value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];ReturnValue;value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;ImmutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;ImmutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;ImmutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];value", - "org.apache.commons.lang3.tuple;ImmutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];value", - "org.apache.commons.lang3.tuple;MutablePair;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];ReturnValue;value", - "org.apache.commons.lang3.tuple;MutablePair;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];ReturnValue;value", - "org.apache.commons.lang3.tuple;MutablePair;false;MutablePair;(java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];value", - "org.apache.commons.lang3.tuple;MutablePair;false;MutablePair;(java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];value", - "org.apache.commons.lang3.tuple;MutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.MutablePair.left];value", - "org.apache.commons.lang3.tuple;MutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.MutablePair.right];value", - "org.apache.commons.lang3.tuple;MutablePair;false;setLeft;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];value", - "org.apache.commons.lang3.tuple;MutablePair;false;setRight;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];value", - "org.apache.commons.lang3.tuple;MutablePair;false;setValue;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.left];ReturnValue;value", - "org.apache.commons.lang3.tuple;MutableTriple;false;getMiddle;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.middle];ReturnValue;value", - "org.apache.commons.lang3.tuple;MutableTriple;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.right];ReturnValue;value", - "org.apache.commons.lang3.tuple;MutableTriple;false;MutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.left];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;MutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.middle];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;MutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.right];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.left];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.middle];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.right];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;setLeft;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.left];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;setMiddle;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.middle];value", - "org.apache.commons.lang3.tuple;MutableTriple;false;setRight;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.right];value", - "org.apache.commons.lang3.tuple;Pair;false;getKey;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.left];ReturnValue;value", - "org.apache.commons.lang3.tuple;Pair;false;getKey;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];ReturnValue;value", - "org.apache.commons.lang3.tuple;Pair;false;getValue;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.right];ReturnValue;value", - "org.apache.commons.lang3.tuple;Pair;false;getValue;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];ReturnValue;value", - "org.apache.commons.lang3.tuple;Pair;false;of;(java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value", - "org.apache.commons.lang3.tuple;Pair;false;of;(java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value", - "org.apache.commons.lang3.tuple;Triple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];value", - "org.apache.commons.lang3.tuple;Triple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];value", - "org.apache.commons.lang3.tuple;Triple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];value", + "org.apache.commons.lang3;ArrayUtils;false;add;;;Argument[2];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(boolean[],boolean);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(byte[],byte);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(char[],char);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(double[],double);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(float[],float);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(int[],int);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(java.lang.Object[],java.lang.Object);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(long[],long);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;add;(short[],short);;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;addAll;;;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;addFirst;;;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;addFirst;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;clone;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;get;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;get;(java.lang.Object[],int,java.lang.Object);;Argument[2];ReturnValue;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;insert;;;Argument[1..2].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;nullToEmpty;(java.lang.Object[],java.lang.Class);;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;nullToEmpty;(java.lang.String[]);;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;remove;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;removeAll;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;removeAllOccurences;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;removeAllOccurrences;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;removeElement;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;removeElements;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;subarray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.ArrayElement;ReturnValue.MapKey;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.ArrayElement;ReturnValue.MapValue;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.MapKey;ReturnValue.MapKey;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toMap;;;Argument[0].ArrayElement.MapValue;ReturnValue.MapValue;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toObject;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toPrimitive;;;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ArrayUtils;false;toPrimitive;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;clone;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;cloneIfPossible;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;CONST_BYTE;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;CONST_SHORT;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;CONST;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;defaultIfNull;;;Argument[0..1];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;firstNonNull;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;getIfNull;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;max;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;median;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;min;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;mode;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;requireNonEmpty;;;Argument[0];ReturnValue;value;manual", + "org.apache.commons.lang3;ObjectUtils;false;toString;(Object,String);;Argument[1];ReturnValue;value;manual", + "org.apache.commons.lang3;RegExUtils;false;removeAll;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;removeFirst;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;removePattern;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;replaceAll;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;replaceAll;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;replaceFirst;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;replaceFirst;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;replacePattern;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;RegExUtils;false;replacePattern;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringEscapeUtils;false;escapeJson;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;abbreviate;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;abbreviate;(java.lang.String,java.lang.String,int,int);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;abbreviate;(java.lang.String,java.lang.String,int);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;abbreviateMiddle;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;abbreviateMiddle;;;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;appendIfMissing;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;appendIfMissing;;;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;appendIfMissingIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;appendIfMissingIgnoreCase;;;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;capitalize;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;center;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;center;(java.lang.String,int,java.lang.String);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;chomp;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;chomp;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;chop;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;defaultIfBlank;;;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;defaultIfEmpty;;;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;defaultString;;;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;deleteWhitespace;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;difference;;;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;firstNonBlank;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;StringUtils;false;firstNonEmpty;;;Argument[0].ArrayElement;ReturnValue;value;manual", + "org.apache.commons.lang3;StringUtils;false;getBytes;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;getCommonPrefix;;;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;getDigits;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;getIfBlank;;;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;getIfEmpty;;;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(char[],char,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(char[],char);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Iterable,char);;Argument[0].Element;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Iterable,java.lang.String);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Iterable,java.lang.String);;Argument[0].Element;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],char,int,int);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],char);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String,int,int);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String,int,int);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[],java.lang.String);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.lang.Object[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.util.Iterator,char);;Argument[0].Element;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.util.Iterator,java.lang.String);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.util.Iterator,java.lang.String);;Argument[0].Element;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.util.List,char,int,int);;Argument[0].Element;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.util.List,java.lang.String,int,int);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;join;(java.util.List,java.lang.String,int,int);;Argument[0].Element;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;joinWith;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;joinWith;;;Argument[1].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;left;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;leftPad;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;leftPad;(java.lang.String,int,java.lang.String);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;lowerCase;(java.lang.String,java.util.Locale);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;lowerCase;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;mid;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;normalizeSpace;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;overlay;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;overlay;;;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;prependIfMissing;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;prependIfMissing;;;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;prependIfMissingIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;prependIfMissingIgnoreCase;;;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;remove;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeAll;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeEnd;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeEndIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeFirst;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removePattern;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeStart;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;removeStartIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;repeat;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;repeat;(java.lang.String,java.lang.String,int);;Argument[1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replace;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replace;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceAll;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceAll;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceChars;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceChars;(java.lang.String,java.lang.String,java.lang.String);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceEach;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceEach;;;Argument[2].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceEachRepeatedly;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceEachRepeatedly;;;Argument[2].ArrayElement;ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceFirst;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceFirst;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceIgnoreCase;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceOnce;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceOnce;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceOnceIgnoreCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replaceOnceIgnoreCase;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replacePattern;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;replacePattern;;;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;reverse;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;reverseDelimited;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;right;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;rightPad;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;rightPad;(java.lang.String,int,java.lang.String);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;rotate;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String,char);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String,java.lang.String,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;split;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitByCharacterType;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitByCharacterTypeCamelCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitByWholeSeparator;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitByWholeSeparatorPreserveAllTokens;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String,char);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String,java.lang.String,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;splitPreserveAllTokens;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;strip;(java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;strip;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;stripAccents;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;stripAll;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;taint;manual", + "org.apache.commons.lang3;StringUtils;false;stripEnd;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;stripStart;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;stripToEmpty;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;stripToNull;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substring;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substringAfter;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substringAfterLast;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substringBefore;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substringBeforeLast;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substringBetween;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;substringsBetween;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;swapCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;toCodePoints;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;toEncodedString;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;toRootLowerCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;toRootUpperCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;toString;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;trim;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;trimToEmpty;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;trimToNull;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;truncate;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;uncapitalize;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;unwrap;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;upperCase;(java.lang.String,java.util.Locale);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;upperCase;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;valueOf;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;wrap;(java.lang.String,char);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;wrap;(java.lang.String,java.lang.String);;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;wrapIfMissing;(java.lang.String,char);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3;StringUtils;false;wrapIfMissing;(java.lang.String,java.lang.String);;Argument[0..1];ReturnValue;taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.Object[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,boolean);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object);;Argument[0..1];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[],boolean);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[],boolean);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;appendAsObjectToString;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;appendSuper;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;appendSuper;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;appendToString;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;appendToString;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;getStringBuffer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.builder;ToStringBuilder;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.mutable;MutableObject;false;getValue;;;Argument[-1].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value];ReturnValue;value;manual", + "org.apache.commons.lang3.mutable;MutableObject;false;MutableObject;;;Argument[0];Argument[-1].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value];value;manual", + "org.apache.commons.lang3.mutable;MutableObject;false;setValue;;;Argument[0];Argument[-1].SyntheticField[org.apache.commons.lang3.mutable.MutableObject.value];value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(char[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.CharSequence,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.CharSequence);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.nio.CharBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(java.nio.CharBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;append;(org.apache.commons.lang3.text.StrBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendAll;(Iterable);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendAll;(Iterator);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendAll;(Object[]);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadLeft;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendFixedWidthPadRight;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(char[],int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(char[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.Object);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String,java.lang.Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuffer,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuffer);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuilder,int,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(java.lang.StringBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendln;(org.apache.commons.lang3.text.StrBuilder);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendNewLine;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendNull;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendPadding;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;(java.lang.String,int);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;(java.lang.String,java.lang.String);;Argument[0..1];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendSeparator;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendTo;;;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;(Iterable,String);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;(Iterator,String);;Argument[0].Element;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;appendWithSeparators;(Object[],String);;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;asReader;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;asTokenizer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;delete;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;deleteAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;deleteCharAt;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;deleteFirst;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;ensureCapacity;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;getChars;(char[]);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;getChars;(char[]);;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;getChars;(int,int,char[],int);;Argument[-1];Argument[2];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;insert;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;insert;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;leftString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;midString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;minimizeCapacity;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;readFrom;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replace;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replace;(int,int,java.lang.String);;Argument[2];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replace;(org.apache.commons.lang3.text.StrMatcher,java.lang.String,int,int,int);;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replaceAll;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replaceAll;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replaceFirst;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;replaceFirst;;;Argument[1];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;reverse;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;rightString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;setCharAt;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;setLength;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;setNewLineText;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;setNullText;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrBuilder;false;StrBuilder;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;subSequence;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;substring;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;toCharArray;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;toStringBuffer;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;toStringBuilder;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrBuilder;false;trim;;;Argument[-1];ReturnValue;value;manual", + "org.apache.commons.lang3.text;StrLookup;false;lookup;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrLookup;false;mapLookup;;;Argument[0].MapValue;ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(char[],int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.CharSequence,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.CharSequence);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map,java.lang.String,java.lang.String);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Map);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object,java.util.Properties);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.Object);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.String,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.StringBuffer,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(java.lang.StringBuffer);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(org.apache.commons.lang3.text.StrBuilder,int,int);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replace;(org.apache.commons.lang3.text.StrBuilder);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuffer,int,int);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuffer);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuilder,int,int);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(java.lang.StringBuilder);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(org.apache.commons.lang3.text.StrBuilder,int,int);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;replaceIn;(org.apache.commons.lang3.text.StrBuilder);;Argument[-1];Argument[0];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;setVariableResolver;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;StrSubstitutor;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrSubstitutor;false;StrSubstitutor;;;Argument[0].MapValue;Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;clone;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;getContent;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;getCSVInstance;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;getTokenArray;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;getTokenList;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;getTSVInstance;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;next;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;nextToken;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;previous;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;previousToken;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;reset;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;reset;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;StrTokenizer;;;Argument[0];Argument[-1];taint;manual", + "org.apache.commons.lang3.text;StrTokenizer;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;capitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;capitalize;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;capitalizeFully;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;capitalizeFully;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;initials;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;initials;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;swapCase;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;uncapitalize;(java.lang.String,char[]);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;uncapitalize;(java.lang.String);;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;wrap;;;Argument[0];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean,java.lang.String);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3.text;WordUtils;false;wrap;(java.lang.String,int,java.lang.String,boolean);;Argument[2];ReturnValue;taint;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.left];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.right];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;ImmutablePair;(java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;ImmutablePair;(java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;left;;;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;ImmutablePair;false;right;;;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;getMiddle;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;ImmutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;ImmutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;ImmutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];value;manual", + "org.apache.commons.lang3.tuple;ImmutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;MutablePair;(java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;MutablePair;(java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.MutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;of;(java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.MutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;setLeft;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;setRight;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;MutablePair;false;setValue;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;getLeft;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.left];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;getMiddle;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.middle];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;getRight;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.right];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;MutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.left];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;MutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.middle];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;MutableTriple;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.right];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.left];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.middle];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];ReturnValue.Field[org.apache.commons.lang3.tuple.MutableTriple.right];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;setLeft;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.left];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;setMiddle;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.middle];value;manual", + "org.apache.commons.lang3.tuple;MutableTriple;false;setRight;;;Argument[0];Argument[-1].Field[org.apache.commons.lang3.tuple.MutableTriple.right];value;manual", + "org.apache.commons.lang3.tuple;Pair;false;getKey;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.left];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;Pair;false;getKey;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.left];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;Pair;false;getValue;;;Argument[-1].Field[org.apache.commons.lang3.tuple.ImmutablePair.right];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;Pair;false;getValue;;;Argument[-1].Field[org.apache.commons.lang3.tuple.MutablePair.right];ReturnValue;value;manual", + "org.apache.commons.lang3.tuple;Pair;false;of;(java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.left];value;manual", + "org.apache.commons.lang3.tuple;Pair;false;of;(java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutablePair.right];value;manual", + "org.apache.commons.lang3.tuple;Triple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[0];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.left];value;manual", + "org.apache.commons.lang3.tuple;Triple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[1];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.middle];value;manual", + "org.apache.commons.lang3.tuple;Triple;false;of;(java.lang.Object,java.lang.Object,java.lang.Object);;Argument[2];ReturnValue.Field[org.apache.commons.lang3.tuple.ImmutableTriple.right];value;manual", ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/guava/Base.qll b/java/ql/lib/semmle/code/java/frameworks/guava/Base.qll index c0b8eef0aaa..424dade4291 100644 --- a/java/ql/lib/semmle/code/java/frameworks/guava/Base.qll +++ b/java/ql/lib/semmle/code/java/frameworks/guava/Base.qll @@ -8,91 +8,91 @@ private class GuavaBaseCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "com.google.common.base;Strings;false;emptyToNull;(String);;Argument[0];ReturnValue;value", - "com.google.common.base;Strings;false;nullToEmpty;(String);;Argument[0];ReturnValue;value", - "com.google.common.base;Strings;false;padStart;(String,int,char);;Argument[0];ReturnValue;taint", - "com.google.common.base;Strings;false;padEnd;(String,int,char);;Argument[0];ReturnValue;taint", - "com.google.common.base;Strings;false;repeat;(String,int);;Argument[0];ReturnValue;taint", - "com.google.common.base;Strings;false;lenientFormat;(String,Object[]);;Argument[0];ReturnValue;taint", - "com.google.common.base;Strings;false;lenientFormat;(String,Object[]);;Argument[1].ArrayElement;ReturnValue;taint", - "com.google.common.base;Joiner;false;on;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Joiner;false;skipNulls;();;Argument[-1];ReturnValue;taint", - "com.google.common.base;Joiner;false;useForNull;(String);;Argument[-1];ReturnValue;taint", - "com.google.common.base;Joiner;false;useForNull;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Joiner;false;withKeyValueSeparator;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Joiner;false;withKeyValueSeparator;(String);;Argument[-1];ReturnValue;taint", - "com.google.common.base;Joiner;false;withKeyValueSeparator;(char);;Argument[-1];ReturnValue;taint", - "com.google.common.base;Joiner;false;appendTo;(Appendable,Object,Object,Object[]);;Argument[1..2];Argument[0];taint", - "com.google.common.base;Joiner;false;appendTo;(Appendable,Object,Object,Object[]);;Argument[3].ArrayElement;Argument[0];taint", - "com.google.common.base;Joiner;false;appendTo;(Appendable,Iterable);;Argument[1].Element;Argument[-1];taint", - "com.google.common.base;Joiner;false;appendTo;(Appendable,Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "com.google.common.base;Joiner;false;appendTo;(Appendable,Iterator);;Argument[1].Element;Argument[-1];taint", - "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Object,Object,Object[]);;Argument[1..2];Argument[0];taint", - "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Object,Object,Object[]);;Argument[3].ArrayElement;Argument[0];taint", - "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Iterable);;Argument[1].Element;Argument[-1];taint", - "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Iterator);;Argument[1].Element;Argument[-1];taint", - "com.google.common.base;Joiner;false;appendTo;;;Argument[-1];Argument[0];taint", - "com.google.common.base;Joiner;false;appendTo;;;Argument[0];ReturnValue;value", - "com.google.common.base;Joiner;false;join;;;Argument[-1..2];ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;useForNull;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;useForNull;(String);;Argument[-1];ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;appendTo;;;Argument[1];Argument[0];taint", - "com.google.common.base;Joiner$MapJoiner;false;appendTo;;;Argument[0];ReturnValue;value", - "com.google.common.base;Joiner$MapJoiner;false;join;;;Argument[-1];ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;join;(Iterable);;Argument[0].Element.MapKey;ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;join;(Iterable);;Argument[0].Element.MapValue;ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;join;(Iterator);;Argument[0].Element.MapKey;ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;join;(Iterator);;Argument[0].Element.MapValue;ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;join;(Map);;Argument[0].MapKey;ReturnValue;taint", - "com.google.common.base;Joiner$MapJoiner;false;join;(Map);;Argument[0].MapValue;ReturnValue;taint", - "com.google.common.base;Splitter;false;split;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.base;Splitter;false;splitToList;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.base;Splitter;false;splitToStream;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.base;Splitter$MapSplitter;false;split;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.base;Preconditions;false;checkNotNull;;;Argument[0];ReturnValue;value", - "com.google.common.base;Verify;false;verifyNotNull;;;Argument[0];ReturnValue;value", - "com.google.common.base;Ascii;false;toLowerCase;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.base;Ascii;false;toLowerCase;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Ascii;false;toUpperCase;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.base;Ascii;false;toUpperCase;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Ascii;false;truncate;(CharSequence,int,String);;Argument[0];ReturnValue;taint", - "com.google.common.base;Ascii;false;truncate;(CharSequence,int,String);;Argument[2];ReturnValue;taint", - "com.google.common.base;CaseFormat;true;to;(CaseFormat,String);;Argument[1];ReturnValue;taint", - "com.google.common.base;Converter;true;apply;(Object);;Argument[0];ReturnValue;taint", - "com.google.common.base;Converter;true;convert;(Object);;Argument[0];ReturnValue;taint", - "com.google.common.base;Converter;true;convertAll;(Iterable);;Argument[0].Element;ReturnValue.Element;taint", - "com.google.common.base;Supplier;true;get;();;Argument[-1];ReturnValue;taint", - "com.google.common.base;Suppliers;false;ofInstance;(Object);;Argument[0];ReturnValue;taint", - "com.google.common.base;Suppliers;false;memoize;(Supplier);;Argument[0];ReturnValue;taint", - "com.google.common.base;Suppliers;false;memoizeWithExpiration;(Supplier,long,TimeUnit);;Argument[0];ReturnValue;taint", - "com.google.common.base;Suppliers;false;synchronizedSupplier;(Supplier);;Argument[0];ReturnValue;taint", - "com.google.common.base;Optional;true;fromJavaUtil;(Optional);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.base;Optional;true;fromNullable;(Object);;Argument[0];ReturnValue.Element;value", - "com.google.common.base;Optional;true;get;();;Argument[-1].Element;ReturnValue;value", - "com.google.common.base;Optional;true;asSet;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.base;Optional;true;of;(Object);;Argument[0];ReturnValue.Element;value", - "com.google.common.base;Optional;true;or;(Optional);;Argument[-1..0].Element;ReturnValue.Element;value", - "com.google.common.base;Optional;true;or;(Supplier);;Argument[-1].Element;ReturnValue;value", - "com.google.common.base;Optional;true;or;(Supplier);;Argument[0];ReturnValue;taint", - "com.google.common.base;Optional;true;or;(Object);;Argument[-1].Element;ReturnValue;value", - "com.google.common.base;Optional;true;or;(Object);;Argument[0];ReturnValue;value", - "com.google.common.base;Optional;true;orNull;();;Argument[-1].Element;ReturnValue;value", - "com.google.common.base;Optional;true;presentInstances;(Iterable);;Argument[0].Element.Element;ReturnValue.Element;value", - "com.google.common.base;Optional;true;toJavaUtil;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.base;Optional;true;toJavaUtil;(Optional);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.base;MoreObjects;false;firstNonNull;(Object,Object);;Argument[0..1];ReturnValue;value", - "com.google.common.base;MoreObjects;false;toStringHelper;(String);;Argument[0];ReturnValue;taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;add;;;Argument[0];ReturnValue;taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;add;;;Argument[0];Argument[-1];taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;add;;;Argument[-1];ReturnValue;value", - "com.google.common.base;MoreObjects$ToStringHelper;false;add;(String,Object);;Argument[1];ReturnValue;taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;add;(String,Object);;Argument[1];Argument[-1];taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;addValue;;;Argument[-1];ReturnValue;value", - "com.google.common.base;MoreObjects$ToStringHelper;false;addValue;(Object);;Argument[0];ReturnValue;taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;addValue;(Object);;Argument[0];Argument[-1];taint", - "com.google.common.base;MoreObjects$ToStringHelper;false;omitNullValues;();;Argument[-1];ReturnValue;value", - "com.google.common.base;MoreObjects$ToStringHelper;false;toString;();;Argument[-1];ReturnValue;taint" + "com.google.common.base;Strings;false;emptyToNull;(String);;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Strings;false;nullToEmpty;(String);;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Strings;false;padStart;(String,int,char);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Strings;false;padEnd;(String,int,char);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Strings;false;repeat;(String,int);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Strings;false;lenientFormat;(String,Object[]);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Strings;false;lenientFormat;(String,Object[]);;Argument[1].ArrayElement;ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;on;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;skipNulls;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;useForNull;(String);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;useForNull;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;withKeyValueSeparator;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;withKeyValueSeparator;(String);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;withKeyValueSeparator;(char);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Joiner;false;appendTo;(Appendable,Object,Object,Object[]);;Argument[1..2];Argument[0];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(Appendable,Object,Object,Object[]);;Argument[3].ArrayElement;Argument[0];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(Appendable,Iterable);;Argument[1].Element;Argument[-1];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(Appendable,Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(Appendable,Iterator);;Argument[1].Element;Argument[-1];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Object,Object,Object[]);;Argument[1..2];Argument[0];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Object,Object,Object[]);;Argument[3].ArrayElement;Argument[0];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Iterable);;Argument[1].Element;Argument[-1];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "com.google.common.base;Joiner;false;appendTo;(StringBuilder,Iterator);;Argument[1].Element;Argument[-1];taint;manual", + "com.google.common.base;Joiner;false;appendTo;;;Argument[-1];Argument[0];taint;manual", + "com.google.common.base;Joiner;false;appendTo;;;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Joiner;false;join;;;Argument[-1..2];ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;useForNull;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;useForNull;(String);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;appendTo;;;Argument[1];Argument[0];taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;appendTo;;;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;;;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;(Iterable);;Argument[0].Element.MapKey;ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;(Iterable);;Argument[0].Element.MapValue;ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;(Iterator);;Argument[0].Element.MapKey;ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;(Iterator);;Argument[0].Element.MapValue;ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;(Map);;Argument[0].MapKey;ReturnValue;taint;manual", + "com.google.common.base;Joiner$MapJoiner;false;join;(Map);;Argument[0].MapValue;ReturnValue;taint;manual", + "com.google.common.base;Splitter;false;split;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Splitter;false;splitToList;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Splitter;false;splitToStream;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Splitter$MapSplitter;false;split;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Preconditions;false;checkNotNull;;;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Verify;false;verifyNotNull;;;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Ascii;false;toLowerCase;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Ascii;false;toLowerCase;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Ascii;false;toUpperCase;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Ascii;false;toUpperCase;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Ascii;false;truncate;(CharSequence,int,String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Ascii;false;truncate;(CharSequence,int,String);;Argument[2];ReturnValue;taint;manual", + "com.google.common.base;CaseFormat;true;to;(CaseFormat,String);;Argument[1];ReturnValue;taint;manual", + "com.google.common.base;Converter;true;apply;(Object);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Converter;true;convert;(Object);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Converter;true;convertAll;(Iterable);;Argument[0].Element;ReturnValue.Element;taint;manual", + "com.google.common.base;Supplier;true;get;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.base;Suppliers;false;ofInstance;(Object);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Suppliers;false;memoize;(Supplier);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Suppliers;false;memoizeWithExpiration;(Supplier,long,TimeUnit);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Suppliers;false;synchronizedSupplier;(Supplier);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Optional;true;fromJavaUtil;(Optional);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;fromNullable;(Object);;Argument[0];ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;get;();;Argument[-1].Element;ReturnValue;value;manual", + "com.google.common.base;Optional;true;asSet;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;of;(Object);;Argument[0];ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;or;(Optional);;Argument[-1..0].Element;ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;or;(Supplier);;Argument[-1].Element;ReturnValue;value;manual", + "com.google.common.base;Optional;true;or;(Supplier);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;Optional;true;or;(Object);;Argument[-1].Element;ReturnValue;value;manual", + "com.google.common.base;Optional;true;or;(Object);;Argument[0];ReturnValue;value;manual", + "com.google.common.base;Optional;true;orNull;();;Argument[-1].Element;ReturnValue;value;manual", + "com.google.common.base;Optional;true;presentInstances;(Iterable);;Argument[0].Element.Element;ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;toJavaUtil;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.base;Optional;true;toJavaUtil;(Optional);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.base;MoreObjects;false;firstNonNull;(Object,Object);;Argument[0..1];ReturnValue;value;manual", + "com.google.common.base;MoreObjects;false;toStringHelper;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;add;;;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;add;;;Argument[0];Argument[-1];taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;add;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;add;(String,Object);;Argument[1];ReturnValue;taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;add;(String,Object);;Argument[1];Argument[-1];taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;addValue;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;addValue;(Object);;Argument[0];ReturnValue;taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;addValue;(Object);;Argument[0];Argument[-1];taint;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;omitNullValues;();;Argument[-1];ReturnValue;value;manual", + "com.google.common.base;MoreObjects$ToStringHelper;false;toString;();;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/guava/Cache.qll b/java/ql/lib/semmle/code/java/frameworks/guava/Cache.qll index 102d43ac4b5..4240dc31b9c 100644 --- a/java/ql/lib/semmle/code/java/frameworks/guava/Cache.qll +++ b/java/ql/lib/semmle/code/java/frameworks/guava/Cache.qll @@ -8,25 +8,25 @@ private class GuavaBaseCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "com.google.common.cache;Cache;true;asMap;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "com.google.common.cache;Cache;true;asMap;();;Argument[-1].MapValue;ReturnValue.MapValue;value", + "com.google.common.cache;Cache;true;asMap;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.cache;Cache;true;asMap;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", // lambda flow from Argument[1] not implemented - "com.google.common.cache;Cache;true;get;(Object,Callable);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.cache;Cache;true;getIfPresent;(Object);;Argument[-1].MapValue;ReturnValue;value", + "com.google.common.cache;Cache;true;get;(Object,Callable);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.cache;Cache;true;getIfPresent;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", // the true flow to MapKey of ReturnValue for getAllPresent is the intersection of the these inputs, but intersections cannot be modelled fully accurately. - "com.google.common.cache;Cache;true;getAllPresent;(Iterable);;Argument[-1].MapKey;ReturnValue.MapKey;value", - "com.google.common.cache;Cache;true;getAllPresent;(Iterable);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.cache;Cache;true;getAllPresent;(Iterable);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "com.google.common.cache;Cache;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.cache;Cache;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "com.google.common.cache;Cache;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "com.google.common.cache;Cache;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.cache;LoadingCache;true;get;(Object);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.cache;LoadingCache;true;getUnchecked;(Object);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.cache;LoadingCache;true;apply;(Object);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.cache;LoadingCache;true;getAll;(Iterable);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.cache;LoadingCache;true;getAll;(Iterable);;Argument[0].Element;Argument[-1].MapKey;value", - "com.google.common.cache;LoadingCache;true;getAll;(Iterable);;Argument[-1].MapValue;ReturnValue.MapValue;value" + "com.google.common.cache;Cache;true;getAllPresent;(Iterable);;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.cache;Cache;true;getAllPresent;(Iterable);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.cache;Cache;true;getAllPresent;(Iterable);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.cache;Cache;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.cache;Cache;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "com.google.common.cache;Cache;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.cache;Cache;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.cache;LoadingCache;true;get;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.cache;LoadingCache;true;getUnchecked;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.cache;LoadingCache;true;apply;(Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.cache;LoadingCache;true;getAll;(Iterable);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.cache;LoadingCache;true;getAll;(Iterable);;Argument[0].Element;Argument[-1].MapKey;value;manual", + "com.google.common.cache;LoadingCache;true;getAll;(Iterable);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll b/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll index 2d616d4e333..31e78a1b32d 100644 --- a/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll +++ b/java/ql/lib/semmle/code/java/frameworks/guava/Collections.qll @@ -15,561 +15,561 @@ private class GuavaCollectCsv extends SummaryModelCsv { //"package;type;overrides;name;signature;ext;inputspec;outputspec;kind", // Methods depending on lambda flow are not currently modelled // Methods depending on stronger aliasing properties than we support are also not modelled. - "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Argument[0].Element;ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Argument[1].Element;ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ArrayTable;true;create;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ArrayTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ArrayTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "com.google.common.collect;BiMap;true;inverse;();;Argument[-1].MapKey;ReturnValue.MapValue;value", - "com.google.common.collect;BiMap;true;inverse;();;Argument[-1].MapValue;ReturnValue.MapKey;value", - "com.google.common.collect;ClassToInstanceMap;true;getInstance;(Class);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[1];Argument[-1].MapValue;value", - "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.collect;Collections2;false;filter;(Collection,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable,Comparator);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Collections2;false;permutations;(Collection);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;ConcurrentHashMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;HashBasedTable;true;create;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;HashBasedTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;HashBasedTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;HashBiMap;true;create;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;HashBiMap;true;create;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;HashMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;HashMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;HashMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[4];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[5];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[6];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[7];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[8];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[9];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Argument[-1].Element;value", - "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;Argument[0].ArrayElement;Argument[-1].Element;value", - "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Argument[0].Element;Argument[-1].Element;value", - "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Argument[0].Element;Argument[-1].Element;value", - "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableCollection;true;asList;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;copyOf;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;of;;;Argument[12].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;reverse;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Comparator,Iterable);;Argument[1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[4];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[5];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[6];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[7];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[8];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[9];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;build;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap$Builder;true;build;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;orderEntriesByValue;(Comparator);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;Argument[0].Element.MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;Argument[0].Element.MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[4];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[5];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[6];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[7];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[8];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMap;true;of;;;Argument[9];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;orderKeysBy;(Comparator);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;orderValuesBy;(Comparator);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;Argument[0].MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[1].ArrayElement;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;Argument[0].Element.MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;Argument[0].Element.MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;inverse;();;Argument[-1].MapKey;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;inverse;();;Argument[-1].MapValue;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[4];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[5];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[6];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[7];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[8];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[9];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[0];Argument[-1].Element;value", - "com.google.common.collect;ImmutableMultiset$Builder;true;setCount;(Object,int);;Argument[0];Argument[-1].Element;value", - "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableMultiset;true;copyOf;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];ReturnValue.Element;value", - "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSet;true;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSet;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSet;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSet;true;copyOf;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];ReturnValue.Element;value", - "com.google.common.collect;ImmutableSet;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[4];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[5];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[6];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[7];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[8];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[9];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;Argument[0].Element.MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;Argument[0].Element.MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;Argument[0].Element.MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;Argument[0].Element.MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[4];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[5];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[6];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[7];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[8];ReturnValue.MapKey;value", - "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[9];ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparable[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterable);;Argument[1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterator);;Argument[1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;copyOfSorted;(SortedMultiset);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparable[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Collection);;Argument[1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterable);;Argument[1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterator);;Argument[1].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;copyOfSorted;(SortedSet);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];ReturnValue.Element;value", - "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;ImmutableTable$Builder;true;build;();;Argument[-1].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;build;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;build;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;orderColumnsBy;(Comparator);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;orderRowsBy;(Comparator);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[0];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[1];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[-1];ReturnValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[0];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[1];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[2];ReturnValue.MapValue;value", - "com.google.common.collect;Iterables;false;addAll;(Collection,Iterable);;Argument[1].Element;Argument[0].Element;value", - "com.google.common.collect;Iterables;false;concat;(Iterable);;Argument[0].Element.Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable);;Argument[0..2].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Argument[0..3].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;concat;(Iterable[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;consumingIterable;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;cycle;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;cycle;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;filter;(Iterable,Class);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;filter;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;find;(Iterable,Predicate);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Argument[2];ReturnValue;value", - "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;get;(Iterable,int);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Argument[2];ReturnValue;value", - "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;getLast;(Iterable);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Argument[1];ReturnValue;value", - "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Argument[1];ReturnValue;value", - "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterables;false;limit;(Iterable,int);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;mergeSorted;(Iterable,Comparator);;Argument[0].Element.Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;paddedPartition;(Iterable,int);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Iterables;false;partition;(Iterable,int);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Iterables;false;skip;(Iterable,int);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;toArray;(Iterable,Class);;Argument[0].Element;ReturnValue.ArrayElement;value", - //"com.google.common.collect;Iterables;false;toString;(Iterable);;Element of Argument[0];ReturnValue;taint", - "com.google.common.collect;Iterables;false;tryFind;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;unmodifiableIterable;(ImmutableCollection);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterables;false;unmodifiableIterable;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;addAll;(Collection,Iterator);;Argument[1].Element;Argument[0].Element;value", - "com.google.common.collect;Iterators;false;asEnumeration;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;concat;(Iterator);;Argument[0].Element.Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator);;Argument[0..2].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Argument[0..3].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;concat;(Iterator[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;consumingIterator;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;cycle;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;cycle;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;filter;(Iterator,Class);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;filter;(Iterator,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;find;(Iterator,Predicate);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Argument[2];ReturnValue;value", - "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;forArray;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;forEnumeration;(Enumeration);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;get;(Iterator,int);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Argument[2];ReturnValue;value", - "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;getLast;(Iterator);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Argument[1];ReturnValue;value", - "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Argument[1];ReturnValue;value", - "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Argument[1];ReturnValue;value", - "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Argument[0].Element;ReturnValue;value", - "com.google.common.collect;Iterators;false;limit;(Iterator,int);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;mergeSorted;(Iterable,Comparator);;Argument[0].Element.Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;paddedPartition;(Iterator,int);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Iterators;false;partition;(Iterator,int);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Iterators;false;peekingIterator;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;peekingIterator;(PeekingIterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;singletonIterator;(Object);;Argument[0];ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;toArray;(Iterator,Class);;Argument[0].Element;ReturnValue.ArrayElement;value", - "com.google.common.collect;Iterators;false;tryFind;(Iterator,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;unmodifiableIterator;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Iterators;false;unmodifiableIterator;(UnmodifiableIterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;LinkedHashMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[0..1];ReturnValue.Element;value", - "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[2].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;asList;(Object,Object[]);;Argument[0];ReturnValue.Element;value", - "com.google.common.collect;Lists;false;asList;(Object,Object[]);;Argument[1].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;cartesianProduct;(List);;Argument[0].Element.Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Lists;false;cartesianProduct;(List[]);;Argument[0].ArrayElement.Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Lists;false;charactersOf;(CharSequence);;Argument[0];ReturnValue.Element;taint", - "com.google.common.collect;Lists;false;charactersOf;(String);;Argument[0];ReturnValue.Element;taint", - "com.google.common.collect;Lists;false;newArrayList;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;newArrayList;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;newArrayList;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;newCopyOnWriteArrayList;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;newLinkedList;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Lists;false;partition;(List,int);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Lists;false;reverse;(List);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;MapDifference$ValueDifference;true;leftValue;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left];ReturnValue;value", - "com.google.common.collect;MapDifference$ValueDifference;true;rightValue;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right];ReturnValue;value", - "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapValue;ReturnValue.MapValue.SyntheticField[com.google.common.collect.MapDifference.left];value", - "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapValue;ReturnValue.MapValue.SyntheticField[com.google.common.collect.MapDifference.right];value", - "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;asMap;(NavigableSet,Function);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;asMap;(Set,Function);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;asMap;(SortedSet,Function);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey;value", - "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[1].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey;value", - "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[0].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue;value", - "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[1].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue;value", - "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey;value", - "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[1].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey;value", - "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[0].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue;value", - "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[1].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue;value", - "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey;value", - "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[1].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey;value", - "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[0].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue;value", - "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[1].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue;value", - "com.google.common.collect;Maps;false;filterEntries;;;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;filterKeys;;;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;filterValues;;;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;fromProperties;(Properties);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;fromProperties;(Properties);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[0];ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[1];ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;immutableEnumMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;newEnumMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;newHashMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;newHashMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;toMap;(Iterable,Function);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;toMap;(Iterator,Function);;Argument[0].Element;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;transformValues;(Map,Function);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;transformValues;(NavigableMap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;transformValues;(SortedMap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;uniqueIndex;(Iterable,Function);;Argument[0].Element;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;uniqueIndex;(Iterator,Function);;Argument[0].Element;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimap;true;asMap;();;Argument[-1].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimap;true;asMap;();;Argument[-1].MapValue;ReturnValue.MapValue.Element;value", - "com.google.common.collect;Multimap;true;entries;();;Argument[-1].MapKey;ReturnValue.Element.MapKey;value", - "com.google.common.collect;Multimap;true;entries;();;Argument[-1].MapValue;ReturnValue.Element.MapValue;value", - "com.google.common.collect;Multimap;true;get;(Object);;Argument[-1].MapValue;ReturnValue.Element;value", - "com.google.common.collect;Multimap;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value", - "com.google.common.collect;Multimap;true;keys;();;Argument[-1].MapKey;ReturnValue.Element;value", - "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value", - "com.google.common.collect;Multimap;true;putAll;(Multimap);;Argument[0].MapKey;Argument[-1].MapKey;value", - "com.google.common.collect;Multimap;true;putAll;(Multimap);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue;value", - "com.google.common.collect;Multimap;true;removeAll;(Object);;Argument[-1].MapValue;ReturnValue.Element;value", - "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value", - "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue;value", - "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[-1].MapValue;ReturnValue.Element;value", - "com.google.common.collect;Multimap;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value", - "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value", - "com.google.common.collect;Multimaps;false;asMap;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;asMap;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value", - "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value", - "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value", - "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;forMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;forMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;index;(Iterable,Function);;Argument[0].Element;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;index;(Iterator,Function);;Argument[0].Element;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[1];ReturnValue;value", - "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[0].MapKey;Argument[1].MapValue;value", - "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[0].MapValue;Argument[1].MapKey;value", - "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;transformValues;(ListMultimap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;transformValues;(Multimap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Multiset$Entry;true;getElement;();;Argument[-1].Element;ReturnValue;value", - "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Argument[-1].Element;value", - "com.google.common.collect;Multiset;true;elementSet;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.collect;Multiset;true;entrySet;();;Argument[-1].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Argument[-1].Element;value", - "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Argument[-1].Element;value", - "com.google.common.collect;Multisets;false;copyHighestCountFirst;(Multiset);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;difference;(Multiset,Multiset);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;filter;(Multiset,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;immutableEntry;(Object,int);;Argument[0];ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;intersection;(Multiset,Multiset);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;sum;(Multiset,Multiset);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;union;(Multiset,Multiset);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;unmodifiableMultiset;(ImmutableMultiset);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;unmodifiableMultiset;(Multiset);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Multisets;false;unmodifiableSortedMultiset;(SortedMultiset);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;Argument[0];ReturnValue.ArrayElement;value", - "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;Argument[1].ArrayElement;ReturnValue.ArrayElement;value", - "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;Argument[1];ReturnValue.ArrayElement;value", - "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object[],Class);;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;value", - "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,Duration);;Argument[0].Element;Argument[1].Element;value", - "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,long,TimeUnit);;Argument[0].Element;Argument[1].Element;value", - "com.google.common.collect;Queues;false;newArrayDeque;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;newConcurrentLinkedQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;newLinkedBlockingDeque;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;newLinkedBlockingQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;newPriorityBlockingQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;newPriorityQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;synchronizedDeque;(Deque);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Queues;false;synchronizedQueue;(Queue);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets$SetView;true;copyInto;(Set);;Argument[-1].Element;Argument[0].Element;value", - "com.google.common.collect;Sets$SetView;true;immutableCopy;();;Argument[-1].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;cartesianProduct;(List);;Argument[0].Element.Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Sets;false;cartesianProduct;(Set[]);;Argument[0].ArrayElement.Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Sets;false;combinations;(Set,int);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Sets;false;difference;(Set,Set);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;filter;(NavigableSet,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;filter;(Set,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;filter;(SortedSet,Predicate);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;intersection;(Set,Set);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newCopyOnWriteArraySet;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newHashSet;(Iterator);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newHashSet;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newLinkedHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newSetFromMap;(Map);;Argument[0].MapKey;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;newTreeSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;powerSet;(Set);;Argument[0].Element;ReturnValue.Element.Element;value", - "com.google.common.collect;Sets;false;subSet;(NavigableSet,Range);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;symmetricDifference;(Set,Set);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;synchronizedNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;union;(Set,Set);;Argument[0..1].Element;ReturnValue.Element;value", - "com.google.common.collect;Sets;false;unmodifiableNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value", - "com.google.common.collect;Table$Cell;true;getColumnKey;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue;value", - "com.google.common.collect;Table$Cell;true;getRowKey;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue;value", - "com.google.common.collect;Table$Cell;true;getValue;();;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.collect;Table;true;cellSet;();;Argument[-1].MapValue;ReturnValue.Element.MapValue;value", - "com.google.common.collect;Table;true;cellSet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.Element.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Table;true;cellSet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.Element.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Table;true;column;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Table;true;column;(Object);;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.MapKey;value", - "com.google.common.collect;Table;true;columnKeySet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.Element;value", - "com.google.common.collect;Table;true;columnMap;();;Argument[-1].MapValue;ReturnValue.MapValue.MapValue;value", - "com.google.common.collect;Table;true;columnMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.MapKey;value", - "com.google.common.collect;Table;true;columnMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.MapValue.MapKey;value", - "com.google.common.collect;Table;true;get;(Object,Object);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[0];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[1];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value", - "com.google.common.collect;Table;true;putAll;(Table);;Argument[0].MapValue;Argument[-1].MapValue;value", - "com.google.common.collect;Table;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Table;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Table;true;remove;(Object,Object);;Argument[-1].MapValue;ReturnValue;value", - "com.google.common.collect;Table;true;row;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Table;true;row;(Object);;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.MapKey;value", - "com.google.common.collect;Table;true;rowKeySet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.Element;value", - "com.google.common.collect;Table;true;rowMap;();;Argument[-1].MapValue;ReturnValue.MapValue.MapValue;value", - "com.google.common.collect;Table;true;rowMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.MapValue.MapKey;value", - "com.google.common.collect;Table;true;rowMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.MapKey;value", - "com.google.common.collect;Table;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value", - "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[0];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[1];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[2];ReturnValue.MapValue;value", - "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;Argument[0].MapValue.MapKey;ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;Argument[0].MapValue.MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Tables;false;synchronizedTable;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Tables;false;synchronizedTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;synchronizedTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Tables;false;transformValues;(Table,Function);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;transformValues;(Table,Function);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Tables;false;transpose;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Tables;false;transpose;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Tables;false;transpose;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value", - "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value", - "com.google.common.collect;TreeMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value", - "com.google.common.collect;TreeMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value", - "com.google.common.collect;TreeMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value" + "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ArrayListMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Argument[0].Element;ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ArrayTable;true;create;(Iterable,Iterable);;Argument[1].Element;ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ArrayTable;true;create;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ArrayTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ArrayTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;BiMap;true;forcePut;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "com.google.common.collect;BiMap;true;inverse;();;Argument[-1].MapKey;ReturnValue.MapValue;value;manual", + "com.google.common.collect;BiMap;true;inverse;();;Argument[-1].MapValue;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ClassToInstanceMap;true;getInstance;(Class);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "com.google.common.collect;ClassToInstanceMap;true;putInstance;(Class,Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.collect;Collections2;false;filter;(Collection,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Collections2;false;orderedPermutations;(Iterable,Comparator);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Collections2;false;permutations;(Collection);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;ConcurrentHashMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;HashBasedTable;true;create;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;HashBasedTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;HashBasedTable;true;create;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;HashBiMap;true;create;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;HashBiMap;true;create;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;HashMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;HashMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;HashMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableBiMap;true;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableClassToInstanceMap;true;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableClassToInstanceMap;true;of;(Class,Object);;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object);;Argument[0];Argument[-1].Element;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;add;(Object[]);;Argument[0].ArrayElement;Argument[-1].Element;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;add;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterable);;Argument[0].Element;Argument[-1].Element;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;addAll;(Iterator);;Argument[0].Element;Argument[-1].Element;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;addAll;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableCollection$Builder;true;build;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableCollection;true;asList;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;copyOf;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;of;;;Argument[0..11];ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;of;;;Argument[12].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;reverse;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Comparator,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableList;true;sortedCopyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableListMultimap;true;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;build;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;build;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;orderEntriesByValue;(Comparator);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;put;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMap$Builder;true;putAll;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;Argument[0].Element.MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;copyOf;(Iterable);;Argument[0].Element.MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMap;true;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;build;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;orderKeysBy;(Comparator);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;orderValuesBy;(Comparator);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Entry);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;put;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Iterable);;Argument[0].Element.MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Multimap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;(Object,Object[]);;Argument[1].ArrayElement;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap$Builder;true;putAll;;;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;Argument[0].Element.MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Iterable);;Argument[0].Element.MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;copyOf;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;inverse;();;Argument[-1].MapKey;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;inverse;();;Argument[-1].MapValue;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableMultimap;true;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableMultiset$Builder;true;addCopies;(Object,int);;Argument[0];Argument[-1].Element;value;manual", + "com.google.common.collect;ImmutableMultiset$Builder;true;setCount;(Object,int);;Argument[0];Argument[-1].Element;value;manual", + "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableMultiset;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableMultiset;true;copyOf;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[0..5];ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableMultiset;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSet;true;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSet;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSet;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSet;true;copyOf;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSet;true;of;;;Argument[0..5];ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSet;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSetMultimap;true;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;Argument[0].Element.MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable);;Argument[0].Element.MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;Argument[0].Element.MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Iterable,Comparator);;Argument[0].Element.MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOf;(Map,Comparator);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;copyOfSorted;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[2];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[3];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[4];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[5];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[6];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[7];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[8];ReturnValue.MapKey;value;manual", + "com.google.common.collect;ImmutableSortedMap;true;of;;;Argument[9];ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparable[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Comparator,Iterator);;Argument[1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;copyOfSorted;(SortedMultiset);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[0..5];ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedMultiset;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Collection);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparable[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Collection);;Argument[1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterable);;Argument[1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Comparator,Iterator);;Argument[1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOf;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;copyOfSorted;(SortedSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[0..5];ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableSortedSet;true;of;;;Argument[6].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;build;();;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;build;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;build;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;orderColumnsBy;(Comparator);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;orderRowsBy;(Comparator);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Cell);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[0];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[1];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;put;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[-1];ReturnValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ImmutableTable$Builder;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ImmutableTable;true;copyOf;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[0];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[1];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;ImmutableTable;true;of;(Object,Object,Object);;Argument[2];ReturnValue.MapValue;value;manual", + "com.google.common.collect;Iterables;false;addAll;(Collection,Iterable);;Argument[1].Element;Argument[0].Element;value;manual", + "com.google.common.collect;Iterables;false;concat;(Iterable);;Argument[0].Element.Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable);;Argument[0..2].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;concat;(Iterable,Iterable,Iterable,Iterable);;Argument[0..3].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;concat;(Iterable[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;consumingIterable;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;cycle;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;cycle;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;filter;(Iterable,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;filter;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;find;(Iterable,Predicate);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Argument[2];ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;find;(Iterable,Predicate,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;get;(Iterable,int);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Argument[2];ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;get;(Iterable,int,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;getLast;(Iterable);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Argument[1];ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;getLast;(Iterable,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Argument[1];ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;getOnlyElement;(Iterable,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterables;false;limit;(Iterable,int);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;mergeSorted;(Iterable,Comparator);;Argument[0].Element.Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;paddedPartition;(Iterable,int);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Iterables;false;partition;(Iterable,int);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Iterables;false;skip;(Iterable,int);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;toArray;(Iterable,Class);;Argument[0].Element;ReturnValue.ArrayElement;value;manual", + //"com.google.common.collect;Iterables;false;toString;(Iterable);;Element of Argument[0];ReturnValue;taint;manual", + "com.google.common.collect;Iterables;false;tryFind;(Iterable,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;unmodifiableIterable;(ImmutableCollection);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterables;false;unmodifiableIterable;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;addAll;(Collection,Iterator);;Argument[1].Element;Argument[0].Element;value;manual", + "com.google.common.collect;Iterators;false;asEnumeration;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;concat;(Iterator);;Argument[0].Element.Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator);;Argument[0..2].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;concat;(Iterator,Iterator,Iterator,Iterator);;Argument[0..3].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;concat;(Iterator[]);;Argument[0].ArrayElement.Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;consumingIterator;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;cycle;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;cycle;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;filter;(Iterator,Class);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;filter;(Iterator,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;find;(Iterator,Predicate);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Argument[2];ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;find;(Iterator,Predicate,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;forArray;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;forEnumeration;(Enumeration);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;get;(Iterator,int);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Argument[2];ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;get;(Iterator,int,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getLast;(Iterator);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Argument[1];ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getLast;(Iterator,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Argument[1];ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getNext;(Iterator,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Argument[1];ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;getOnlyElement;(Iterator,Object);;Argument[0].Element;ReturnValue;value;manual", + "com.google.common.collect;Iterators;false;limit;(Iterator,int);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;mergeSorted;(Iterable,Comparator);;Argument[0].Element.Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;paddedPartition;(Iterator,int);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Iterators;false;partition;(Iterator,int);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Iterators;false;peekingIterator;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;peekingIterator;(PeekingIterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;singletonIterator;(Object);;Argument[0];ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;toArray;(Iterator,Class);;Argument[0].Element;ReturnValue.ArrayElement;value;manual", + "com.google.common.collect;Iterators;false;tryFind;(Iterator,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;unmodifiableIterator;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Iterators;false;unmodifiableIterator;(UnmodifiableIterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;LinkedHashMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;LinkedHashMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;LinkedListMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[0..1];ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;asList;(Object,Object,Object[]);;Argument[2].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;asList;(Object,Object[]);;Argument[0];ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;asList;(Object,Object[]);;Argument[1].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;cartesianProduct;(List);;Argument[0].Element.Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Lists;false;cartesianProduct;(List[]);;Argument[0].ArrayElement.Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Lists;false;charactersOf;(CharSequence);;Argument[0];ReturnValue.Element;taint;manual", + "com.google.common.collect;Lists;false;charactersOf;(String);;Argument[0];ReturnValue.Element;taint;manual", + "com.google.common.collect;Lists;false;newArrayList;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;newArrayList;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;newArrayList;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;newCopyOnWriteArrayList;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;newLinkedList;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Lists;false;partition;(List,int);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Lists;false;reverse;(List);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;MapDifference$ValueDifference;true;leftValue;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left];ReturnValue;value;manual", + "com.google.common.collect;MapDifference$ValueDifference;true;rightValue;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right];ReturnValue;value;manual", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapValue;ReturnValue.MapValue.SyntheticField[com.google.common.collect.MapDifference.left];value;manual", + "com.google.common.collect;MapDifference;true;entriesDiffering;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapValue;ReturnValue.MapValue.SyntheticField[com.google.common.collect.MapDifference.right];value;manual", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;MapDifference;true;entriesInCommon;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MapDifference;true;entriesOnlyOnLeft;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.left].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MapDifference;true;entriesOnlyOnRight;();;Argument[-1].SyntheticField[com.google.common.collect.MapDifference.right].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;asMap;(NavigableSet,Function);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;asMap;(Set,Function);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;asMap;(SortedSet,Function);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[1].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[0].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map);;Argument[1].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[1].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[0].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue;value;manual", + "com.google.common.collect;Maps;false;difference;(Map,Map,Equivalence);;Argument[1].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue;value;manual", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[1].MapKey;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapKey;value;manual", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[0].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.left].MapValue;value;manual", + "com.google.common.collect;Maps;false;difference;(SortedMap,Map);;Argument[1].MapValue;ReturnValue.SyntheticField[com.google.common.collect.MapDifference.right].MapValue;value;manual", + "com.google.common.collect;Maps;false;filterEntries;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;filterKeys;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;filterValues;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;fromProperties;(Properties);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;fromProperties;(Properties);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[0];ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;immutableEntry;(Object,Object);;Argument[1];ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;immutableEnumMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;newEnumMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;newHashMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;newHashMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;newLinkedHashMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;newTreeMap;(SortedMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;subMap;(NavigableMap,Range);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;synchronizedBiMap;(BiMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;synchronizedNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;toMap;(Iterable,Function);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;toMap;(Iterator,Function);;Argument[0].Element;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;transformValues;(Map,Function);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;transformValues;(NavigableMap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;transformValues;(SortedMap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;uniqueIndex;(Iterable,Function);;Argument[0].Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;uniqueIndex;(Iterator,Function);;Argument[0].Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;unmodifiableBiMap;(BiMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Maps;false;unmodifiableNavigableMap;(NavigableMap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimap;true;asMap;();;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimap;true;asMap;();;Argument[-1].MapValue;ReturnValue.MapValue.Element;value;manual", + "com.google.common.collect;Multimap;true;entries;();;Argument[-1].MapKey;ReturnValue.Element.MapKey;value;manual", + "com.google.common.collect;Multimap;true;entries;();;Argument[-1].MapValue;ReturnValue.Element.MapValue;value;manual", + "com.google.common.collect;Multimap;true;get;(Object);;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "com.google.common.collect;Multimap;true;keySet;();;Argument[-1].MapKey;ReturnValue.Element;value;manual", + "com.google.common.collect;Multimap;true;keys;();;Argument[-1].MapKey;ReturnValue.Element;value;manual", + "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;Multimap;true;put;(Object,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "com.google.common.collect;Multimap;true;putAll;(Multimap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "com.google.common.collect;Multimap;true;putAll;(Multimap);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;Multimap;true;putAll;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue;value;manual", + "com.google.common.collect;Multimap;true;removeAll;(Object);;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[0];Argument[-1].MapKey;value;manual", + "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[1].Element;Argument[-1].MapValue;value;manual", + "com.google.common.collect;Multimap;true;replaceValues;(Object,Iterable);;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "com.google.common.collect;Multimap;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(ListMultimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(SetMultimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;asMap;(SortedSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue.Element;value;manual", + "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;filterEntries;(Multimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;filterEntries;(SetMultimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;filterKeys;(Multimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;filterKeys;(SetMultimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;filterValues;(Multimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;filterValues;(SetMultimap,Predicate);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;forMap;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;forMap;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;index;(Iterable,Function);;Argument[0].Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;index;(Iterator,Function);;Argument[0].Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[1];ReturnValue;value;manual", + "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[0].MapKey;Argument[1].MapValue;value;manual", + "com.google.common.collect;Multimaps;false;invertFrom;(Multimap,Multimap);;Argument[0].MapValue;Argument[1].MapKey;value;manual", + "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;newListMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;newMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;newSetMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;Argument[0].MapValue.Element;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;newSortedSetMultimap;(Map,Supplier);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedListMultimap;(ListMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedMultimap;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedSetMultimap;(SetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;synchronizedSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;transformValues;(ListMultimap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;transformValues;(Multimap,Function);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ImmutableListMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableListMultimap;(ListMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(ImmutableMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableMultimap;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(ImmutableSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableSetMultimap;(SetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;Multimaps;false;unmodifiableSortedSetMultimap;(SortedSetMultimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Multiset$Entry;true;getElement;();;Argument[-1].Element;ReturnValue;value;manual", + "com.google.common.collect;Multiset;true;add;(Object,int);;Argument[0];Argument[-1].Element;value;manual", + "com.google.common.collect;Multiset;true;elementSet;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multiset;true;entrySet;();;Argument[-1].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Multiset;true;setCount;(Object,int);;Argument[0];Argument[-1].Element;value;manual", + "com.google.common.collect;Multiset;true;setCount;(Object,int,int);;Argument[0];Argument[-1].Element;value;manual", + "com.google.common.collect;Multisets;false;copyHighestCountFirst;(Multiset);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;difference;(Multiset,Multiset);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;filter;(Multiset,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;immutableEntry;(Object,int);;Argument[0];ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;intersection;(Multiset,Multiset);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;sum;(Multiset,Multiset);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;union;(Multiset,Multiset);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;unmodifiableMultiset;(ImmutableMultiset);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;unmodifiableMultiset;(Multiset);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Multisets;false;unmodifiableSortedMultiset;(SortedMultiset);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;MutableClassToInstanceMap;true;create;(Map);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;Argument[0];ReturnValue.ArrayElement;value;manual", + "com.google.common.collect;ObjectArrays;false;concat;(Object,Object[]);;Argument[1].ArrayElement;ReturnValue.ArrayElement;value;manual", + "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;Argument[1];ReturnValue.ArrayElement;value;manual", + "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object);;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "com.google.common.collect;ObjectArrays;false;concat;(Object[],Object[],Class);;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;value;manual", + "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,Duration);;Argument[0].Element;Argument[1].Element;value;manual", + "com.google.common.collect;Queues;false;drain;(BlockingQueue,Collection,int,long,TimeUnit);;Argument[0].Element;Argument[1].Element;value;manual", + "com.google.common.collect;Queues;false;newArrayDeque;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;newConcurrentLinkedQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;newLinkedBlockingDeque;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;newLinkedBlockingQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;newPriorityBlockingQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;newPriorityQueue;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;synchronizedDeque;(Deque);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Queues;false;synchronizedQueue;(Queue);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets$SetView;true;copyInto;(Set);;Argument[-1].Element;Argument[0].Element;value;manual", + "com.google.common.collect;Sets$SetView;true;immutableCopy;();;Argument[-1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;cartesianProduct;(List);;Argument[0].Element.Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Sets;false;cartesianProduct;(Set[]);;Argument[0].ArrayElement.Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Sets;false;combinations;(Set,int);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Sets;false;difference;(Set,Set);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;filter;(NavigableSet,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;filter;(Set,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;filter;(SortedSet,Predicate);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;intersection;(Set,Set);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newConcurrentHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newCopyOnWriteArraySet;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newHashSet;(Iterator);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newHashSet;(Object[]);;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newLinkedHashSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newSetFromMap;(Map);;Argument[0].MapKey;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;newTreeSet;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;powerSet;(Set);;Argument[0].Element;ReturnValue.Element.Element;value;manual", + "com.google.common.collect;Sets;false;subSet;(NavigableSet,Range);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;symmetricDifference;(Set,Set);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;synchronizedNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;union;(Set,Set);;Argument[0..1].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Sets;false;unmodifiableNavigableSet;(NavigableSet);;Argument[0].Element;ReturnValue.Element;value;manual", + "com.google.common.collect;Table$Cell;true;getColumnKey;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue;value;manual", + "com.google.common.collect;Table$Cell;true;getRowKey;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue;value;manual", + "com.google.common.collect;Table$Cell;true;getValue;();;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.collect;Table;true;cellSet;();;Argument[-1].MapValue;ReturnValue.Element.MapValue;value;manual", + "com.google.common.collect;Table;true;cellSet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.Element.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Table;true;cellSet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.Element.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Table;true;column;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Table;true;column;(Object);;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.MapKey;value;manual", + "com.google.common.collect;Table;true;columnKeySet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.Element;value;manual", + "com.google.common.collect;Table;true;columnMap;();;Argument[-1].MapValue;ReturnValue.MapValue.MapValue;value;manual", + "com.google.common.collect;Table;true;columnMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.MapKey;value;manual", + "com.google.common.collect;Table;true;columnMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.MapValue.MapKey;value;manual", + "com.google.common.collect;Table;true;get;(Object,Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[0];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[1];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Table;true;put;(Object,Object,Object);;Argument[2];Argument[-1].MapValue;value;manual", + "com.google.common.collect;Table;true;putAll;(Table);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "com.google.common.collect;Table;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Table;true;putAll;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Table;true;remove;(Object,Object);;Argument[-1].MapValue;ReturnValue;value;manual", + "com.google.common.collect;Table;true;row;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Table;true;row;(Object);;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.MapKey;value;manual", + "com.google.common.collect;Table;true;rowKeySet;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.Element;value;manual", + "com.google.common.collect;Table;true;rowMap;();;Argument[-1].MapValue;ReturnValue.MapValue.MapValue;value;manual", + "com.google.common.collect;Table;true;rowMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.MapValue.MapKey;value;manual", + "com.google.common.collect;Table;true;rowMap;();;Argument[-1].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.MapKey;value;manual", + "com.google.common.collect;Table;true;values;();;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[0];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[1];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;immutableCell;(Object,Object,Object);;Argument[2];ReturnValue.MapValue;value;manual", + "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;Argument[0].MapKey;ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;Argument[0].MapValue.MapKey;ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;newCustomTable;(Map,Supplier);;Argument[0].MapValue.MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Tables;false;synchronizedTable;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Tables;false;synchronizedTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;synchronizedTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Tables;false;transformValues;(Table,Function);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;transformValues;(Table,Function);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Tables;false;transpose;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Tables;false;transpose;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Tables;false;transpose;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;unmodifiableRowSortedTable;(RowSortedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;Tables;false;unmodifiableTable;(Table);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.columnKey];ReturnValue.SyntheticField[com.google.common.collect.Table.columnKey];value;manual", + "com.google.common.collect;TreeBasedTable;true;create;(TreeBasedTable);;Argument[0].SyntheticField[com.google.common.collect.Table.rowKey];ReturnValue.SyntheticField[com.google.common.collect.Table.rowKey];value;manual", + "com.google.common.collect;TreeMultimap;true;create;(Multimap);;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "com.google.common.collect;TreeMultimap;true;create;(Multimap);;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "com.google.common.collect;TreeMultiset;true;create;(Iterable);;Argument[0].Element;ReturnValue.Element;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/guava/IO.qll b/java/ql/lib/semmle/code/java/frameworks/guava/IO.qll index 61627537bca..6137a4e47f3 100644 --- a/java/ql/lib/semmle/code/java/frameworks/guava/IO.qll +++ b/java/ql/lib/semmle/code/java/frameworks/guava/IO.qll @@ -8,79 +8,79 @@ private class GuavaIoCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "com.google.common.io;BaseEncoding;true;decode;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;decodingStream;(Reader);;Argument[0];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;decodingSource;(CharSource);;Argument[0];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;encode;(byte[]);;Argument[0];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;encode;(byte[],int,int);;Argument[0];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;withSeparator;(String,int);;Argument[0];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;decode;(CharSequence);;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;decodingStream;(Reader);;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;decodingSource;(CharSource);;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;encode;(byte[]);;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;upperCase;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;lowerCase;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;withPadChar;(char);;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;omitPadding;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;BaseEncoding;true;encode;(byte[],int,int);;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteSource;true;asCharSource;(Charset);;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteSource;true;concat;(ByteSource[]);;Argument[0].ArrayElement;ReturnValue;taint", - "com.google.common.io;ByteSource;true;concat;(Iterable);;Argument[0].Element;ReturnValue;taint", - "com.google.common.io;ByteSource;true;concat;(Iterator);;Argument[0].Element;ReturnValue;taint", - "com.google.common.io;ByteSource;true;copyTo;(OutputStream);;Argument[-1];Argument[0];taint", - "com.google.common.io;ByteSource;true;openStream;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteSource;true;openBufferedStream;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteSource;true;read;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteSource;true;slice;(long,long);;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteSource;true;wrap;(byte[]);;Argument[0];ReturnValue;taint", - "com.google.common.io;ByteStreams;false;copy;(InputStream,OutputStream);;Argument[0];Argument[1];taint", - "com.google.common.io;ByteStreams;false;copy;(ReadableByteChannel,WritableByteChannel);;Argument[0];Argument[1];taint", - "com.google.common.io;ByteStreams;false;limit;(InputStream,long);;Argument[0];ReturnValue;taint", - "com.google.common.io;ByteStreams;false;newDataInput;(byte[]);;Argument[0];ReturnValue;taint", - "com.google.common.io;ByteStreams;false;newDataInput;(byte[],int);;Argument[0];ReturnValue;taint", - "com.google.common.io;ByteStreams;false;newDataInput;(ByteArrayInputStream);;Argument[0];ReturnValue;taint", - "com.google.common.io;ByteStreams;false;newDataOutput;(ByteArrayOutputStream);;Argument[0];ReturnValue;taint", - "com.google.common.io;ByteStreams;false;read;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint", - "com.google.common.io;ByteStreams;false;readFully;(InputStream,byte[]);;Argument[0];Argument[1];taint", - "com.google.common.io;ByteStreams;false;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint", - "com.google.common.io;ByteStreams;false;toByteArray;(InputStream);;Argument[0];ReturnValue;taint", - "com.google.common.io;CharSource;true;asByteSource;(Charset);;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;concat;(CharSource[]);;Argument[0].ArrayElement;ReturnValue;taint", - "com.google.common.io;CharSource;true;concat;(Iterable);;Argument[0].Element;ReturnValue;taint", - "com.google.common.io;CharSource;true;concat;(Iterator);;Argument[0].Element;ReturnValue;taint", - "com.google.common.io;CharSource;true;copyTo;(Appendable);;Argument[-1];Argument[0];taint", - "com.google.common.io;CharSource;true;openStream;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;openBufferedStream;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;read;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;readFirstLine;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;readLines;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;lines;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;CharSource;true;wrap;(CharSequence);;Argument[0];ReturnValue;taint", - "com.google.common.io;CharStreams;false;copy;(Readable,Appendable);;Argument[0];Argument[1];taint", - "com.google.common.io;CharStreams;false;readLines;(Readable);;Argument[0];ReturnValue;taint", - "com.google.common.io;CharStreams;false;toString;(Readable);;Argument[0];ReturnValue;taint", - "com.google.common.io;Closer;true;register;;;Argument[0];ReturnValue;value", - "com.google.common.io;Files;false;getFileExtension;(String);;Argument[0];ReturnValue;taint", - "com.google.common.io;Files;false;getNameWithoutExtension;(String);;Argument[0];ReturnValue;taint", - "com.google.common.io;Files;false;simplifyPath;(String);;Argument[0];ReturnValue;taint", - "com.google.common.io;MoreFiles;false;getFileExtension;(Path);;Argument[0];ReturnValue;taint", - "com.google.common.io;MoreFiles;false;getNameWithoutExtension;(Path);;Argument[0];ReturnValue;taint", - "com.google.common.io;LineReader;false;LineReader;(Readable);;Argument[0];Argument[-1];taint", - "com.google.common.io;LineReader;true;readLine;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteArrayDataOutput;true;toByteArray;();;Argument[-1];ReturnValue;taint", - "com.google.common.io;ByteArrayDataOutput;true;write;(byte[]);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;write;(int);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeByte;(int);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeBytes;(String);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeChar;(int);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeChars;(String);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeDouble;(double);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeFloat;(float);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeInt;(int);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeLong;(long);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeShort;(int);;Argument[0];Argument[-1];taint", - "com.google.common.io;ByteArrayDataOutput;true;writeUTF;(String);;Argument[0];Argument[-1];taint" + "com.google.common.io;BaseEncoding;true;decode;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;decodingStream;(Reader);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;decodingSource;(CharSource);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;encode;(byte[]);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;encode;(byte[],int,int);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;withSeparator;(String,int);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;decode;(CharSequence);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;decodingStream;(Reader);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;decodingSource;(CharSource);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;encode;(byte[]);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;upperCase;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;lowerCase;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;withPadChar;(char);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;omitPadding;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;BaseEncoding;true;encode;(byte[],int,int);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;asCharSource;(Charset);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;concat;(ByteSource[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;concat;(Iterable);;Argument[0].Element;ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;concat;(Iterator);;Argument[0].Element;ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;copyTo;(OutputStream);;Argument[-1];Argument[0];taint;manual", + "com.google.common.io;ByteSource;true;openStream;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;openBufferedStream;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;read;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;slice;(long,long);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteSource;true;wrap;(byte[]);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;ByteStreams;false;copy;(InputStream,OutputStream);;Argument[0];Argument[1];taint;manual", + "com.google.common.io;ByteStreams;false;copy;(ReadableByteChannel,WritableByteChannel);;Argument[0];Argument[1];taint;manual", + "com.google.common.io;ByteStreams;false;limit;(InputStream,long);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;ByteStreams;false;newDataInput;(byte[]);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;ByteStreams;false;newDataInput;(byte[],int);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;ByteStreams;false;newDataInput;(ByteArrayInputStream);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;ByteStreams;false;newDataOutput;(ByteArrayOutputStream);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;ByteStreams;false;read;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint;manual", + "com.google.common.io;ByteStreams;false;readFully;(InputStream,byte[]);;Argument[0];Argument[1];taint;manual", + "com.google.common.io;ByteStreams;false;readFully;(InputStream,byte[],int,int);;Argument[0];Argument[1];taint;manual", + "com.google.common.io;ByteStreams;false;toByteArray;(InputStream);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;asByteSource;(Charset);;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;concat;(CharSource[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;concat;(Iterable);;Argument[0].Element;ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;concat;(Iterator);;Argument[0].Element;ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;copyTo;(Appendable);;Argument[-1];Argument[0];taint;manual", + "com.google.common.io;CharSource;true;openStream;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;openBufferedStream;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;read;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;readFirstLine;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;readLines;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;lines;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;CharSource;true;wrap;(CharSequence);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;CharStreams;false;copy;(Readable,Appendable);;Argument[0];Argument[1];taint;manual", + "com.google.common.io;CharStreams;false;readLines;(Readable);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;CharStreams;false;toString;(Readable);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;Closer;true;register;;;Argument[0];ReturnValue;value;manual", + "com.google.common.io;Files;false;getFileExtension;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;Files;false;getNameWithoutExtension;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;Files;false;simplifyPath;(String);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;MoreFiles;false;getFileExtension;(Path);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;MoreFiles;false;getNameWithoutExtension;(Path);;Argument[0];ReturnValue;taint;manual", + "com.google.common.io;LineReader;false;LineReader;(Readable);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;LineReader;true;readLine;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;toByteArray;();;Argument[-1];ReturnValue;taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;write;(byte[]);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;write;(byte[],int,int);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;write;(int);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeByte;(int);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeBytes;(String);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeChar;(int);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeChars;(String);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeDouble;(double);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeFloat;(float);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeInt;(int);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeLong;(long);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeShort;(int);;Argument[0];Argument[-1];taint;manual", + "com.google.common.io;ByteArrayDataOutput;true;writeUTF;(String);;Argument[0];Argument[-1];taint;manual" ] } } @@ -90,13 +90,13 @@ private class GuavaIoSinkCsv extends SinkModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; kind` - "com.google.common.io;Resources;false;asByteSource;(URL);;Argument[0];url-open-stream", - "com.google.common.io;Resources;false;asCharSource;(URL,Charset);;Argument[0];url-open-stream", - "com.google.common.io;Resources;false;copy;(URL,OutputStream);;Argument[0];url-open-stream", - "com.google.common.io;Resources;false;asByteSource;(URL);;Argument[0];url-open-stream", - "com.google.common.io;Resources;false;readLines;;;Argument[0];url-open-stream", - "com.google.common.io;Resources;false;toByteArray;(URL);;Argument[0];url-open-stream", - "com.google.common.io;Resources;false;toString;(URL,Charset);;Argument[0];url-open-stream" + "com.google.common.io;Resources;false;asByteSource;(URL);;Argument[0];url-open-stream;manual", + "com.google.common.io;Resources;false;asCharSource;(URL,Charset);;Argument[0];url-open-stream;manual", + "com.google.common.io;Resources;false;copy;(URL,OutputStream);;Argument[0];url-open-stream;manual", + "com.google.common.io;Resources;false;asByteSource;(URL);;Argument[0];url-open-stream;manual", + "com.google.common.io;Resources;false;readLines;;;Argument[0];url-open-stream;manual", + "com.google.common.io;Resources;false;toByteArray;(URL);;Argument[0];url-open-stream;manual", + "com.google.common.io;Resources;false;toString;(URL,Charset);;Argument[0];url-open-stream;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/jOOQ.qll b/java/ql/lib/semmle/code/java/frameworks/jOOQ.qll index 39d8a92620c..20a7303dd76 100644 --- a/java/ql/lib/semmle/code/java/frameworks/jOOQ.qll +++ b/java/ql/lib/semmle/code/java/frameworks/jOOQ.qll @@ -24,5 +24,7 @@ predicate jOOQSqlMethod(Method m) { } private class SqlSinkCsv extends SinkModelCsv { - override predicate row(string row) { row = "org.jooq;PlainSQL;false;;;Annotated;Argument[0];sql" } + override predicate row(string row) { + row = "org.jooq;PlainSQL;false;;;Annotated;Argument[0];sql;manual" + } } diff --git a/java/ql/lib/semmle/code/java/frameworks/jackson/JacksonSerializability.qll b/java/ql/lib/semmle/code/java/frameworks/jackson/JacksonSerializability.qll index 1fb2e377841..6d77591b323 100644 --- a/java/ql/lib/semmle/code/java/frameworks/jackson/JacksonSerializability.qll +++ b/java/ql/lib/semmle/code/java/frameworks/jackson/JacksonSerializability.qll @@ -286,13 +286,13 @@ private class JacksonModel extends SummaryModelCsv { override predicate row(string row) { row = [ - "com.fasterxml.jackson.databind;ObjectMapper;true;valueToTree;;;Argument[0];ReturnValue;taint", - "com.fasterxml.jackson.databind;ObjectMapper;true;valueToTree;;;Argument[0].MapValue;ReturnValue;taint", - "com.fasterxml.jackson.databind;ObjectMapper;true;valueToTree;;;Argument[0].MapValue.Element;ReturnValue;taint", - "com.fasterxml.jackson.databind;ObjectMapper;true;convertValue;;;Argument[0];ReturnValue;taint", - "com.fasterxml.jackson.databind;ObjectMapper;false;createParser;;;Argument[0];ReturnValue;taint", - "com.fasterxml.jackson.databind;ObjectReader;false;createParser;;;Argument[0];ReturnValue;taint", - "com.fasterxml.jackson.core;JsonFactory;false;createParser;;;Argument[0];ReturnValue;taint" + "com.fasterxml.jackson.databind;ObjectMapper;true;valueToTree;;;Argument[0];ReturnValue;taint;manual", + "com.fasterxml.jackson.databind;ObjectMapper;true;valueToTree;;;Argument[0].MapValue;ReturnValue;taint;manual", + "com.fasterxml.jackson.databind;ObjectMapper;true;valueToTree;;;Argument[0].MapValue.Element;ReturnValue;taint;manual", + "com.fasterxml.jackson.databind;ObjectMapper;true;convertValue;;;Argument[0];ReturnValue;taint;manual", + "com.fasterxml.jackson.databind;ObjectMapper;false;createParser;;;Argument[0];ReturnValue;taint;manual", + "com.fasterxml.jackson.databind;ObjectReader;false;createParser;;;Argument[0];ReturnValue;taint;manual", + "com.fasterxml.jackson.core;JsonFactory;false;createParser;;;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/javaee/jsf/JSFRenderer.qll b/java/ql/lib/semmle/code/java/frameworks/javaee/jsf/JSFRenderer.qll index 1b825d29c2f..9efa891676b 100644 --- a/java/ql/lib/semmle/code/java/frameworks/javaee/jsf/JSFRenderer.qll +++ b/java/ql/lib/semmle/code/java/frameworks/javaee/jsf/JSFRenderer.qll @@ -17,13 +17,13 @@ private class ExternalContextSource extends SourceModelCsv { row = ["javax.", "jakarta."] + [ - "faces.context;ExternalContext;true;getRequestParameterMap;();;ReturnValue;remote", - "faces.context;ExternalContext;true;getRequestParameterNames;();;ReturnValue;remote", - "faces.context;ExternalContext;true;getRequestParameterValuesMap;();;ReturnValue;remote", - "faces.context;ExternalContext;true;getRequestPathInfo;();;ReturnValue;remote", - "faces.context;ExternalContext;true;getRequestCookieMap;();;ReturnValue;remote", - "faces.context;ExternalContext;true;getRequestHeaderMap;();;ReturnValue;remote", - "faces.context;ExternalContext;true;getRequestHeaderValuesMap;();;ReturnValue;remote" + "faces.context;ExternalContext;true;getRequestParameterMap;();;ReturnValue;remote;manual", + "faces.context;ExternalContext;true;getRequestParameterNames;();;ReturnValue;remote;manual", + "faces.context;ExternalContext;true;getRequestParameterValuesMap;();;ReturnValue;remote;manual", + "faces.context;ExternalContext;true;getRequestPathInfo;();;ReturnValue;remote;manual", + "faces.context;ExternalContext;true;getRequestCookieMap;();;ReturnValue;remote;manual", + "faces.context;ExternalContext;true;getRequestHeaderMap;();;ReturnValue;remote;manual", + "faces.context;ExternalContext;true;getRequestHeaderValuesMap;();;ReturnValue;remote;manual" ] } } @@ -54,10 +54,10 @@ private class ExternalContextXssSink extends SinkModelCsv { override predicate row(string row) { row = [ - "javax.faces.context;ResponseWriter;true;write;;;Argument[0];xss", - "javax.faces.context;ResponseStream;true;write;;;Argument[0];xss", - "jakarta.faces.context;ResponseWriter;true;write;;;Argument[0];xss", - "jakarta.faces.context;ResponseStream;true;write;;;Argument[0];xss" + "javax.faces.context;ResponseWriter;true;write;;;Argument[0];xss;manual", + "javax.faces.context;ResponseStream;true;write;;;Argument[0];xss;manual", + "jakarta.faces.context;ResponseWriter;true;write;;;Argument[0];xss;manual", + "jakarta.faces.context;ResponseStream;true;write;;;Argument[0];xss;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/ratpack/Ratpack.qll b/java/ql/lib/semmle/code/java/frameworks/ratpack/Ratpack.qll index 44668bc8a21..772ea3866e5 100644 --- a/java/ql/lib/semmle/code/java/frameworks/ratpack/Ratpack.qll +++ b/java/ql/lib/semmle/code/java/frameworks/ratpack/Ratpack.qll @@ -15,14 +15,16 @@ private class RatpackHttpSource extends SourceModelCsv { row = ["ratpack.http;", "ratpack.core.http;"] + [ - "Request;true;getContentLength;;;ReturnValue;remote", - "Request;true;getCookies;;;ReturnValue;remote", - "Request;true;oneCookie;;;ReturnValue;remote", - "Request;true;getHeaders;;;ReturnValue;remote", - "Request;true;getPath;;;ReturnValue;remote", "Request;true;getQuery;;;ReturnValue;remote", - "Request;true;getQueryParams;;;ReturnValue;remote", - "Request;true;getRawUri;;;ReturnValue;remote", "Request;true;getUri;;;ReturnValue;remote", - "Request;true;getBody;;;ReturnValue;remote" + "Request;true;getContentLength;;;ReturnValue;remote;manual", + "Request;true;getCookies;;;ReturnValue;remote;manual", + "Request;true;oneCookie;;;ReturnValue;remote;manual", + "Request;true;getHeaders;;;ReturnValue;remote;manual", + "Request;true;getPath;;;ReturnValue;remote;manual", + "Request;true;getQuery;;;ReturnValue;remote;manual", + "Request;true;getQueryParams;;;ReturnValue;remote;manual", + "Request;true;getRawUri;;;ReturnValue;remote;manual", + "Request;true;getUri;;;ReturnValue;remote;manual", + "Request;true;getBody;;;ReturnValue;remote;manual" ] or // All Context#parse methods that return a Promise are remote flow sources. @@ -33,7 +35,7 @@ private class RatpackHttpSource extends SourceModelCsv { "(java.lang.Class,java.lang.Object);", "(com.google.common.reflect.TypeToken,java.lang.Object);", "(ratpack.core.parse.Parse);", "(ratpack.parse.Parse);" - ] + ";ReturnValue;remote" + ] + ";ReturnValue;remote;manual" } } @@ -45,43 +47,43 @@ private class RatpackModel extends SummaryModelCsv { row = ["ratpack.http;", "ratpack.core.http;"] + [ - "TypedData;true;getBuffer;;;Argument[-1];ReturnValue;taint", - "TypedData;true;getBytes;;;Argument[-1];ReturnValue;taint", - "TypedData;true;getContentType;;;Argument[-1];ReturnValue;taint", - "TypedData;true;getInputStream;;;Argument[-1];ReturnValue;taint", - "TypedData;true;getText;;;Argument[-1];ReturnValue;taint", - "TypedData;true;writeTo;;;Argument[-1];Argument[0];taint", - "Headers;true;get;;;Argument[-1];ReturnValue;taint", - "Headers;true;getAll;;;Argument[-1];ReturnValue;taint", - "Headers;true;getNames;;;Argument[-1];ReturnValue;taint", - "Headers;true;asMultiValueMap;;;Argument[-1];ReturnValue;taint" + "TypedData;true;getBuffer;;;Argument[-1];ReturnValue;taint;manual", + "TypedData;true;getBytes;;;Argument[-1];ReturnValue;taint;manual", + "TypedData;true;getContentType;;;Argument[-1];ReturnValue;taint;manual", + "TypedData;true;getInputStream;;;Argument[-1];ReturnValue;taint;manual", + "TypedData;true;getText;;;Argument[-1];ReturnValue;taint;manual", + "TypedData;true;writeTo;;;Argument[-1];Argument[0];taint;manual", + "Headers;true;get;;;Argument[-1];ReturnValue;taint;manual", + "Headers;true;getAll;;;Argument[-1];ReturnValue;taint;manual", + "Headers;true;getNames;;;Argument[-1];ReturnValue;taint;manual", + "Headers;true;asMultiValueMap;;;Argument[-1];ReturnValue;taint;manual" ] or row = ["ratpack.form;", "ratpack.core.form;"] + [ - "UploadedFile;true;getFileName;;;Argument[-1];ReturnValue;taint", - "Form;true;file;;;Argument[-1];ReturnValue;taint", - "Form;true;files;;;Argument[-1];ReturnValue;taint" + "UploadedFile;true;getFileName;;;Argument[-1];ReturnValue;taint;manual", + "Form;true;file;;;Argument[-1];ReturnValue;taint;manual", + "Form;true;files;;;Argument[-1];ReturnValue;taint;manual" ] or row = ["ratpack.handling;", "ratpack.core.handling;"] + [ - "Context;true;parse;(ratpack.http.TypedData,ratpack.parse.Parse);;Argument[0];ReturnValue;taint", - "Context;true;parse;(ratpack.core.http.TypedData,ratpack.core.parse.Parse);;Argument[0];ReturnValue;taint", - "Context;true;parse;(ratpack.core.http.TypedData,ratpack.core.parse.Parse);;Argument[0];ReturnValue.MapKey;taint", - "Context;true;parse;(ratpack.core.http.TypedData,ratpack.core.parse.Parse);;Argument[0];ReturnValue.MapValue;taint" + "Context;true;parse;(ratpack.http.TypedData,ratpack.parse.Parse);;Argument[0];ReturnValue;taint;manual", + "Context;true;parse;(ratpack.core.http.TypedData,ratpack.core.parse.Parse);;Argument[0];ReturnValue;taint;manual", + "Context;true;parse;(ratpack.core.http.TypedData,ratpack.core.parse.Parse);;Argument[0];ReturnValue.MapKey;taint;manual", + "Context;true;parse;(ratpack.core.http.TypedData,ratpack.core.parse.Parse);;Argument[0];ReturnValue.MapValue;taint;manual" ] or row = ["ratpack.util;", "ratpack.func;"] + [ - "MultiValueMap;true;getAll;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "MultiValueMap;true;getAll;();;Argument[-1].MapValue;ReturnValue.MapValue.Element;value", - "MultiValueMap;true;getAll;(Object);;Argument[-1].MapValue;ReturnValue.Element;value", - "MultiValueMap;true;asMultimap;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "MultiValueMap;true;asMultimap;;;Argument[-1].MapValue;ReturnValue.MapValue;value" + "MultiValueMap;true;getAll;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "MultiValueMap;true;getAll;();;Argument[-1].MapValue;ReturnValue.MapValue.Element;value;manual", + "MultiValueMap;true;getAll;(Object);;Argument[-1].MapValue;ReturnValue.Element;value;manual", + "MultiValueMap;true;asMultimap;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "MultiValueMap;true;asMultimap;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual" ] or exists(string left, string right | @@ -91,42 +93,42 @@ private class RatpackModel extends SummaryModelCsv { row = ["ratpack.util;", "ratpack.func;"] + "Pair;true;" + [ - "of;;;Argument[0];ReturnValue." + left + ";value", - "of;;;Argument[1];ReturnValue." + right + ";value", - "pair;;;Argument[0];ReturnValue." + left + ";value", - "pair;;;Argument[1];ReturnValue." + right + ";value", - "left;();;Argument[-1]." + left + ";ReturnValue;value", - "right;();;Argument[-1]." + right + ";ReturnValue;value", - "getLeft;;;Argument[-1]." + left + ";ReturnValue;value", - "getRight;;;Argument[-1]." + right + ";ReturnValue;value", - "left;(Object);;Argument[0];ReturnValue." + left + ";value", - "left;(Object);;Argument[-1]." + right + ";ReturnValue." + right + ";value", - "right;(Object);;Argument[0];ReturnValue." + right + ";value", - "right;(Object);;Argument[-1]." + left + ";ReturnValue." + left + ";value", - "pushLeft;(Object);;Argument[-1];ReturnValue." + right + ";value", - "pushRight;(Object);;Argument[-1];ReturnValue." + left + ";value", - "pushLeft;(Object);;Argument[0];ReturnValue." + left + ";value", - "pushRight;(Object);;Argument[0];ReturnValue." + right + ";value", + "of;;;Argument[0];ReturnValue." + left + ";value;manual", + "of;;;Argument[1];ReturnValue." + right + ";value;manual", + "pair;;;Argument[0];ReturnValue." + left + ";value;manual", + "pair;;;Argument[1];ReturnValue." + right + ";value;manual", + "left;();;Argument[-1]." + left + ";ReturnValue;value;manual", + "right;();;Argument[-1]." + right + ";ReturnValue;value;manual", + "getLeft;;;Argument[-1]." + left + ";ReturnValue;value;manual", + "getRight;;;Argument[-1]." + right + ";ReturnValue;value;manual", + "left;(Object);;Argument[0];ReturnValue." + left + ";value;manual", + "left;(Object);;Argument[-1]." + right + ";ReturnValue." + right + ";value;manual", + "right;(Object);;Argument[0];ReturnValue." + right + ";value;manual", + "right;(Object);;Argument[-1]." + left + ";ReturnValue." + left + ";value;manual", + "pushLeft;(Object);;Argument[-1];ReturnValue." + right + ";value;manual", + "pushRight;(Object);;Argument[-1];ReturnValue." + left + ";value;manual", + "pushLeft;(Object);;Argument[0];ReturnValue." + left + ";value;manual", + "pushRight;(Object);;Argument[0];ReturnValue." + right + ";value;manual", // `nestLeft` Pair.nestLeft(C) -> Pair, B> - "nestLeft;(Object);;Argument[0];ReturnValue." + left + "." + left + ";value", + "nestLeft;(Object);;Argument[0];ReturnValue." + left + "." + left + ";value;manual", "nestLeft;(Object);;Argument[-1]." + left + ";ReturnValue." + left + "." + right + - ";value", - "nestLeft;(Object);;Argument[-1]." + right + ";ReturnValue." + right + ";value", + ";value;manual", + "nestLeft;(Object);;Argument[-1]." + right + ";ReturnValue." + right + ";value;manual", // `nestRight` Pair.nestRight(C) -> Pair> - "nestRight;(Object);;Argument[0];ReturnValue." + right + "." + left + ";value", - "nestRight;(Object);;Argument[-1]." + left + ";ReturnValue." + left + ";value", + "nestRight;(Object);;Argument[0];ReturnValue." + right + "." + left + ";value;manual", + "nestRight;(Object);;Argument[-1]." + left + ";ReturnValue." + left + ";value;manual", "nestRight;(Object);;Argument[-1]." + right + ";ReturnValue." + right + "." + right + - ";value", + ";value;manual", // `mapLeft` & `mapRight` map over their respective fields - "mapLeft;;;Argument[-1]." + left + ";Argument[0].Parameter[0];value", - "mapLeft;;;Argument[-1]." + right + ";ReturnValue." + right + ";value", - "mapRight;;;Argument[-1]." + right + ";Argument[0].Parameter[0];value", - "mapRight;;;Argument[-1]." + left + ";ReturnValue." + left + ";value", - "mapLeft;;;Argument[0].ReturnValue;ReturnValue." + left + ";value", - "mapRight;;;Argument[0].ReturnValue;ReturnValue." + right + ";value", + "mapLeft;;;Argument[-1]." + left + ";Argument[0].Parameter[0];value;manual", + "mapLeft;;;Argument[-1]." + right + ";ReturnValue." + right + ";value;manual", + "mapRight;;;Argument[-1]." + right + ";Argument[0].Parameter[0];value;manual", + "mapRight;;;Argument[-1]." + left + ";ReturnValue." + left + ";value;manual", + "mapLeft;;;Argument[0].ReturnValue;ReturnValue." + left + ";value;manual", + "mapRight;;;Argument[0].ReturnValue;ReturnValue." + right + ";value;manual", // `map` maps over the `Pair` - "map;;;Argument[-1];Argument[0].Parameter[0];value", - "map;;;Argument[0].ReturnValue;ReturnValue;value" + "map;;;Argument[-1];Argument[0].Parameter[0];value;manual", + "map;;;Argument[0].ReturnValue;ReturnValue;value;manual" ] ) } diff --git a/java/ql/lib/semmle/code/java/frameworks/ratpack/RatpackExec.qll b/java/ql/lib/semmle/code/java/frameworks/ratpack/RatpackExec.qll index 0ebb9843856..8f619d4a104 100644 --- a/java/ql/lib/semmle/code/java/frameworks/ratpack/RatpackExec.qll +++ b/java/ql/lib/semmle/code/java/frameworks/ratpack/RatpackExec.qll @@ -17,50 +17,50 @@ private class RatpackExecModel extends SummaryModelCsv { "ratpack.exec;Promise;true;" + [ // `Promise` creation methods - "value;;;Argument[0];ReturnValue.Element;value", - "flatten;;;Argument[0].ReturnValue.Element;ReturnValue.Element;value", - "sync;;;Argument[0].ReturnValue;ReturnValue.Element;value", + "value;;;Argument[0];ReturnValue.Element;value;manual", + "flatten;;;Argument[0].ReturnValue.Element;ReturnValue.Element;value;manual", + "sync;;;Argument[0].ReturnValue;ReturnValue.Element;value;manual", // `Promise` value transformation methods - "map;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "map;;;Argument[0].ReturnValue;ReturnValue.Element;value", - "blockingMap;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "blockingMap;;;Argument[0].ReturnValue;ReturnValue.Element;value", - "mapError;;;Argument[1].ReturnValue;ReturnValue.Element;value", + "map;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "map;;;Argument[0].ReturnValue;ReturnValue.Element;value;manual", + "blockingMap;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "blockingMap;;;Argument[0].ReturnValue;ReturnValue.Element;value;manual", + "mapError;;;Argument[1].ReturnValue;ReturnValue.Element;value;manual", // `apply` passes the qualifier to the function as the first argument - "apply;;;Argument[-1].Element;Argument[0].Parameter[0].Element;value", - "apply;;;Argument[0].ReturnValue.Element;ReturnValue.Element;value", + "apply;;;Argument[-1].Element;Argument[0].Parameter[0].Element;value;manual", + "apply;;;Argument[0].ReturnValue.Element;ReturnValue.Element;value;manual", // `Promise` termination method - "then;;;Argument[-1].Element;Argument[0].Parameter[0];value", + "then;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", // 'next' accesses qualifier the 'Promise' value and also returns the qualifier - "next;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "nextOp;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "flatOp;;;Argument[-1].Element;Argument[0].Parameter[0];value", + "next;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "nextOp;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "flatOp;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", // `nextOpIf` accesses qualifier the 'Promise' value and also returns the qualifier - "nextOpIf;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "nextOpIf;;;Argument[-1].Element;Argument[1].Parameter[0];value", + "nextOpIf;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "nextOpIf;;;Argument[-1].Element;Argument[1].Parameter[0];value;manual", // 'cacheIf' accesses qualifier the 'Promise' value and also returns the qualifier - "cacheIf;;;Argument[-1].Element;Argument[0].Parameter[0];value", + "cacheIf;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", // 'route' accesses qualifier the 'Promise' value, and conditionally returns the qualifier or // the result of the second argument - "route;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "route;;;Argument[-1].Element;Argument[1].Parameter[0];value", - "route;;;Argument[-1];ReturnValue;value", + "route;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "route;;;Argument[-1].Element;Argument[1].Parameter[0];value;manual", + "route;;;Argument[-1];ReturnValue;value;manual", // `flatMap` type methods return their returned `Promise` - "flatMap;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "flatMap;;;Argument[0].ReturnValue.Element;ReturnValue.Element;value", - "flatMapError;;;Argument[1].ReturnValue.Element;ReturnValue.Element;value", + "flatMap;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "flatMap;;;Argument[0].ReturnValue.Element;ReturnValue.Element;value;manual", + "flatMapError;;;Argument[1].ReturnValue.Element;ReturnValue.Element;value;manual", // `blockingOp` passes the value to the argument - "blockingOp;;;Argument[-1].Element;Argument[0].Parameter[0];value", + "blockingOp;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", // `replace` returns the passed `Promise` - "replace;;;Argument[0].Element;ReturnValue.Element;value", + "replace;;;Argument[0].Element;ReturnValue.Element;value;manual", // `mapIf` methods conditionally map their values, or return themselves - "mapIf;;;Argument[-1].Element;Argument[0].Parameter[0];value", - "mapIf;;;Argument[-1].Element;Argument[1].Parameter[0];value", - "mapIf;;;Argument[-1].Element;Argument[2].Parameter[0];value", - "mapIf;;;Argument[1].ReturnValue;ReturnValue.Element;value", - "mapIf;;;Argument[2].ReturnValue;ReturnValue.Element;value", + "mapIf;;;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "mapIf;;;Argument[-1].Element;Argument[1].Parameter[0];value;manual", + "mapIf;;;Argument[-1].Element;Argument[2].Parameter[0];value;manual", + "mapIf;;;Argument[1].ReturnValue;ReturnValue.Element;value;manual", + "mapIf;;;Argument[2].ReturnValue;ReturnValue.Element;value;manual", // `wiretap` wraps the qualifier `Promise` value in a `Result` and passes it to the argument - "wiretap;;;Argument[-1].Element;Argument[0].Parameter[0].Element;value" + "wiretap;;;Argument[-1].Element;Argument[0].Parameter[0].Element;value;manual" ] or exists(string left, string right | @@ -71,33 +71,34 @@ private class RatpackExecModel extends SummaryModelCsv { "ratpack.exec;Promise;true;" + [ // `left`, `right`, `flatLeft`, `flatRight` all pass the qualifier `Promise` element as the other `Pair` field - "left;;;Argument[-1].Element;ReturnValue.Element." + right + ";value", - "right;;;Argument[-1].Element;ReturnValue.Element." + left + ";value", - "flatLeft;;;Argument[-1].Element;ReturnValue.Element." + right + ";value", - "flatRight;;;Argument[-1].Element;ReturnValue.Element." + left + ";value", + "left;;;Argument[-1].Element;ReturnValue.Element." + right + ";value;manual", + "right;;;Argument[-1].Element;ReturnValue.Element." + left + ";value;manual", + "flatLeft;;;Argument[-1].Element;ReturnValue.Element." + right + ";value;manual", + "flatRight;;;Argument[-1].Element;ReturnValue.Element." + left + ";value;manual", // `left` and `right` taking a `Promise` create a `Promise` of the `Pair` - "left;(Promise);;Argument[0].Element;ReturnValue.Element." + left + ";value", - "right;(Promise);;Argument[0].Element;ReturnValue.Element." + right + ";value", + "left;(Promise);;Argument[0].Element;ReturnValue.Element." + left + ";value;manual", + "right;(Promise);;Argument[0].Element;ReturnValue.Element." + right + ";value;manual", // `left` and `right` taking a `Function` pass the qualifier element then create a `Pair` with the returned value - "left;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "flatLeft;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "right;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "flatRight;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value", - "left;(Function);;Argument[0].ReturnValue;ReturnValue.Element." + left + ";value", + "left;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "flatLeft;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "right;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "flatRight;(Function);;Argument[-1].Element;Argument[0].Parameter[0];value;manual", + "left;(Function);;Argument[0].ReturnValue;ReturnValue.Element." + left + ";value;manual", "flatLeft;(Function);;Argument[0].ReturnValue.Element;ReturnValue.Element." + left + - ";value", - "right;(Function);;Argument[0].ReturnValue;ReturnValue.Element." + right + ";value", + ";value;manual", + "right;(Function);;Argument[0].ReturnValue;ReturnValue.Element." + right + + ";value;manual", "flatRight;(Function);;Argument[0].ReturnValue.Element;ReturnValue.Element." + right + - ";value" + ";value;manual" ] ) or row = "ratpack.exec;Result;true;" + [ - "success;;;Argument[0];ReturnValue.Element;value", - "getValue;;;Argument[-1].Element;ReturnValue;value", - "getValueOrThrow;;;Argument[-1].Element;ReturnValue;value" + "success;;;Argument[0];ReturnValue.Element;value;manual", + "getValue;;;Argument[-1].Element;ReturnValue;value;manual", + "getValueOrThrow;;;Argument[-1].Element;ReturnValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringBeans.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringBeans.qll index 966a74a02c8..63671f21855 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringBeans.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringBeans.qll @@ -13,36 +13,36 @@ private class FlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.beans;PropertyValue;false;PropertyValue;(String,Object);;Argument[0];Argument[-1].MapKey;value", - "org.springframework.beans;PropertyValue;false;PropertyValue;(String,Object);;Argument[1];Argument[-1].MapValue;value", - "org.springframework.beans;PropertyValue;false;PropertyValue;(PropertyValue);;Argument[0];Argument[-1];value", - "org.springframework.beans;PropertyValue;false;PropertyValue;(PropertyValue,Object);;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.beans;PropertyValue;false;PropertyValue;(PropertyValue,Object);;Argument[1];Argument[-1].MapValue;value", - "org.springframework.beans;PropertyValue;false;getName;;;Argument[-1].MapKey;ReturnValue;value", - "org.springframework.beans;PropertyValue;false;getValue;;;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.beans;PropertyValues;true;getPropertyValue;;;Argument[-1].Element;ReturnValue;value", - "org.springframework.beans;PropertyValues;true;getPropertyValues;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(List);;Argument[0].Element;Argument[-1].Element;value", - "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(Map);;Argument[0].MapKey;Argument[-1].Element.MapKey;value", - "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(Map);;Argument[0].MapValue;Argument[-1].Element.MapValue;value", - "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(PropertyValues);;Argument[0].Element;Argument[-1].Element;value", - "org.springframework.beans;MutablePropertyValues;true;add;(String,Object);;Argument[0];Argument[-1].Element.MapKey;value", - "org.springframework.beans;MutablePropertyValues;true;add;(String,Object);;Argument[-1];ReturnValue;value", - "org.springframework.beans;MutablePropertyValues;true;add;(String,Object);;Argument[1];Argument[-1].Element.MapValue;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(PropertyValue);;Argument[0];Argument[-1].Element;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(PropertyValue);;Argument[-1];ReturnValue;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(String,Object);;Argument[0];Argument[-1].Element.MapKey;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(String,Object);;Argument[1];Argument[-1].Element.MapValue;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(Map);;Argument[0].MapKey;Argument[-1].Element.MapKey;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(Map);;Argument[0].MapValue;Argument[-1].Element.MapValue;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(Map);;Argument[-1];ReturnValue;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(PropertyValues);;Argument[0].Element;Argument[-1].Element;value", - "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(PropertyValues);;Argument[-1];ReturnValue;value", - "org.springframework.beans;MutablePropertyValues;true;get;;;Argument[-1].Element.MapValue;ReturnValue;value", - "org.springframework.beans;MutablePropertyValues;true;getPropertyValue;;;Argument[-1].Element;ReturnValue;value", - "org.springframework.beans;MutablePropertyValues;true;getPropertyValueList;;;Argument[-1].Element;ReturnValue.Element;value", - "org.springframework.beans;MutablePropertyValues;true;getPropertyValues;;;Argument[-1].Element;ReturnValue.ArrayElement;value", - "org.springframework.beans;MutablePropertyValues;true;setPropertyValueAt;;;Argument[0];Argument[-1].Element;value" + "org.springframework.beans;PropertyValue;false;PropertyValue;(String,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.beans;PropertyValue;false;PropertyValue;(String,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.beans;PropertyValue;false;PropertyValue;(PropertyValue);;Argument[0];Argument[-1];value;manual", + "org.springframework.beans;PropertyValue;false;PropertyValue;(PropertyValue,Object);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.beans;PropertyValue;false;PropertyValue;(PropertyValue,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.beans;PropertyValue;false;getName;;;Argument[-1].MapKey;ReturnValue;value;manual", + "org.springframework.beans;PropertyValue;false;getValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.beans;PropertyValues;true;getPropertyValue;;;Argument[-1].Element;ReturnValue;value;manual", + "org.springframework.beans;PropertyValues;true;getPropertyValues;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(List);;Argument[0].Element;Argument[-1].Element;value;manual", + "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(Map);;Argument[0].MapKey;Argument[-1].Element.MapKey;value;manual", + "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(Map);;Argument[0].MapValue;Argument[-1].Element.MapValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;MutablePropertyValues;(PropertyValues);;Argument[0].Element;Argument[-1].Element;value;manual", + "org.springframework.beans;MutablePropertyValues;true;add;(String,Object);;Argument[0];Argument[-1].Element.MapKey;value;manual", + "org.springframework.beans;MutablePropertyValues;true;add;(String,Object);;Argument[-1];ReturnValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;add;(String,Object);;Argument[1];Argument[-1].Element.MapValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(PropertyValue);;Argument[0];Argument[-1].Element;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(PropertyValue);;Argument[-1];ReturnValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(String,Object);;Argument[0];Argument[-1].Element.MapKey;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValue;(String,Object);;Argument[1];Argument[-1].Element.MapValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(Map);;Argument[0].MapKey;Argument[-1].Element.MapKey;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(Map);;Argument[0].MapValue;Argument[-1].Element.MapValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(Map);;Argument[-1];ReturnValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(PropertyValues);;Argument[0].Element;Argument[-1].Element;value;manual", + "org.springframework.beans;MutablePropertyValues;true;addPropertyValues;(PropertyValues);;Argument[-1];ReturnValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;get;;;Argument[-1].Element.MapValue;ReturnValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;getPropertyValue;;;Argument[-1].Element;ReturnValue;value;manual", + "org.springframework.beans;MutablePropertyValues;true;getPropertyValueList;;;Argument[-1].Element;ReturnValue.Element;value;manual", + "org.springframework.beans;MutablePropertyValues;true;getPropertyValues;;;Argument[-1].Element;ReturnValue.ArrayElement;value;manual", + "org.springframework.beans;MutablePropertyValues;true;setPropertyValueAt;;;Argument[0];Argument[-1].Element;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringCache.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringCache.qll index bdc2481be8a..007ce0d9d71 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringCache.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringCache.qll @@ -9,19 +9,19 @@ private class FlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.cache;Cache$ValueRetrievalException;false;ValueRetrievalException;;;Argument[0];Argument[-1].MapKey;value", - "org.springframework.cache;Cache$ValueRetrievalException;false;getKey;;;Argument[-1].MapKey;ReturnValue;value", - "org.springframework.cache;Cache$ValueWrapper;true;get;;;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.cache;Cache;true;get;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value", - "org.springframework.cache;Cache;true;get;(Object,Callable);;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.cache;Cache;true;get;(Object,Class);;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.cache;Cache;true;getNativeCache;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "org.springframework.cache;Cache;true;getNativeCache;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - "org.springframework.cache;Cache;true;put;;;Argument[0];Argument[-1].MapKey;value", - "org.springframework.cache;Cache;true;put;;;Argument[1];Argument[-1].MapValue;value", - "org.springframework.cache;Cache;true;putIfAbsent;;;Argument[0];Argument[-1].MapKey;value", - "org.springframework.cache;Cache;true;putIfAbsent;;;Argument[1];Argument[-1].MapValue;value", - "org.springframework.cache;Cache;true;putIfAbsent;;;Argument[-1].MapValue;ReturnValue.MapValue;value" + "org.springframework.cache;Cache$ValueRetrievalException;false;ValueRetrievalException;;;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.cache;Cache$ValueRetrievalException;false;getKey;;;Argument[-1].MapKey;ReturnValue;value;manual", + "org.springframework.cache;Cache$ValueWrapper;true;get;;;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.cache;Cache;true;get;(Object);;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.cache;Cache;true;get;(Object,Callable);;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.cache;Cache;true;get;(Object,Class);;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.cache;Cache;true;getNativeCache;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.cache;Cache;true;getNativeCache;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.cache;Cache;true;put;;;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.cache;Cache;true;put;;;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.cache;Cache;true;putIfAbsent;;;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.cache;Cache;true;putIfAbsent;;;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.cache;Cache;true;putIfAbsent;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringContext.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringContext.qll index 25443055427..3860a5457cd 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringContext.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringContext.qll @@ -10,9 +10,9 @@ private class StringSummaryCsv extends SummaryModelCsv { row = [ //`namespace; type; subtypes; name; signature; ext; input; output; kind` - "org.springframework.context;MessageSource;true;getMessage;(String,Object[],String,Locale);;Argument[1].ArrayElement;ReturnValue;taint", - "org.springframework.context;MessageSource;true;getMessage;(String,Object[],String,Locale);;Argument[2];ReturnValue;taint", - "org.springframework.context;MessageSource;true;getMessage;(String,Object[],Locale);;Argument[1].ArrayElement;ReturnValue;taint" + "org.springframework.context;MessageSource;true;getMessage;(String,Object[],String,Locale);;Argument[1].ArrayElement;ReturnValue;taint;manual", + "org.springframework.context;MessageSource;true;getMessage;(String,Object[],String,Locale);;Argument[2];ReturnValue;taint;manual", + "org.springframework.context;MessageSource;true;getMessage;(String,Object[],Locale);;Argument[1].ArrayElement;ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringHttp.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringHttp.qll index 9417e783e34..072a5cbaadc 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringHttp.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringHttp.qll @@ -47,20 +47,20 @@ private class UrlOpenSink extends SinkModelCsv { override predicate row(string row) { row = [ - "org.springframework.http;RequestEntity;false;get;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;post;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;head;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;delete;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;options;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;patch;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;put;;;Argument[0];open-url", - "org.springframework.http;RequestEntity;false;method;;;Argument[1];open-url", - "org.springframework.http;RequestEntity;false;RequestEntity;(HttpMethod,URI);;Argument[1];open-url", - "org.springframework.http;RequestEntity;false;RequestEntity;(MultiValueMap,HttpMethod,URI);;Argument[2];open-url", - "org.springframework.http;RequestEntity;false;RequestEntity;(Object,HttpMethod,URI);;Argument[2];open-url", - "org.springframework.http;RequestEntity;false;RequestEntity;(Object,HttpMethod,URI,Type);;Argument[2];open-url", - "org.springframework.http;RequestEntity;false;RequestEntity;(Object,MultiValueMap,HttpMethod,URI);;Argument[3];open-url", - "org.springframework.http;RequestEntity;false;RequestEntity;(Object,MultiValueMap,HttpMethod,URI,Type);;Argument[3];open-url" + "org.springframework.http;RequestEntity;false;get;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;post;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;head;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;delete;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;options;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;patch;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;put;;;Argument[0];open-url;manual", + "org.springframework.http;RequestEntity;false;method;;;Argument[1];open-url;manual", + "org.springframework.http;RequestEntity;false;RequestEntity;(HttpMethod,URI);;Argument[1];open-url;manual", + "org.springframework.http;RequestEntity;false;RequestEntity;(MultiValueMap,HttpMethod,URI);;Argument[2];open-url;manual", + "org.springframework.http;RequestEntity;false;RequestEntity;(Object,HttpMethod,URI);;Argument[2];open-url;manual", + "org.springframework.http;RequestEntity;false;RequestEntity;(Object,HttpMethod,URI,Type);;Argument[2];open-url;manual", + "org.springframework.http;RequestEntity;false;RequestEntity;(Object,MultiValueMap,HttpMethod,URI);;Argument[3];open-url;manual", + "org.springframework.http;RequestEntity;false;RequestEntity;(Object,MultiValueMap,HttpMethod,URI,Type);;Argument[3];open-url;manual" ] } } @@ -70,76 +70,76 @@ private class SpringHttpFlowStep extends SummaryModelCsv { row = [ //"package;type;overrides;name;signature;ext;inputspec;outputspec;kind", - "org.springframework.http;HttpEntity;true;HttpEntity;(Object);;Argument[0];Argument[-1];taint", - "org.springframework.http;HttpEntity;true;HttpEntity;(Object,MultiValueMap);;Argument[0];Argument[-1];taint", - "org.springframework.http;HttpEntity;true;HttpEntity;(Object,MultiValueMap);;Argument[1].MapKey;Argument[-1];taint", - "org.springframework.http;HttpEntity;true;HttpEntity;(Object,MultiValueMap);;Argument[1].MapValue.Element;Argument[-1];taint", - "org.springframework.http;HttpEntity;true;HttpEntity;(MultiValueMap);;Argument[0].MapKey;Argument[-1];taint", - "org.springframework.http;HttpEntity;true;HttpEntity;(MultiValueMap);;Argument[0].MapValue.Element;Argument[-1];taint", - "org.springframework.http;HttpEntity;true;getBody;;;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpEntity;true;getHeaders;;;Argument[-1];ReturnValue;taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,HttpStatus);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,HttpStatus);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,HttpStatus);;Argument[1].MapKey;Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,HttpStatus);;Argument[1].MapValue.Element;Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(MultiValueMap,HttpStatus);;Argument[0].MapKey;Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(MultiValueMap,HttpStatus);;Argument[0].MapValue.Element;Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,int);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,int);;Argument[1].MapKey;Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,int);;Argument[1].MapValue.Element;Argument[-1];taint", - "org.springframework.http;ResponseEntity;true;of;(Optional);;Argument[0].Element;ReturnValue;taint", - "org.springframework.http;ResponseEntity;true;ok;(Object);;Argument[0];ReturnValue;taint", - "org.springframework.http;ResponseEntity;true;created;(URI);;Argument[0];ReturnValue;taint", - "org.springframework.http;ResponseEntity$BodyBuilder;true;contentLength;(long);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$BodyBuilder;true;contentType;(MediaType);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$BodyBuilder;true;body;(Object);;Argument[-1..0];ReturnValue;taint", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;allow;(HttpMethod[]);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;eTag;(String);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;eTag;(String);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;header;(String,String[]);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;header;(String,String[]);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;header;(String,String[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;headers;(Consumer);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;headers;(HttpHeaders);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;headers;(HttpHeaders);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;lastModified;;;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;location;(URI);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;location;(URI);;Argument[0];Argument[-1];taint", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;varyBy;(String[]);;Argument[-1];ReturnValue;value", - "org.springframework.http;ResponseEntity$HeadersBuilder;true;build;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;RequestEntity;true;getUrl;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;HttpHeaders;(MultiValueMap);;Argument[0].MapKey;Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;HttpHeaders;(MultiValueMap);;Argument[0].MapValue.Element;Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;get;(Object);;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getAccessControlAllowHeaders;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getAccessControlAllowOrigin;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getAccessControlExposeHeaders;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getAccessControlRequestHeaders;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getCacheControl;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getConnection;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getETag;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getETagValuesAsList;(String);;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getFieldValues;(String);;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getFirst;(String);;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getIfMatch;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getIfNoneMatch;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getHost;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getLocation;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getOrEmpty;(Object);;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getOrigin;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getPragma;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getUpgrade;();;Argument[-1];ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;getValuesAsList;(String);;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;getVary;();;Argument[-1];ReturnValue.Element;taint", - "org.springframework.http;HttpHeaders;true;add;(String,String);;Argument[0..1];Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;set;(String,String);;Argument[0..1];Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;addAll;(MultiValueMap);;Argument[0].MapKey;Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;addAll;(MultiValueMap);;Argument[0].MapValue.Element;Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;addAll;(String,List);;Argument[0];Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;addAll;(String,List);;Argument[1].Element;Argument[-1];taint", - "org.springframework.http;HttpHeaders;true;formatHeaders;(MultiValueMap);;Argument[0].MapKey;ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;formatHeaders;(MultiValueMap);;Argument[0].MapValue.Element;ReturnValue;taint", - "org.springframework.http;HttpHeaders;true;encodeBasicAuth;(String,String,Charset);;Argument[0..1];ReturnValue;taint" + "org.springframework.http;HttpEntity;true;HttpEntity;(Object);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;HttpEntity;true;HttpEntity;(Object,MultiValueMap);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;HttpEntity;true;HttpEntity;(Object,MultiValueMap);;Argument[1].MapKey;Argument[-1];taint;manual", + "org.springframework.http;HttpEntity;true;HttpEntity;(Object,MultiValueMap);;Argument[1].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;HttpEntity;true;HttpEntity;(MultiValueMap);;Argument[0].MapKey;Argument[-1];taint;manual", + "org.springframework.http;HttpEntity;true;HttpEntity;(MultiValueMap);;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;HttpEntity;true;getBody;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpEntity;true;getHeaders;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,HttpStatus);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,HttpStatus);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,HttpStatus);;Argument[1].MapKey;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,HttpStatus);;Argument[1].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(MultiValueMap,HttpStatus);;Argument[0].MapKey;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(MultiValueMap,HttpStatus);;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,int);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,int);;Argument[1].MapKey;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;ResponseEntity;(Object,MultiValueMap,int);;Argument[1].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity;true;of;(Optional);;Argument[0].Element;ReturnValue;taint;manual", + "org.springframework.http;ResponseEntity;true;ok;(Object);;Argument[0];ReturnValue;taint;manual", + "org.springframework.http;ResponseEntity;true;created;(URI);;Argument[0];ReturnValue;taint;manual", + "org.springframework.http;ResponseEntity$BodyBuilder;true;contentLength;(long);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$BodyBuilder;true;contentType;(MediaType);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$BodyBuilder;true;body;(Object);;Argument[-1..0];ReturnValue;taint;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;allow;(HttpMethod[]);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;eTag;(String);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;eTag;(String);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;header;(String,String[]);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;header;(String,String[]);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;header;(String,String[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;headers;(Consumer);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;headers;(HttpHeaders);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;headers;(HttpHeaders);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;lastModified;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;location;(URI);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;location;(URI);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;varyBy;(String[]);;Argument[-1];ReturnValue;value;manual", + "org.springframework.http;ResponseEntity$HeadersBuilder;true;build;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;RequestEntity;true;getUrl;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;HttpHeaders;(MultiValueMap);;Argument[0].MapKey;Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;HttpHeaders;(MultiValueMap);;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;get;(Object);;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getAccessControlAllowHeaders;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getAccessControlAllowOrigin;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getAccessControlExposeHeaders;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getAccessControlRequestHeaders;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getCacheControl;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getConnection;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getETag;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getETagValuesAsList;(String);;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getFieldValues;(String);;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getFirst;(String);;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getIfMatch;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getIfNoneMatch;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getHost;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getLocation;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getOrEmpty;(Object);;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getOrigin;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getPragma;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getUpgrade;();;Argument[-1];ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;getValuesAsList;(String);;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;getVary;();;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.http;HttpHeaders;true;add;(String,String);;Argument[0..1];Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;set;(String,String);;Argument[0..1];Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;addAll;(MultiValueMap);;Argument[0].MapKey;Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;addAll;(MultiValueMap);;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;addAll;(String,List);;Argument[0];Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;addAll;(String,List);;Argument[1].Element;Argument[-1];taint;manual", + "org.springframework.http;HttpHeaders;true;formatHeaders;(MultiValueMap);;Argument[0].MapKey;ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;formatHeaders;(MultiValueMap);;Argument[0].MapValue.Element;ReturnValue;taint;manual", + "org.springframework.http;HttpHeaders;true;encodeBasicAuth;(String,String,Charset);;Argument[0..1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringUi.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringUi.qll index dd3b6df2dec..e8ade8aa432 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringUi.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringUi.qll @@ -9,38 +9,38 @@ private class FlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.ui;Model;true;addAllAttributes;;;Argument[-1];ReturnValue;value", - "org.springframework.ui;Model;true;addAllAttributes;(Collection);;Argument[0].Element;Argument[-1].MapValue;value", - "org.springframework.ui;Model;true;addAllAttributes;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.ui;Model;true;addAllAttributes;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "org.springframework.ui;Model;true;addAttribute;;;Argument[-1];ReturnValue;value", - "org.springframework.ui;Model;true;addAttribute;(Object);;Argument[0];Argument[-1].MapValue;value", - "org.springframework.ui;Model;true;addAttribute;(String,Object);;Argument[0];Argument[-1].MapKey;value", - "org.springframework.ui;Model;true;addAttribute;(String,Object);;Argument[1];Argument[-1].MapValue;value", - "org.springframework.ui;Model;true;asMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "org.springframework.ui;Model;true;asMap;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - "org.springframework.ui;Model;true;getAttribute;;;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.ui;Model;true;mergeAttributes;;;Argument[-1];ReturnValue;value", - "org.springframework.ui;Model;true;mergeAttributes;;;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.ui;Model;true;mergeAttributes;;;Argument[0].MapValue;Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;ModelMap;(Object);;Argument[0];Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;ModelMap;(String,Object);;Argument[0];Argument[-1].MapKey;value", - "org.springframework.ui;ModelMap;false;ModelMap;(String,Object);;Argument[1];Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;addAllAttributes;;;Argument[-1];ReturnValue;value", - "org.springframework.ui;ModelMap;false;addAllAttributes;(Collection);;Argument[0].Element;Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;addAllAttributes;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.ui;ModelMap;false;addAllAttributes;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;addAttribute;;;Argument[-1];ReturnValue;value", - "org.springframework.ui;ModelMap;false;addAttribute;(Object);;Argument[0];Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;addAttribute;(String,Object);;Argument[0];Argument[-1].MapKey;value", - "org.springframework.ui;ModelMap;false;addAttribute;(String,Object);;Argument[1];Argument[-1].MapValue;value", - "org.springframework.ui;ModelMap;false;getAttribute;;;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.ui;ModelMap;false;mergeAttributes;;;Argument[-1];ReturnValue;value", - "org.springframework.ui;ModelMap;false;mergeAttributes;;;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.ui;ModelMap;false;mergeAttributes;;;Argument[0].MapValue;Argument[-1].MapValue;value", - "org.springframework.ui;ConcurrentModel;false;ConcurrentModel;(Object);;Argument[0];Argument[-1].MapValue;value", - "org.springframework.ui;ConcurrentModel;false;ConcurrentModel;(String,Object);;Argument[0];Argument[-1].MapKey;value", - "org.springframework.ui;ConcurrentModel;false;ConcurrentModel;(String,Object);;Argument[1];Argument[-1].MapValue;value" + "org.springframework.ui;Model;true;addAllAttributes;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.ui;Model;true;addAllAttributes;(Collection);;Argument[0].Element;Argument[-1].MapValue;value;manual", + "org.springframework.ui;Model;true;addAllAttributes;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.ui;Model;true;addAllAttributes;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "org.springframework.ui;Model;true;addAttribute;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.ui;Model;true;addAttribute;(Object);;Argument[0];Argument[-1].MapValue;value;manual", + "org.springframework.ui;Model;true;addAttribute;(String,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.ui;Model;true;addAttribute;(String,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.ui;Model;true;asMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.ui;Model;true;asMap;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.ui;Model;true;getAttribute;;;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.ui;Model;true;mergeAttributes;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.ui;Model;true;mergeAttributes;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.ui;Model;true;mergeAttributes;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;ModelMap;(Object);;Argument[0];Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;ModelMap;(String,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.ui;ModelMap;false;ModelMap;(String,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;addAllAttributes;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.ui;ModelMap;false;addAllAttributes;(Collection);;Argument[0].Element;Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;addAllAttributes;(Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.ui;ModelMap;false;addAllAttributes;(Map);;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;addAttribute;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.ui;ModelMap;false;addAttribute;(Object);;Argument[0];Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;addAttribute;(String,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.ui;ModelMap;false;addAttribute;(String,Object);;Argument[1];Argument[-1].MapValue;value;manual", + "org.springframework.ui;ModelMap;false;getAttribute;;;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.ui;ModelMap;false;mergeAttributes;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.ui;ModelMap;false;mergeAttributes;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.ui;ModelMap;false;mergeAttributes;;;Argument[0].MapValue;Argument[-1].MapValue;value;manual", + "org.springframework.ui;ConcurrentModel;false;ConcurrentModel;(Object);;Argument[0];Argument[-1].MapValue;value;manual", + "org.springframework.ui;ConcurrentModel;false;ConcurrentModel;(String,Object);;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.ui;ConcurrentModel;false;ConcurrentModel;(String,Object);;Argument[1];Argument[-1].MapValue;value;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringUtil.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringUtil.qll index 832814e5350..7c78c6b7afc 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringUtil.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringUtil.qll @@ -9,145 +9,145 @@ private class FlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.util;AntPathMatcher;false;combine;;;Argument[0..1];ReturnValue;taint", - "org.springframework.util;AntPathMatcher;false;doMatch;;;Argument[1];Argument[3].MapValue;taint", - "org.springframework.util;AntPathMatcher;false;extractPathWithinPattern;;;Argument[1];ReturnValue;taint", - "org.springframework.util;AntPathMatcher;false;extractUriTemplateVariables;;;Argument[1];ReturnValue.MapValue;taint", - "org.springframework.util;AntPathMatcher;false;tokenizePath;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.springframework.util;AntPathMatcher;false;tokenizePattern;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.springframework.util;AutoPopulatingList;false;AutoPopulatingList;(java.util.List,org.springframework.util.AutoPopulatingList.ElementFactory);;Argument[0].Element;Argument[-1].Element;value", - "org.springframework.util;AutoPopulatingList;false;AutoPopulatingList;(java.util.List,java.lang.Class);;Argument[0].Element;Argument[-1].Element;value", - "org.springframework.util;Base64Utils;false;decode;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;decodeFromString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;decodeFromUrlSafeString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;decodeUrlSafe;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;encode;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;encodeToString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;encodeToUrlSafeString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;Base64Utils;false;encodeUrlSafe;;;Argument[0];ReturnValue;taint", - "org.springframework.util;CollectionUtils;false;arrayToList;;;Argument[0].ArrayElement;ReturnValue.Element;value", - "org.springframework.util;CollectionUtils;false;findFirstMatch;;;Argument[0].Element;ReturnValue;value", - "org.springframework.util;CollectionUtils;false;findValueOfType;;;Argument[0].Element;ReturnValue;value", - "org.springframework.util;CollectionUtils;false;firstElement;;;Argument[0].Element;ReturnValue;value", - "org.springframework.util;CollectionUtils;false;lastElement;;;Argument[0].Element;ReturnValue;value", - "org.springframework.util;CollectionUtils;false;mergeArrayIntoCollection;;;Argument[0].ArrayElement;Argument[1].Element;value", - "org.springframework.util;CollectionUtils;false;mergePropertiesIntoMap;;;Argument[0].MapKey;Argument[1].MapKey;value", - "org.springframework.util;CollectionUtils;false;mergePropertiesIntoMap;;;Argument[0].MapValue;Argument[1].MapValue;value", - "org.springframework.util;CollectionUtils;false;toArray;;;Argument[0].Element;ReturnValue.ArrayElement;value", - "org.springframework.util;CollectionUtils;false;toIterator;;;Argument[0].Element;ReturnValue.Element;value", - "org.springframework.util;CollectionUtils;false;toMultiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - "org.springframework.util;CollectionUtils;false;toMultiValueMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value", - "org.springframework.util;CollectionUtils;false;unmodifiableMultiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value", - "org.springframework.util;CollectionUtils;false;unmodifiableMultiValueMap;;;Argument[0].MapValue;ReturnValue.MapValue;value", - "org.springframework.util;CompositeIterator;false;add;;;Argument[0].Element;Argument[-1].Element;value", - "org.springframework.util;ConcurrentReferenceHashMap;false;getReference;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "org.springframework.util;ConcurrentReferenceHashMap;false;getReference;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - "org.springframework.util;ConcurrentReferenceHashMap;false;getSegment;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "org.springframework.util;ConcurrentReferenceHashMap;false;getSegment;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - "org.springframework.util;FastByteArrayOutputStream;false;getInputStream;;;Argument[-1];ReturnValue;taint", - "org.springframework.util;FastByteArrayOutputStream;false;toByteArray;;;Argument[-1];ReturnValue;taint", - "org.springframework.util;FastByteArrayOutputStream;false;write;;;Argument[0];Argument[-1];taint", - "org.springframework.util;FastByteArrayOutputStream;false;writeTo;;;Argument[-1];Argument[0];taint", - "org.springframework.util;FileCopyUtils;false;copy;;;Argument[0];Argument[1];taint", - "org.springframework.util;FileCopyUtils;false;copyToByteArray;;;Argument[0];ReturnValue;taint", - "org.springframework.util;FileCopyUtils;false;copyToString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;FileSystemUtils;false;copyRecursively;(java.io.File,java.io.File);;Argument[0];Argument[1];taint", - "org.springframework.util;LinkedMultiValueMap;false;LinkedMultiValueMap;(java.util.Map);;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.util;LinkedMultiValueMap;false;LinkedMultiValueMap;(java.util.Map);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - "org.springframework.util;LinkedMultiValueMap;false;deepCopy;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "org.springframework.util;LinkedMultiValueMap;false;deepCopy;;;Argument[-1].MapValue;ReturnValue.MapValue;value", - "org.springframework.util;MultiValueMap;true;add;;;Argument[0];Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMap;true;add;;;Argument[1];Argument[-1].MapValue.Element;value", - "org.springframework.util;MultiValueMap;true;addAll;(java.lang.Object,java.util.List);;Argument[0];Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMap;true;addAll;(java.lang.Object,java.util.List);;Argument[1].Element;Argument[-1].MapValue.Element;value", - "org.springframework.util;MultiValueMap;true;addAll;(org.springframework.util.MultiValueMap);;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMap;true;addAll;(org.springframework.util.MultiValueMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - "org.springframework.util;MultiValueMap;true;addIfAbsent;;;Argument[0];Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMap;true;addIfAbsent;;;Argument[1];Argument[-1].MapValue.Element;value", - "org.springframework.util;MultiValueMap;true;getFirst;;;Argument[-1].MapValue.Element;ReturnValue;value", - "org.springframework.util;MultiValueMap;true;set;;;Argument[0];Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMap;true;set;;;Argument[1];Argument[-1].MapValue.Element;value", - "org.springframework.util;MultiValueMap;true;setAll;;;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMap;true;setAll;;;Argument[0].MapValue;Argument[-1].MapValue.Element;value", - "org.springframework.util;MultiValueMap;true;toSingleValueMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value", - "org.springframework.util;MultiValueMap;true;toSingleValueMap;;;Argument[-1].MapValue.Element;ReturnValue.MapValue;value", - "org.springframework.util;MultiValueMapAdapter;false;MultiValueMapAdapter;;;Argument[0].MapKey;Argument[-1].MapKey;value", - "org.springframework.util;MultiValueMapAdapter;false;MultiValueMapAdapter;;;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value", - "org.springframework.util;ObjectUtils;false;addObjectToArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.springframework.util;ObjectUtils;false;addObjectToArray;;;Argument[1];ReturnValue.ArrayElement;value", - "org.springframework.util;ObjectUtils;false;toObjectArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.springframework.util;ObjectUtils;false;unwrapOptional;;;Argument[0].Element;ReturnValue;value", - "org.springframework.util;PropertiesPersister;true;load;;;Argument[1];Argument[0];taint", - "org.springframework.util;PropertiesPersister;true;loadFromXml;;;Argument[1];Argument[0];taint", - "org.springframework.util;PropertiesPersister;true;store;;;Argument[0];Argument[1];taint", - "org.springframework.util;PropertiesPersister;true;store;;;Argument[2];Argument[1];taint", - "org.springframework.util;PropertiesPersister;true;storeToXml;;;Argument[0];Argument[1];taint", - "org.springframework.util;PropertiesPersister;true;storeToXml;;;Argument[2];Argument[1];taint", - "org.springframework.util;PropertyPlaceholderHelper;false;PropertyPlaceholderHelper;;;Argument[0..1];Argument[-1];taint", - "org.springframework.util;PropertyPlaceholderHelper;false;parseStringValue;;;Argument[0];ReturnValue;taint", - "org.springframework.util;PropertyPlaceholderHelper;false;replacePlaceholders;;;Argument[0];ReturnValue;taint", - "org.springframework.util;PropertyPlaceholderHelper;false;replacePlaceholders;(java.lang.String,java.util.Properties);;Argument[1].MapValue;ReturnValue;taint", - "org.springframework.util;ResourceUtils;false;extractArchiveURL;;;Argument[0];ReturnValue;taint", - "org.springframework.util;ResourceUtils;false;extractJarFileURL;;;Argument[0];ReturnValue;taint", - "org.springframework.util;ResourceUtils;false;getFile;;;Argument[0];ReturnValue;taint", - "org.springframework.util;ResourceUtils;false;getURL;;;Argument[0];ReturnValue;taint", - "org.springframework.util;ResourceUtils;false;toURI;;;Argument[0];ReturnValue;taint", - "org.springframework.util;RouteMatcher;true;combine;;;Argument[0..1];ReturnValue;taint", - "org.springframework.util;RouteMatcher;true;matchAndExtract;;;Argument[0];ReturnValue.MapKey;taint", - "org.springframework.util;RouteMatcher;true;matchAndExtract;;;Argument[1];ReturnValue.MapValue;taint", - "org.springframework.util;RouteMatcher;true;parseRoute;;;Argument[0];ReturnValue;taint", - "org.springframework.util;SerializationUtils;false;deserialize;;;Argument[0];ReturnValue;taint", - "org.springframework.util;SerializationUtils;false;serialize;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StreamUtils;false;copy;(byte[],java.io.OutputStream);;Argument[0];Argument[1];taint", - "org.springframework.util;StreamUtils;false;copy;(java.io.InputStream,java.io.OutputStream);;Argument[0];Argument[1];taint", - "org.springframework.util;StreamUtils;false;copy;(java.lang.String,java.nio.charset.Charset,java.io.OutputStream);;Argument[0];Argument[2];taint", - "org.springframework.util;StreamUtils;false;copyRange;;;Argument[0];Argument[1];taint", - "org.springframework.util;StreamUtils;false;copyToByteArray;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StreamUtils;false;copyToString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;addStringToArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.springframework.util;StringUtils;false;addStringToArray;;;Argument[1];ReturnValue.ArrayElement;value", - "org.springframework.util;StringUtils;false;applyRelativePath;;;Argument[0..1];ReturnValue;taint", - "org.springframework.util;StringUtils;false;arrayToCommaDelimitedString;;;Argument[0].ArrayElement;ReturnValue;taint", - "org.springframework.util;StringUtils;false;arrayToDelimitedString;;;Argument[0].ArrayElement;ReturnValue;taint", - "org.springframework.util;StringUtils;false;arrayToDelimitedString;;;Argument[1];ReturnValue;taint", - "org.springframework.util;StringUtils;false;capitalize;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;cleanPath;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;collectionToCommaDelimitedString;;;Argument[0].Element;ReturnValue;taint", - "org.springframework.util;StringUtils;false;collectionToDelimitedString;;;Argument[0].Element;ReturnValue;taint", - "org.springframework.util;StringUtils;false;collectionToDelimitedString;;;Argument[1..3];ReturnValue;taint", - "org.springframework.util;StringUtils;false;commaDelimitedListToSet;;;Argument[0];ReturnValue.Element;taint", - "org.springframework.util;StringUtils;false;commaDelimitedListToStringArray;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.springframework.util;StringUtils;false;concatenateStringArrays;;;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;taint", - "org.springframework.util;StringUtils;false;delete;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;deleteAny;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;delimitedListToStringArray;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.springframework.util;StringUtils;false;getFilename;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;getFilenameExtension;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;mergeStringArrays;;;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;value", - "org.springframework.util;StringUtils;false;quote;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;quoteIfString;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;removeDuplicateStrings;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.springframework.util;StringUtils;false;replace;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;replace;;;Argument[2];ReturnValue;taint", - "org.springframework.util;StringUtils;false;sortStringArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value", - "org.springframework.util;StringUtils;false;split;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.springframework.util;StringUtils;false;splitArrayElementsIntoProperties;;;Argument[0].ArrayElement;ReturnValue.MapKey;taint", - "org.springframework.util;StringUtils;false;splitArrayElementsIntoProperties;;;Argument[0].ArrayElement;ReturnValue.MapValue;taint", - "org.springframework.util;StringUtils;false;stripFilenameExtension;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;tokenizeToStringArray;;;Argument[0];ReturnValue.ArrayElement;taint", - "org.springframework.util;StringUtils;false;toStringArray;;;Argument[0].Element;ReturnValue.ArrayElement;value", - "org.springframework.util;StringUtils;false;trimAllWhitespace;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;trimArrayElements;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;taint", - "org.springframework.util;StringUtils;false;trimLeadingCharacter;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;trimLeadingWhitespace;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;trimTrailingCharacter;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;trimTrailingWhitespace;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;trimWhitespace;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;uncapitalize;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;unqualify;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringUtils;false;uriDecode;;;Argument[0];ReturnValue;taint", - "org.springframework.util;StringValueResolver;false;resolveStringValue;;;Argument[0];ReturnValue;taint", - "org.springframework.util;SystemPropertyUtils;false;resolvePlaceholders;;;Argument[0];ReturnValue;taint" + "org.springframework.util;AntPathMatcher;false;combine;;;Argument[0..1];ReturnValue;taint;manual", + "org.springframework.util;AntPathMatcher;false;doMatch;;;Argument[1];Argument[3].MapValue;taint;manual", + "org.springframework.util;AntPathMatcher;false;extractPathWithinPattern;;;Argument[1];ReturnValue;taint;manual", + "org.springframework.util;AntPathMatcher;false;extractUriTemplateVariables;;;Argument[1];ReturnValue.MapValue;taint;manual", + "org.springframework.util;AntPathMatcher;false;tokenizePath;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;AntPathMatcher;false;tokenizePattern;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;AutoPopulatingList;false;AutoPopulatingList;(java.util.List,org.springframework.util.AutoPopulatingList.ElementFactory);;Argument[0].Element;Argument[-1].Element;value;manual", + "org.springframework.util;AutoPopulatingList;false;AutoPopulatingList;(java.util.List,java.lang.Class);;Argument[0].Element;Argument[-1].Element;value;manual", + "org.springframework.util;Base64Utils;false;decode;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;decodeFromString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;decodeFromUrlSafeString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;decodeUrlSafe;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;encode;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;encodeToString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;encodeToUrlSafeString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;Base64Utils;false;encodeUrlSafe;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;CollectionUtils;false;arrayToList;;;Argument[0].ArrayElement;ReturnValue.Element;value;manual", + "org.springframework.util;CollectionUtils;false;findFirstMatch;;;Argument[0].Element;ReturnValue;value;manual", + "org.springframework.util;CollectionUtils;false;findValueOfType;;;Argument[0].Element;ReturnValue;value;manual", + "org.springframework.util;CollectionUtils;false;firstElement;;;Argument[0].Element;ReturnValue;value;manual", + "org.springframework.util;CollectionUtils;false;lastElement;;;Argument[0].Element;ReturnValue;value;manual", + "org.springframework.util;CollectionUtils;false;mergeArrayIntoCollection;;;Argument[0].ArrayElement;Argument[1].Element;value;manual", + "org.springframework.util;CollectionUtils;false;mergePropertiesIntoMap;;;Argument[0].MapKey;Argument[1].MapKey;value;manual", + "org.springframework.util;CollectionUtils;false;mergePropertiesIntoMap;;;Argument[0].MapValue;Argument[1].MapValue;value;manual", + "org.springframework.util;CollectionUtils;false;toArray;;;Argument[0].Element;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;CollectionUtils;false;toIterator;;;Argument[0].Element;ReturnValue.Element;value;manual", + "org.springframework.util;CollectionUtils;false;toMultiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.util;CollectionUtils;false;toMultiValueMap;;;Argument[0].MapValue.Element;ReturnValue.MapValue.Element;value;manual", + "org.springframework.util;CollectionUtils;false;unmodifiableMultiValueMap;;;Argument[0].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.util;CollectionUtils;false;unmodifiableMultiValueMap;;;Argument[0].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.util;CompositeIterator;false;add;;;Argument[0].Element;Argument[-1].Element;value;manual", + "org.springframework.util;ConcurrentReferenceHashMap;false;getReference;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.util;ConcurrentReferenceHashMap;false;getReference;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.util;ConcurrentReferenceHashMap;false;getSegment;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.util;ConcurrentReferenceHashMap;false;getSegment;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.util;FastByteArrayOutputStream;false;getInputStream;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.util;FastByteArrayOutputStream;false;toByteArray;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.util;FastByteArrayOutputStream;false;write;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.util;FastByteArrayOutputStream;false;writeTo;;;Argument[-1];Argument[0];taint;manual", + "org.springframework.util;FileCopyUtils;false;copy;;;Argument[0];Argument[1];taint;manual", + "org.springframework.util;FileCopyUtils;false;copyToByteArray;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;FileCopyUtils;false;copyToString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;FileSystemUtils;false;copyRecursively;(java.io.File,java.io.File);;Argument[0];Argument[1];taint;manual", + "org.springframework.util;LinkedMultiValueMap;false;LinkedMultiValueMap;(java.util.Map);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.util;LinkedMultiValueMap;false;LinkedMultiValueMap;(java.util.Map);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;LinkedMultiValueMap;false;deepCopy;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.util;LinkedMultiValueMap;false;deepCopy;;;Argument[-1].MapValue;ReturnValue.MapValue;value;manual", + "org.springframework.util;MultiValueMap;true;add;;;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;add;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;MultiValueMap;true;addAll;(java.lang.Object,java.util.List);;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;addAll;(java.lang.Object,java.util.List);;Argument[1].Element;Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;MultiValueMap;true;addAll;(org.springframework.util.MultiValueMap);;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;addAll;(org.springframework.util.MultiValueMap);;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;MultiValueMap;true;addIfAbsent;;;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;addIfAbsent;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;MultiValueMap;true;getFirst;;;Argument[-1].MapValue.Element;ReturnValue;value;manual", + "org.springframework.util;MultiValueMap;true;set;;;Argument[0];Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;set;;;Argument[1];Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;MultiValueMap;true;setAll;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;setAll;;;Argument[0].MapValue;Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;MultiValueMap;true;toSingleValueMap;;;Argument[-1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.util;MultiValueMap;true;toSingleValueMap;;;Argument[-1].MapValue.Element;ReturnValue.MapValue;value;manual", + "org.springframework.util;MultiValueMapAdapter;false;MultiValueMapAdapter;;;Argument[0].MapKey;Argument[-1].MapKey;value;manual", + "org.springframework.util;MultiValueMapAdapter;false;MultiValueMapAdapter;;;Argument[0].MapValue.Element;Argument[-1].MapValue.Element;value;manual", + "org.springframework.util;ObjectUtils;false;addObjectToArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;ObjectUtils;false;addObjectToArray;;;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.springframework.util;ObjectUtils;false;toObjectArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;ObjectUtils;false;unwrapOptional;;;Argument[0].Element;ReturnValue;value;manual", + "org.springframework.util;PropertiesPersister;true;load;;;Argument[1];Argument[0];taint;manual", + "org.springframework.util;PropertiesPersister;true;loadFromXml;;;Argument[1];Argument[0];taint;manual", + "org.springframework.util;PropertiesPersister;true;store;;;Argument[0];Argument[1];taint;manual", + "org.springframework.util;PropertiesPersister;true;store;;;Argument[2];Argument[1];taint;manual", + "org.springframework.util;PropertiesPersister;true;storeToXml;;;Argument[0];Argument[1];taint;manual", + "org.springframework.util;PropertiesPersister;true;storeToXml;;;Argument[2];Argument[1];taint;manual", + "org.springframework.util;PropertyPlaceholderHelper;false;PropertyPlaceholderHelper;;;Argument[0..1];Argument[-1];taint;manual", + "org.springframework.util;PropertyPlaceholderHelper;false;parseStringValue;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;PropertyPlaceholderHelper;false;replacePlaceholders;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;PropertyPlaceholderHelper;false;replacePlaceholders;(java.lang.String,java.util.Properties);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.springframework.util;ResourceUtils;false;extractArchiveURL;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;ResourceUtils;false;extractJarFileURL;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;ResourceUtils;false;getFile;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;ResourceUtils;false;getURL;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;ResourceUtils;false;toURI;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;RouteMatcher;true;combine;;;Argument[0..1];ReturnValue;taint;manual", + "org.springframework.util;RouteMatcher;true;matchAndExtract;;;Argument[0];ReturnValue.MapKey;taint;manual", + "org.springframework.util;RouteMatcher;true;matchAndExtract;;;Argument[1];ReturnValue.MapValue;taint;manual", + "org.springframework.util;RouteMatcher;true;parseRoute;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;SerializationUtils;false;deserialize;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;SerializationUtils;false;serialize;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StreamUtils;false;copy;(byte[],java.io.OutputStream);;Argument[0];Argument[1];taint;manual", + "org.springframework.util;StreamUtils;false;copy;(java.io.InputStream,java.io.OutputStream);;Argument[0];Argument[1];taint;manual", + "org.springframework.util;StreamUtils;false;copy;(java.lang.String,java.nio.charset.Charset,java.io.OutputStream);;Argument[0];Argument[2];taint;manual", + "org.springframework.util;StreamUtils;false;copyRange;;;Argument[0];Argument[1];taint;manual", + "org.springframework.util;StreamUtils;false;copyToByteArray;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StreamUtils;false;copyToString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;addStringToArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;StringUtils;false;addStringToArray;;;Argument[1];ReturnValue.ArrayElement;value;manual", + "org.springframework.util;StringUtils;false;applyRelativePath;;;Argument[0..1];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;arrayToCommaDelimitedString;;;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;arrayToDelimitedString;;;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;arrayToDelimitedString;;;Argument[1];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;capitalize;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;cleanPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;collectionToCommaDelimitedString;;;Argument[0].Element;ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;collectionToDelimitedString;;;Argument[0].Element;ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;collectionToDelimitedString;;;Argument[1..3];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;commaDelimitedListToSet;;;Argument[0];ReturnValue.Element;taint;manual", + "org.springframework.util;StringUtils;false;commaDelimitedListToStringArray;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;StringUtils;false;concatenateStringArrays;;;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;StringUtils;false;delete;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;deleteAny;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;delimitedListToStringArray;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;StringUtils;false;getFilename;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;getFilenameExtension;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;mergeStringArrays;;;Argument[0..1].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;StringUtils;false;quote;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;quoteIfString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;removeDuplicateStrings;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;StringUtils;false;replace;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;replace;;;Argument[2];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;sortStringArray;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;StringUtils;false;split;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;StringUtils;false;splitArrayElementsIntoProperties;;;Argument[0].ArrayElement;ReturnValue.MapKey;taint;manual", + "org.springframework.util;StringUtils;false;splitArrayElementsIntoProperties;;;Argument[0].ArrayElement;ReturnValue.MapValue;taint;manual", + "org.springframework.util;StringUtils;false;stripFilenameExtension;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;tokenizeToStringArray;;;Argument[0];ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;StringUtils;false;toStringArray;;;Argument[0].Element;ReturnValue.ArrayElement;value;manual", + "org.springframework.util;StringUtils;false;trimAllWhitespace;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;trimArrayElements;;;Argument[0].ArrayElement;ReturnValue.ArrayElement;taint;manual", + "org.springframework.util;StringUtils;false;trimLeadingCharacter;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;trimLeadingWhitespace;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;trimTrailingCharacter;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;trimTrailingWhitespace;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;trimWhitespace;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;uncapitalize;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;unqualify;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringUtils;false;uriDecode;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;StringValueResolver;false;resolveStringValue;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.util;SystemPropertyUtils;false;resolvePlaceholders;;;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringValidation.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringValidation.qll index 20a9b9c7f93..2dcf184de84 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringValidation.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringValidation.qll @@ -7,19 +7,19 @@ private class SpringValidationErrorModel extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.validation;Errors;true;addAllErrors;;;Argument[0];Argument[-1];taint", - "org.springframework.validation;Errors;true;getAllErrors;;;Argument[-1];ReturnValue;taint", - "org.springframework.validation;Errors;true;getFieldError;;;Argument[-1];ReturnValue;taint", - "org.springframework.validation;Errors;true;getFieldErrors;;;Argument[-1];ReturnValue;taint", - "org.springframework.validation;Errors;true;getGlobalError;;;Argument[-1];ReturnValue;taint", - "org.springframework.validation;Errors;true;getGlobalErrors;;;Argument[-1];ReturnValue;taint", - "org.springframework.validation;Errors;true;reject;;;Argument[0];Argument[-1];taint", - "org.springframework.validation;Errors;true;reject;;;Argument[1].ArrayElement;Argument[-1];taint", - "org.springframework.validation;Errors;true;reject;;;Argument[2];Argument[-1];taint", - "org.springframework.validation;Errors;true;rejectValue;;;Argument[1];Argument[-1];taint", - "org.springframework.validation;Errors;true;rejectValue;;;Argument[3];Argument[-1];taint", - "org.springframework.validation;Errors;true;rejectValue;(java.lang.String,java.lang.String,java.lang.Object[],java.lang.String);;Argument[2].ArrayElement;Argument[-1];taint", - "org.springframework.validation;Errors;true;rejectValue;(java.lang.String,java.lang.String,java.lang.String);;Argument[2];Argument[-1];taint" + "org.springframework.validation;Errors;true;addAllErrors;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;getAllErrors;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.validation;Errors;true;getFieldError;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.validation;Errors;true;getFieldErrors;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.validation;Errors;true;getGlobalError;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.validation;Errors;true;getGlobalErrors;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.validation;Errors;true;reject;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;reject;;;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;reject;;;Argument[2];Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;rejectValue;;;Argument[1];Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;rejectValue;;;Argument[3];Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;rejectValue;(java.lang.String,java.lang.String,java.lang.Object[],java.lang.String);;Argument[2].ArrayElement;Argument[-1];taint;manual", + "org.springframework.validation;Errors;true;rejectValue;(java.lang.String,java.lang.String,java.lang.String);;Argument[2];Argument[-1];taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebClient.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebClient.qll index fa8a2c7a1c1..9744c323e36 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebClient.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebClient.qll @@ -33,21 +33,21 @@ private class UrlOpenSink extends SinkModelCsv { override predicate row(string row) { row = [ - "org.springframework.web.client;RestTemplate;false;delete;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;doExecute;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;exchange;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;execute;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;getForEntity;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;getForObject;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;headForHeaders;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;optionsForAllow;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;patchForObject;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;postForEntity;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;postForLocation;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;postForObject;;;Argument[0];open-url", - "org.springframework.web.client;RestTemplate;false;put;;;Argument[0];open-url", - "org.springframework.web.reactive.function.client;WebClient;false;create;;;Argument[0];open-url", - "org.springframework.web.reactive.function.client;WebClient$Builder;false;baseUrl;;;Argument[0];open-url" + "org.springframework.web.client;RestTemplate;false;delete;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;doExecute;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;exchange;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;execute;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;getForEntity;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;getForObject;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;headForHeaders;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;optionsForAllow;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;patchForObject;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;postForEntity;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;postForLocation;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;postForObject;;;Argument[0];open-url;manual", + "org.springframework.web.client;RestTemplate;false;put;;;Argument[0];open-url;manual", + "org.springframework.web.reactive.function.client;WebClient;false;create;;;Argument[0];open-url;manual", + "org.springframework.web.reactive.function.client;WebClient$Builder;false;baseUrl;;;Argument[0];open-url;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebMultipart.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebMultipart.qll index 21177bdbb6c..43acaceda76 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebMultipart.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebMultipart.qll @@ -7,19 +7,19 @@ private class FlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.web.multipart;MultipartFile;true;getBytes;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartFile;true;getInputStream;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartFile;true;getName;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartFile;true;getOriginalFilename;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartFile;true;getResource;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartHttpServletRequest;true;getMultipartHeaders;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartHttpServletRequest;true;getRequestHeaders;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartRequest;true;getFile;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.multipart;MultipartRequest;true;getFileMap;;;Argument[-1];ReturnValue.MapValue;taint", - "org.springframework.web.multipart;MultipartRequest;true;getFileNames;;;Argument[-1];ReturnValue.Element;taint", - "org.springframework.web.multipart;MultipartRequest;true;getFiles;;;Argument[-1];ReturnValue.Element;taint", - "org.springframework.web.multipart;MultipartRequest;true;getMultiFileMap;;;Argument[-1];ReturnValue.MapValue;taint", - "org.springframework.web.multipart;MultipartResolver;true;resolveMultipart;;;Argument[0];ReturnValue;taint" + "org.springframework.web.multipart;MultipartFile;true;getBytes;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartFile;true;getInputStream;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartFile;true;getName;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartFile;true;getOriginalFilename;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartFile;true;getResource;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartHttpServletRequest;true;getMultipartHeaders;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartHttpServletRequest;true;getRequestHeaders;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFile;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFileMap;;;Argument[-1];ReturnValue.MapValue;taint;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFileNames;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.web.multipart;MultipartRequest;true;getFiles;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.web.multipart;MultipartRequest;true;getMultiFileMap;;;Argument[-1];ReturnValue.MapValue;taint;manual", + "org.springframework.web.multipart;MultipartResolver;true;resolveMultipart;;;Argument[0];ReturnValue;taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebUtil.qll b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebUtil.qll index 77917d97a88..e297961782b 100644 --- a/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebUtil.qll +++ b/java/ql/lib/semmle/code/java/frameworks/spring/SpringWebUtil.qll @@ -7,170 +7,170 @@ private class FlowSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.springframework.web.util;UriBuilder;true;build;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriBuilder;true;build;(Map);;Argument[0].MapValue;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;fragment;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;fragment;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;host;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;host;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;path;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;path;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;pathSegment;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;pathSegment;;;Argument[0].ArrayElement;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;port;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;port;(java.lang.String);;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;query;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;query;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParam;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;queryParam;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParam;(String,Collection);;Argument[1].Element;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParam;(String,Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParamIfPresent;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;queryParamIfPresent;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParamIfPresent;;;Argument[1].Element;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParams;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;queryParams;;;Argument[0].MapKey;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;queryParams;;;Argument[0].MapValue.Element;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replacePath;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;replacePath;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replaceQuery;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;replaceQuery;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replaceQueryParam;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;replaceQueryParam;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replaceQueryParam;(String,Collection);;Argument[1].Element;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replaceQueryParam;(String,Object[]);;Argument[1].ArrayElement;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replaceQueryParams;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;replaceQueryParams;;;Argument[0].MapKey;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;replaceQueryParams;;;Argument[0].MapValue.Element;Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;scheme;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;scheme;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilder;true;userInfo;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriBuilder;true;userInfo;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriBuilderFactory;true;builder;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriBuilderFactory;true;uriString;;;Argument[-1..0];ReturnValue;taint", - "org.springframework.web.util;UriComponents$UriTemplateVariables;true;getValue;;;Argument[-1].MapValue;ReturnValue;value", - "org.springframework.web.util;UriTemplateHandler;true;expand;;;Argument[-1..0];ReturnValue;taint", - "org.springframework.web.util;UriTemplateHandler;true;expand;(String,Map);;Argument[1].MapValue;ReturnValue;taint", - "org.springframework.web.util;UriTemplateHandler;true;expand;(String,Object[]);;Argument[1].ArrayElement;ReturnValue;taint", - "org.springframework.web.util;AbstractUriTemplateHandler;true;getBaseUrl;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;AbstractUriTemplateHandler;true;setBaseUrl;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;AbstractUriTemplateHandler;true;setDefaultUriVariables;;;Argument[0];Argument[-1];taint", + "org.springframework.web.util;UriBuilder;true;build;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriBuilder;true;build;(Map);;Argument[0].MapValue;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;fragment;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;fragment;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;host;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;host;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;path;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;path;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;pathSegment;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;pathSegment;;;Argument[0].ArrayElement;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;port;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;port;(java.lang.String);;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;query;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;query;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParam;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;queryParam;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParam;(String,Collection);;Argument[1].Element;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParam;(String,Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParamIfPresent;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;queryParamIfPresent;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParamIfPresent;;;Argument[1].Element;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParams;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;queryParams;;;Argument[0].MapKey;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;queryParams;;;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replacePath;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;replacePath;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replaceQuery;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;replaceQuery;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParam;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParam;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParam;(String,Collection);;Argument[1].Element;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParam;(String,Object[]);;Argument[1].ArrayElement;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParams;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParams;;;Argument[0].MapKey;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;replaceQueryParams;;;Argument[0].MapValue.Element;Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;scheme;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;scheme;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilder;true;userInfo;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriBuilder;true;userInfo;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriBuilderFactory;true;builder;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriBuilderFactory;true;uriString;;;Argument[-1..0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents$UriTemplateVariables;true;getValue;;;Argument[-1].MapValue;ReturnValue;value;manual", + "org.springframework.web.util;UriTemplateHandler;true;expand;;;Argument[-1..0];ReturnValue;taint;manual", + "org.springframework.web.util;UriTemplateHandler;true;expand;(String,Map);;Argument[1].MapValue;ReturnValue;taint;manual", + "org.springframework.web.util;UriTemplateHandler;true;expand;(String,Object[]);;Argument[1].ArrayElement;ReturnValue;taint;manual", + "org.springframework.web.util;AbstractUriTemplateHandler;true;getBaseUrl;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;AbstractUriTemplateHandler;true;setBaseUrl;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;AbstractUriTemplateHandler;true;setDefaultUriVariables;;;Argument[0];Argument[-1];taint;manual", // writing to a `Request` or `Response` currently doesn't propagate taint to the object itself. - "org.springframework.web.util;ContentCachingRequestWrapper;false;ContentCachingRequestWrapper;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;ContentCachingRequestWrapper;false;getContentAsByteArray;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;ContentCachingResponseWrapper;false;ContentCachingResponseWrapper;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;ContentCachingResponseWrapper;false;getContentAsByteArray;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;ContentCachingResponseWrapper;false;getContentInputStream;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;DefaultUriBuilderFactory;false;DefaultUriBuilderFactory;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;DefaultUriBuilderFactory;false;builder;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;DefaultUriBuilderFactory;false;getDefaultUriVariables;;;Argument[-1];ReturnValue.MapValue;taint", - "org.springframework.web.util;DefaultUriBuilderFactory;false;setDefaultUriVariables;;;Argument[0].MapValue;Argument[-1];taint", - "org.springframework.web.util;DefaultUriBuilderFactory;false;uriString;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;HtmlUtils;false;htmlEscape;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;HtmlUtils;false;htmlEscapeDecimal;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;HtmlUtils;false;htmlEscapeHex;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;HtmlUtils;false;htmlUnescape;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;ServletContextPropertyUtils;false;resolvePlaceholders;;;Argument[0..1];ReturnValue;taint", - "org.springframework.web.util;ServletRequestPathUtils;false;getCachedPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;ServletRequestPathUtils;false;getCachedPathValue;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;ServletRequestPathUtils;false;getParsedRequestPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;ServletRequestPathUtils;false;parseAndCache;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;ServletRequestPathUtils;false;setParsedRequestPath;;;Argument[0];Argument[1];taint", - "org.springframework.web.util;UriComponents;false;UriComponents;;;Argument[0..1];Argument[-1];taint", - "org.springframework.web.util;UriComponents;false;copyToUriComponentsBuilder;;;Argument[-1];Argument[0];taint", - "org.springframework.web.util;UriComponents;false;encode;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;expand;(Map);;Argument[0].MapValue;ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;expand;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;expand;(UriTemplateVariables);;Argument[0].MapValue;ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getFragment;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getHost;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getPath;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getPathSegments;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getQuery;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getQueryParams;;;Argument[-1];ReturnValue.MapKey;taint", - "org.springframework.web.util;UriComponents;false;getQueryParams;;;Argument[-1];ReturnValue.MapValue.Element;taint", - "org.springframework.web.util;UriComponents;false;getScheme;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getSchemeSpecificPart;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;getUserInfo;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;toUri;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;toUriString;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;toString;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponents;false;normalize;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;build;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;build;(Map);;Argument[0].MapValue;ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;build;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;buildAndExpand;(Map);;Argument[0].MapValue;ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;buildAndExpand;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;cloneBuilder;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriComponentsBuilder;false;encode;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriComponentsBuilder;false;fromHttpRequest;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;fromHttpUrl;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;fromOriginHeader;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;fromPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;fromUri;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;fromUriString;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;parseForwardedFor;;;Argument[0..1];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;schemeSpecificPart;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriComponentsBuilder;false;schemeSpecificPart;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriComponentsBuilder;false;toUriString;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriComponentsBuilder;false;uri;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriComponentsBuilder;false;uri;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriComponentsBuilder;false;uriComponents;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriComponentsBuilder;false;uriComponents;;;Argument[0];Argument[-1];taint", - "org.springframework.web.util;UriComponentsBuilder;false;uriVariables;;;Argument[-1];ReturnValue;value", - "org.springframework.web.util;UriComponentsBuilder;false;uriVariables;;;Argument[0].MapValue;Argument[-1];taint", - "org.springframework.web.util;UriTemplate;false;expand;(Map);;Argument[0].MapValue;ReturnValue;taint", - "org.springframework.web.util;UriTemplate;false;expand;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint", - "org.springframework.web.util;UriTemplate;false;getVariableNames;;;Argument[-1];ReturnValue.Element;taint", - "org.springframework.web.util;UriTemplate;false;match;;;Argument[0];ReturnValue.MapValue;taint", - "org.springframework.web.util;UriTemplate;false;toString;;;Argument[-1];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;decode;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encode;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeAuthority;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeFragment;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeHost;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodePath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodePathSegment;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodePort;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeQuery;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeQueryParam;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeQueryParams;;;Argument[0].MapKey;ReturnValue.MapKey;taint", - "org.springframework.web.util;UriUtils;false;encodeQueryParams;;;Argument[0].MapValue;ReturnValue.MapValue;taint", - "org.springframework.web.util;UriUtils;false;encodeScheme;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;encodeUriVariables;(Map);;Argument[0].MapValue;ReturnValue.MapValue;taint", - "org.springframework.web.util;UriUtils;false;encodeUriVariables;(Map);;Argument[0].MapKey;ReturnValue.MapKey;taint", - "org.springframework.web.util;UriUtils;false;encodeUriVariables;(Object[]);;Argument[0].ArrayElement;ReturnValue.ArrayElement;taint", - "org.springframework.web.util;UriUtils;false;encodeUserInfo;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UriUtils;false;extractFileExtension;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;decodeMatrixVariables;;;Argument[1].MapKey;ReturnValue.MapKey;value", - "org.springframework.web.util;UrlPathHelper;false;decodeMatrixVariables;;;Argument[1].MapValue;ReturnValue.MapValue;taint", - "org.springframework.web.util;UrlPathHelper;false;decodePathVariables;;;Argument[1].MapKey;ReturnValue.MapKey;value", - "org.springframework.web.util;UrlPathHelper;false;decodePathVariables;;;Argument[1].MapValue;ReturnValue.MapValue;taint", - "org.springframework.web.util;UrlPathHelper;false;decodeRequestString;;;Argument[1];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getContextPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getOriginatingContextPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getOriginatingQueryString;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getOriginatingRequestUri;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getPathWithinApplication;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getPathWithinServletMapping;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getRequestUri;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getResolvedLookupPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;getServletPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;removeSemicolonContent;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;UrlPathHelper;false;resolveAndCacheLookupPath;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;findParameterValue;(Map,String);;Argument[0].MapValue;ReturnValue;value", - "org.springframework.web.util;WebUtils;false;findParameterValue;(ServletRequest,String);;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;getCookie;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;getNativeRequest;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;getNativeResponse;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;getParametersStartingWith;;;Argument[0];ReturnValue.MapKey;taint", - "org.springframework.web.util;WebUtils;false;getParametersStartingWith;;;Argument[0];ReturnValue.MapValue;taint", - "org.springframework.web.util;WebUtils;false;getRealPath;;;Argument[0..1];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;getRequiredSessionAttribute;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;getSessionAttribute;;;Argument[0];ReturnValue;taint", - "org.springframework.web.util;WebUtils;false;parseMatrixVariables;;;Argument[0];ReturnValue.MapKey;taint", - "org.springframework.web.util;WebUtils;false;parseMatrixVariables;;;Argument[0];ReturnValue.MapValue;taint", - "org.springframework.web.util;WebUtils;false;setSessionAttribute;;;Argument[2];Argument[0];taint" + "org.springframework.web.util;ContentCachingRequestWrapper;false;ContentCachingRequestWrapper;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;ContentCachingRequestWrapper;false;getContentAsByteArray;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;ContentCachingResponseWrapper;false;ContentCachingResponseWrapper;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;ContentCachingResponseWrapper;false;getContentAsByteArray;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;ContentCachingResponseWrapper;false;getContentInputStream;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;DefaultUriBuilderFactory;false;DefaultUriBuilderFactory;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;DefaultUriBuilderFactory;false;builder;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;DefaultUriBuilderFactory;false;getDefaultUriVariables;;;Argument[-1];ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;DefaultUriBuilderFactory;false;setDefaultUriVariables;;;Argument[0].MapValue;Argument[-1];taint;manual", + "org.springframework.web.util;DefaultUriBuilderFactory;false;uriString;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;HtmlUtils;false;htmlEscape;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;HtmlUtils;false;htmlEscapeDecimal;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;HtmlUtils;false;htmlEscapeHex;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;HtmlUtils;false;htmlUnescape;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;ServletContextPropertyUtils;false;resolvePlaceholders;;;Argument[0..1];ReturnValue;taint;manual", + "org.springframework.web.util;ServletRequestPathUtils;false;getCachedPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;ServletRequestPathUtils;false;getCachedPathValue;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;ServletRequestPathUtils;false;getParsedRequestPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;ServletRequestPathUtils;false;parseAndCache;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;ServletRequestPathUtils;false;setParsedRequestPath;;;Argument[0];Argument[1];taint;manual", + "org.springframework.web.util;UriComponents;false;UriComponents;;;Argument[0..1];Argument[-1];taint;manual", + "org.springframework.web.util;UriComponents;false;copyToUriComponentsBuilder;;;Argument[-1];Argument[0];taint;manual", + "org.springframework.web.util;UriComponents;false;encode;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;expand;(Map);;Argument[0].MapValue;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;expand;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;expand;(UriTemplateVariables);;Argument[0].MapValue;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getFragment;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getHost;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getPath;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getPathSegments;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getQuery;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getQueryParams;;;Argument[-1];ReturnValue.MapKey;taint;manual", + "org.springframework.web.util;UriComponents;false;getQueryParams;;;Argument[-1];ReturnValue.MapValue.Element;taint;manual", + "org.springframework.web.util;UriComponents;false;getScheme;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getSchemeSpecificPart;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;getUserInfo;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;toUri;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;toUriString;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponents;false;normalize;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;build;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;build;(Map);;Argument[0].MapValue;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;build;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;buildAndExpand;(Map);;Argument[0].MapValue;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;buildAndExpand;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;cloneBuilder;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriComponentsBuilder;false;encode;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriComponentsBuilder;false;fromHttpRequest;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;fromHttpUrl;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;fromOriginHeader;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;fromPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;fromUri;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;fromUriString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;parseForwardedFor;;;Argument[0..1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;schemeSpecificPart;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriComponentsBuilder;false;schemeSpecificPart;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;toUriString;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;uri;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriComponentsBuilder;false;uri;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;uriComponents;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriComponentsBuilder;false;uriComponents;;;Argument[0];Argument[-1];taint;manual", + "org.springframework.web.util;UriComponentsBuilder;false;uriVariables;;;Argument[-1];ReturnValue;value;manual", + "org.springframework.web.util;UriComponentsBuilder;false;uriVariables;;;Argument[0].MapValue;Argument[-1];taint;manual", + "org.springframework.web.util;UriTemplate;false;expand;(Map);;Argument[0].MapValue;ReturnValue;taint;manual", + "org.springframework.web.util;UriTemplate;false;expand;(Object[]);;Argument[0].ArrayElement;ReturnValue;taint;manual", + "org.springframework.web.util;UriTemplate;false;getVariableNames;;;Argument[-1];ReturnValue.Element;taint;manual", + "org.springframework.web.util;UriTemplate;false;match;;;Argument[0];ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;UriTemplate;false;toString;;;Argument[-1];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;decode;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encode;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeAuthority;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeFragment;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeHost;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodePath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodePathSegment;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodePort;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeQuery;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeQueryParam;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeQueryParams;;;Argument[0].MapKey;ReturnValue.MapKey;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeQueryParams;;;Argument[0].MapValue;ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeScheme;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeUriVariables;(Map);;Argument[0].MapValue;ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeUriVariables;(Map);;Argument[0].MapKey;ReturnValue.MapKey;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeUriVariables;(Object[]);;Argument[0].ArrayElement;ReturnValue.ArrayElement;taint;manual", + "org.springframework.web.util;UriUtils;false;encodeUserInfo;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UriUtils;false;extractFileExtension;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;decodeMatrixVariables;;;Argument[1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.web.util;UrlPathHelper;false;decodeMatrixVariables;;;Argument[1].MapValue;ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;decodePathVariables;;;Argument[1].MapKey;ReturnValue.MapKey;value;manual", + "org.springframework.web.util;UrlPathHelper;false;decodePathVariables;;;Argument[1].MapValue;ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;decodeRequestString;;;Argument[1];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getContextPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getOriginatingContextPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getOriginatingQueryString;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getOriginatingRequestUri;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getPathWithinApplication;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getPathWithinServletMapping;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getRequestUri;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getResolvedLookupPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;getServletPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;removeSemicolonContent;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;UrlPathHelper;false;resolveAndCacheLookupPath;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;findParameterValue;(Map,String);;Argument[0].MapValue;ReturnValue;value;manual", + "org.springframework.web.util;WebUtils;false;findParameterValue;(ServletRequest,String);;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getCookie;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getNativeRequest;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getNativeResponse;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getParametersStartingWith;;;Argument[0];ReturnValue.MapKey;taint;manual", + "org.springframework.web.util;WebUtils;false;getParametersStartingWith;;;Argument[0];ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getRealPath;;;Argument[0..1];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getRequiredSessionAttribute;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;getSessionAttribute;;;Argument[0];ReturnValue;taint;manual", + "org.springframework.web.util;WebUtils;false;parseMatrixVariables;;;Argument[0];ReturnValue.MapKey;taint;manual", + "org.springframework.web.util;WebUtils;false;parseMatrixVariables;;;Argument[0];ReturnValue.MapValue;taint;manual", + "org.springframework.web.util;WebUtils;false;setSessionAttribute;;;Argument[2];Argument[0];taint;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/regex/RegexFlowModels.qll b/java/ql/lib/semmle/code/java/regex/RegexFlowModels.qll index 6934540116f..de0b5465fe4 100644 --- a/java/ql/lib/semmle/code/java/regex/RegexFlowModels.qll +++ b/java/ql/lib/semmle/code/java/regex/RegexFlowModels.qll @@ -8,25 +8,25 @@ private class RegexSinkCsv extends SinkModelCsv { row = [ //"namespace;type;subtypes;name;signature;ext;input;kind" - "java.util.regex;Matcher;false;matches;();;Argument[-1];regex-use[f]", - "java.util.regex;Pattern;false;asMatchPredicate;();;Argument[-1];regex-use[f]", - "java.util.regex;Pattern;false;compile;(String);;Argument[0];regex-use[]", - "java.util.regex;Pattern;false;compile;(String,int);;Argument[0];regex-use[]", - "java.util.regex;Pattern;false;matcher;(CharSequence);;Argument[-1];regex-use[0]", - "java.util.regex;Pattern;false;matches;(String,CharSequence);;Argument[0];regex-use[f1]", - "java.util.regex;Pattern;false;split;(CharSequence);;Argument[-1];regex-use[0]", - "java.util.regex;Pattern;false;split;(CharSequence,int);;Argument[-1];regex-use[0]", - "java.util.regex;Pattern;false;splitAsStream;(CharSequence);;Argument[-1];regex-use[0]", - "java.util.function;Predicate;false;test;(Object);;Argument[-1];regex-use[0]", - "java.lang;String;false;matches;(String);;Argument[0];regex-use[f-1]", - "java.lang;String;false;split;(String);;Argument[0];regex-use[-1]", - "java.lang;String;false;split;(String,int);;Argument[0];regex-use[-1]", - "java.lang;String;false;replaceAll;(String,String);;Argument[0];regex-use[-1]", - "java.lang;String;false;replaceFirst;(String,String);;Argument[0];regex-use[-1]", - "com.google.common.base;Splitter;false;onPattern;(String);;Argument[0];regex-use[]", - "com.google.common.base;Splitter;false;split;(CharSequence);;Argument[-1];regex-use[0]", - "com.google.common.base;Splitter;false;splitToList;(CharSequence);;Argument[-1];regex-use[0]", - "com.google.common.base;Splitter$MapSplitter;false;split;(CharSequence);;Argument[-1];regex-use[0]", + "java.util.regex;Matcher;false;matches;();;Argument[-1];regex-use[f];manual", + "java.util.regex;Pattern;false;asMatchPredicate;();;Argument[-1];regex-use[f];manual", + "java.util.regex;Pattern;false;compile;(String);;Argument[0];regex-use[];manual", + "java.util.regex;Pattern;false;compile;(String,int);;Argument[0];regex-use[];manual", + "java.util.regex;Pattern;false;matcher;(CharSequence);;Argument[-1];regex-use[0];manual", + "java.util.regex;Pattern;false;matches;(String,CharSequence);;Argument[0];regex-use[f1];manual", + "java.util.regex;Pattern;false;split;(CharSequence);;Argument[-1];regex-use[0];manual", + "java.util.regex;Pattern;false;split;(CharSequence,int);;Argument[-1];regex-use[0];manual", + "java.util.regex;Pattern;false;splitAsStream;(CharSequence);;Argument[-1];regex-use[0];manual", + "java.util.function;Predicate;false;test;(Object);;Argument[-1];regex-use[0];manual", + "java.lang;String;false;matches;(String);;Argument[0];regex-use[f-1];manual", + "java.lang;String;false;split;(String);;Argument[0];regex-use[-1];manual", + "java.lang;String;false;split;(String,int);;Argument[0];regex-use[-1];manual", + "java.lang;String;false;replaceAll;(String,String);;Argument[0];regex-use[-1];manual", + "java.lang;String;false;replaceFirst;(String,String);;Argument[0];regex-use[-1];manual", + "com.google.common.base;Splitter;false;onPattern;(String);;Argument[0];regex-use[];manual", + "com.google.common.base;Splitter;false;split;(CharSequence);;Argument[-1];regex-use[0];manual", + "com.google.common.base;Splitter;false;splitToList;(CharSequence);;Argument[-1];regex-use[0];manual", + "com.google.common.base;Splitter$MapSplitter;false;split;(CharSequence);;Argument[-1];regex-use[0];manual", ] } } diff --git a/java/ql/lib/semmle/code/java/security/AndroidIntentRedirection.qll b/java/ql/lib/semmle/code/java/security/AndroidIntentRedirection.qll index c549784ccbf..5252bbfa627 100644 --- a/java/ql/lib/semmle/code/java/security/AndroidIntentRedirection.qll +++ b/java/ql/lib/semmle/code/java/security/AndroidIntentRedirection.qll @@ -32,29 +32,29 @@ private class DefaultIntentRedirectionSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "android.app;Activity;true;bindService;;;Argument[0];intent-start", - "android.app;Activity;true;bindServiceAsUser;;;Argument[0];intent-start", - "android.app;Activity;true;startActivityAsCaller;;;Argument[0];intent-start", - "android.app;Activity;true;startActivityForResult;(Intent,int);;Argument[0];intent-start", - "android.app;Activity;true;startActivityForResult;(Intent,int,Bundle);;Argument[0];intent-start", - "android.app;Activity;true;startActivityForResult;(String,Intent,int,Bundle);;Argument[1];intent-start", - "android.app;Activity;true;startActivityForResultAsUser;;;Argument[0];intent-start", - "android.content;Context;true;startActivities;;;Argument[0];intent-start", - "android.content;Context;true;startActivity;;;Argument[0];intent-start", - "android.content;Context;true;startActivityAsUser;;;Argument[0];intent-start", - "android.content;Context;true;startActivityFromChild;;;Argument[1];intent-start", - "android.content;Context;true;startActivityFromFragment;;;Argument[1];intent-start", - "android.content;Context;true;startActivityIfNeeded;;;Argument[0];intent-start", - "android.content;Context;true;startForegroundService;;;Argument[0];intent-start", - "android.content;Context;true;startService;;;Argument[0];intent-start", - "android.content;Context;true;startServiceAsUser;;;Argument[0];intent-start", - "android.content;Context;true;sendBroadcast;;;Argument[0];intent-start", - "android.content;Context;true;sendBroadcastAsUser;;;Argument[0];intent-start", - "android.content;Context;true;sendBroadcastWithMultiplePermissions;;;Argument[0];intent-start", - "android.content;Context;true;sendStickyBroadcast;;;Argument[0];intent-start", - "android.content;Context;true;sendStickyBroadcastAsUser;;;Argument[0];intent-start", - "android.content;Context;true;sendStickyOrderedBroadcast;;;Argument[0];intent-start", - "android.content;Context;true;sendStickyOrderedBroadcastAsUser;;;Argument[0];intent-start" + "android.app;Activity;true;bindService;;;Argument[0];intent-start;manual", + "android.app;Activity;true;bindServiceAsUser;;;Argument[0];intent-start;manual", + "android.app;Activity;true;startActivityAsCaller;;;Argument[0];intent-start;manual", + "android.app;Activity;true;startActivityForResult;(Intent,int);;Argument[0];intent-start;manual", + "android.app;Activity;true;startActivityForResult;(Intent,int,Bundle);;Argument[0];intent-start;manual", + "android.app;Activity;true;startActivityForResult;(String,Intent,int,Bundle);;Argument[1];intent-start;manual", + "android.app;Activity;true;startActivityForResultAsUser;;;Argument[0];intent-start;manual", + "android.content;Context;true;startActivities;;;Argument[0];intent-start;manual", + "android.content;Context;true;startActivity;;;Argument[0];intent-start;manual", + "android.content;Context;true;startActivityAsUser;;;Argument[0];intent-start;manual", + "android.content;Context;true;startActivityFromChild;;;Argument[1];intent-start;manual", + "android.content;Context;true;startActivityFromFragment;;;Argument[1];intent-start;manual", + "android.content;Context;true;startActivityIfNeeded;;;Argument[0];intent-start;manual", + "android.content;Context;true;startForegroundService;;;Argument[0];intent-start;manual", + "android.content;Context;true;startService;;;Argument[0];intent-start;manual", + "android.content;Context;true;startServiceAsUser;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendBroadcast;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendBroadcastAsUser;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendBroadcastWithMultiplePermissions;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendStickyBroadcast;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendStickyBroadcastAsUser;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendStickyOrderedBroadcast;;;Argument[0];intent-start;manual", + "android.content;Context;true;sendStickyOrderedBroadcastAsUser;;;Argument[0];intent-start;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/AndroidWebViewCertificateValidationQuery.qll b/java/ql/lib/semmle/code/java/security/AndroidWebViewCertificateValidationQuery.qll new file mode 100644 index 00000000000..3d47f77a2bb --- /dev/null +++ b/java/ql/lib/semmle/code/java/security/AndroidWebViewCertificateValidationQuery.qll @@ -0,0 +1,29 @@ +/** Definitions for the web view certificate validation query */ + +import java + +/** A method that overrides `WebViewClient.onReceivedSslError` */ +class OnReceivedSslErrorMethod extends Method { + OnReceivedSslErrorMethod() { + this.overrides*(any(Method m | + m.hasQualifiedName("android.webkit", "WebViewClient", "onReceivedSslError") + )) + } + + /** Gets the `SslErrorHandler` argument to this method. */ + Parameter handlerArg() { result = this.getParameter(1) } +} + +/** A call to `SslErrorHandler.proceed` */ +private class SslProceedCall extends MethodAccess { + SslProceedCall() { + this.getMethod().hasQualifiedName("android.webkit", "SslErrorHandler", "proceed") + } +} + +/** Holds if `m` trusts all certificates by calling `SslErrorHandler.proceed` unconditionally. */ +predicate trustsAllCerts(OnReceivedSslErrorMethod m) { + exists(SslProceedCall pr | pr.getQualifier().(VarAccess).getVariable() = m.handlerArg() | + pr.getBasicBlock().bbPostDominates(m.getBody().getBasicBlock()) + ) +} diff --git a/java/ql/lib/semmle/code/java/security/CleartextStorageSharedPrefsQuery.qll b/java/ql/lib/semmle/code/java/security/CleartextStorageSharedPrefsQuery.qll index 30a8ffc3a12..e67a2d1aa21 100644 --- a/java/ql/lib/semmle/code/java/security/CleartextStorageSharedPrefsQuery.qll +++ b/java/ql/lib/semmle/code/java/security/CleartextStorageSharedPrefsQuery.qll @@ -51,7 +51,7 @@ private predicate sharedPreferencesInput(DataFlow::Node editor, Expr input) { exists(MethodAccess m | m.getMethod() instanceof PutSharedPreferenceMethod and input = m.getArgument(1) and - editor.asExpr() = m.getQualifier() + editor.asExpr() = m.getQualifier().getUnderlyingExpr() ) } @@ -61,7 +61,7 @@ private predicate sharedPreferencesInput(DataFlow::Node editor, Expr input) { */ private predicate sharedPreferencesStore(DataFlow::Node editor, MethodAccess m) { m.getMethod() instanceof StoreSharedPreferenceMethod and - editor.asExpr() = m.getQualifier() + editor.asExpr() = m.getQualifier().getUnderlyingExpr() } /** Flow from `SharedPreferences.Editor` to either a setter or a store method. */ diff --git a/java/ql/lib/semmle/code/java/security/FileReadWrite.qll b/java/ql/lib/semmle/code/java/security/FileReadWrite.qll index e79f98bdca4..84be71d6a04 100644 --- a/java/ql/lib/semmle/code/java/security/FileReadWrite.qll +++ b/java/ql/lib/semmle/code/java/security/FileReadWrite.qll @@ -1,9 +1,9 @@ import java /** - * Holds if `fileAccess` is used in the `fileReadingExpr` to read the represented file. + * Holds if `fileAccess` is directly used in the `fileReadingExpr` to read the represented file. */ -private predicate fileRead(VarAccess fileAccess, Expr fileReadingExpr) { +private predicate directFileRead(Expr fileAccess, Expr fileReadingExpr) { // `fileAccess` used to construct a class that reads a file. exists(ClassInstanceExpr cie | cie = fileReadingExpr and @@ -28,6 +28,13 @@ private predicate fileRead(VarAccess fileAccess, Expr fileReadingExpr) { ]) ) ) +} + +/** + * Holds if `fileAccess` is used in the `fileReadingExpr` to read the represented file. + */ +private predicate fileRead(VarAccess fileAccess, Expr fileReadingExpr) { + directFileRead(fileAccess, fileReadingExpr) or // The `fileAccess` is used in a call which directly or indirectly accesses the file. exists(Call call, int parameterPos, VarAccess nestedFileAccess, Expr nestedFileReadingExpr | @@ -49,3 +56,15 @@ class FileReadExpr extends Expr { */ VarAccess getFileVarAccess() { fileRead(result, this) } } + +/** + * An expression that directly reads from a file and returns its contents. + */ +class DirectFileReadExpr extends Expr { + DirectFileReadExpr() { directFileRead(_, this) } + + /** + * Gets the `Expr` representing the file that is read. + */ + Expr getFileExpr() { directFileRead(result, this) } +} diff --git a/java/ql/lib/semmle/code/java/security/Files.qll b/java/ql/lib/semmle/code/java/security/Files.qll index 8d802325792..3d783b93d30 100644 --- a/java/ql/lib/semmle/code/java/security/Files.qll +++ b/java/ql/lib/semmle/code/java/security/Files.qll @@ -7,34 +7,34 @@ private class CreateFileSinkModels extends SinkModelCsv { override predicate row(string row) { row = [ - "java.io;FileOutputStream;false;FileOutputStream;;;Argument[0];create-file", - "java.io;RandomAccessFile;false;RandomAccessFile;;;Argument[0];create-file", - "java.io;FileWriter;false;FileWriter;;;Argument[0];create-file", - "java.io;PrintStream;false;PrintStream;(File);;Argument[0];create-file", - "java.io;PrintStream;false;PrintStream;(File,String);;Argument[0];create-file", - "java.io;PrintStream;false;PrintStream;(File,Charset);;Argument[0];create-file", - "java.io;PrintStream;false;PrintStream;(String);;Argument[0];create-file", - "java.io;PrintStream;false;PrintStream;(String,String);;Argument[0];create-file", - "java.io;PrintStream;false;PrintStream;(String,Charset);;Argument[0];create-file", - "java.io;PrintWriter;false;PrintWriter;(File);;Argument[0];create-file", - "java.io;PrintWriter;false;PrintWriter;(File,String);;Argument[0];create-file", - "java.io;PrintWriter;false;PrintWriter;(File,Charset);;Argument[0];create-file", - "java.io;PrintWriter;false;PrintWriter;(String);;Argument[0];create-file", - "java.io;PrintWriter;false;PrintWriter;(String,String);;Argument[0];create-file", - "java.io;PrintWriter;false;PrintWriter;(String,Charset);;Argument[0];create-file", - "java.nio.file;Files;false;copy;;;Argument[1];create-file", - "java.nio.file;Files;false;createDirectories;;;Argument[0];create-file", - "java.nio.file;Files;false;createDirectory;;;Argument[0];create-file", - "java.nio.file;Files;false;createFile;;;Argument[0];create-file", - "java.nio.file;Files;false;createLink;;;Argument[0];create-file", - "java.nio.file;Files;false;createSymbolicLink;;;Argument[0];create-file", - "java.nio.file;Files;false;createTempDirectory;;;Argument[0];create-file", - "java.nio.file;Files;false;createTempFile;(Path,String,String,FileAttribute[]);;Argument[0];create-file", - "java.nio.file;Files;false;move;;;Argument[1];create-file", - "java.nio.file;Files;false;newBufferedWriter;;;Argument[0];create-file", - "java.nio.file;Files;false;newOutputStream;;;Argument[0];create-file", - "java.nio.file;Files;false;write;;;Argument[0];create-file", - "java.nio.file;Files;false;writeString;;;Argument[0];create-file" + "java.io;FileOutputStream;false;FileOutputStream;;;Argument[0];create-file;manual", + "java.io;RandomAccessFile;false;RandomAccessFile;;;Argument[0];create-file;manual", + "java.io;FileWriter;false;FileWriter;;;Argument[0];create-file;manual", + "java.io;PrintStream;false;PrintStream;(File);;Argument[0];create-file;manual", + "java.io;PrintStream;false;PrintStream;(File,String);;Argument[0];create-file;manual", + "java.io;PrintStream;false;PrintStream;(File,Charset);;Argument[0];create-file;manual", + "java.io;PrintStream;false;PrintStream;(String);;Argument[0];create-file;manual", + "java.io;PrintStream;false;PrintStream;(String,String);;Argument[0];create-file;manual", + "java.io;PrintStream;false;PrintStream;(String,Charset);;Argument[0];create-file;manual", + "java.io;PrintWriter;false;PrintWriter;(File);;Argument[0];create-file;manual", + "java.io;PrintWriter;false;PrintWriter;(File,String);;Argument[0];create-file;manual", + "java.io;PrintWriter;false;PrintWriter;(File,Charset);;Argument[0];create-file;manual", + "java.io;PrintWriter;false;PrintWriter;(String);;Argument[0];create-file;manual", + "java.io;PrintWriter;false;PrintWriter;(String,String);;Argument[0];create-file;manual", + "java.io;PrintWriter;false;PrintWriter;(String,Charset);;Argument[0];create-file;manual", + "java.nio.file;Files;false;copy;;;Argument[1];create-file;manual", + "java.nio.file;Files;false;createDirectories;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;createDirectory;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;createFile;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;createLink;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;createSymbolicLink;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;createTempDirectory;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;createTempFile;(Path,String,String,FileAttribute[]);;Argument[0];create-file;manual", + "java.nio.file;Files;false;move;;;Argument[1];create-file;manual", + "java.nio.file;Files;false;newBufferedWriter;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;newOutputStream;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;write;;;Argument[0];create-file;manual", + "java.nio.file;Files;false;writeString;;;Argument[0];create-file;manual" ] } } @@ -43,30 +43,30 @@ private class WriteFileSinkModels extends SinkModelCsv { override predicate row(string row) { row = [ - "java.io;FileOutputStream;false;write;;;Argument[0];write-file", - "java.io;RandomAccessFile;false;write;;;Argument[0];write-file", - "java.io;RandomAccessFile;false;writeBytes;;;Argument[0];write-file", - "java.io;RandomAccessFile;false;writeChars;;;Argument[0];write-file", - "java.io;RandomAccessFile;false;writeUTF;;;Argument[0];write-file", - "java.io;Writer;true;append;;;Argument[0];write-file", - "java.io;Writer;true;write;;;Argument[0];write-file", - "java.io;PrintStream;true;append;;;Argument[0];write-file", - "java.io;PrintStream;true;format;(String,Object[]);;Argument[0..1];write-file", - "java.io;PrintStream;true;format;(Locale,String,Object[]);;Argument[1..2];write-file", - "java.io;PrintStream;true;print;;;Argument[0];write-file", - "java.io;PrintStream;true;printf;(String,Object[]);;Argument[0..1];write-file", - "java.io;PrintStream;true;printf;(Locale,String,Object[]);;Argument[1..2];write-file", - "java.io;PrintStream;true;println;;;Argument[0];write-file", - "java.io;PrintStream;true;write;;;Argument[0];write-file", - "java.io;PrintStream;true;writeBytes;;;Argument[0];write-file", - "java.io;PrintWriter;false;format;(String,Object[]);;Argument[0..1];write-file", - "java.io;PrintWriter;false;format;(Locale,String,Object[]);;Argument[1..2];write-file", - "java.io;PrintWriter;false;print;;;Argument[0];write-file", - "java.io;PrintWriter;false;printf;(String,Object[]);;Argument[0..1];write-file", - "java.io;PrintWriter;false;printf;(Locale,String,Object[]);;Argument[1..2];write-file", - "java.io;PrintWriter;false;println;;;Argument[0];write-file", - "java.nio.file;Files;false;write;;;Argument[1];write-file", - "java.nio.file;Files;false;writeString;;;Argument[1];write-file" + "java.io;FileOutputStream;false;write;;;Argument[0];write-file;manual", + "java.io;RandomAccessFile;false;write;;;Argument[0];write-file;manual", + "java.io;RandomAccessFile;false;writeBytes;;;Argument[0];write-file;manual", + "java.io;RandomAccessFile;false;writeChars;;;Argument[0];write-file;manual", + "java.io;RandomAccessFile;false;writeUTF;;;Argument[0];write-file;manual", + "java.io;Writer;true;append;;;Argument[0];write-file;manual", + "java.io;Writer;true;write;;;Argument[0];write-file;manual", + "java.io;PrintStream;true;append;;;Argument[0];write-file;manual", + "java.io;PrintStream;true;format;(String,Object[]);;Argument[0..1];write-file;manual", + "java.io;PrintStream;true;format;(Locale,String,Object[]);;Argument[1..2];write-file;manual", + "java.io;PrintStream;true;print;;;Argument[0];write-file;manual", + "java.io;PrintStream;true;printf;(String,Object[]);;Argument[0..1];write-file;manual", + "java.io;PrintStream;true;printf;(Locale,String,Object[]);;Argument[1..2];write-file;manual", + "java.io;PrintStream;true;println;;;Argument[0];write-file;manual", + "java.io;PrintStream;true;write;;;Argument[0];write-file;manual", + "java.io;PrintStream;true;writeBytes;;;Argument[0];write-file;manual", + "java.io;PrintWriter;false;format;(String,Object[]);;Argument[0..1];write-file;manual", + "java.io;PrintWriter;false;format;(Locale,String,Object[]);;Argument[1..2];write-file;manual", + "java.io;PrintWriter;false;print;;;Argument[0];write-file;manual", + "java.io;PrintWriter;false;printf;(String,Object[]);;Argument[0..1];write-file;manual", + "java.io;PrintWriter;false;printf;(Locale,String,Object[]);;Argument[1..2];write-file;manual", + "java.io;PrintWriter;false;println;;;Argument[0];write-file;manual", + "java.nio.file;Files;false;write;;;Argument[1];write-file;manual", + "java.nio.file;Files;false;writeString;;;Argument[1];write-file;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/FragmentInjection.qll b/java/ql/lib/semmle/code/java/security/FragmentInjection.qll index 1afab99bfef..78cc2690bec 100644 --- a/java/ql/lib/semmle/code/java/security/FragmentInjection.qll +++ b/java/ql/lib/semmle/code/java/security/FragmentInjection.qll @@ -55,7 +55,7 @@ private class FragmentInjectionSinkModels extends SinkModelCsv { "attach;(Fragment);;Argument[0]", "replace;(int,Class,Bundle);;Argument[1]", "replace;(int,Fragment);;Argument[1]", "replace;(int,Class,Bundle,String);;Argument[1]", "replace;(int,Fragment,String);;Argument[1]", - ] + ";fragment-injection" + ] + ";fragment-injection;manual" } } diff --git a/java/ql/lib/semmle/code/java/security/GroovyInjection.qll b/java/ql/lib/semmle/code/java/security/GroovyInjection.qll index 5d19cff4192..b735e28cd32 100644 --- a/java/ql/lib/semmle/code/java/security/GroovyInjection.qll +++ b/java/ql/lib/semmle/code/java/security/GroovyInjection.qll @@ -29,38 +29,38 @@ private class DefaultGroovyInjectionSinkModel extends SinkModelCsv { row = [ // Signatures are specified to exclude sinks of the type `File` - "groovy.lang;GroovyShell;false;evaluate;(GroovyCodeSource);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;evaluate;(Reader);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;evaluate;(Reader,String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;evaluate;(String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;evaluate;(String,String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;evaluate;(String,String,String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;evaluate;(URI);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;parse;(Reader);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;parse;(Reader,String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;parse;(String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;parse;(String,String);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;parse;(URI);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(GroovyCodeSource,String[]);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(GroovyCodeSource,List);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(Reader,String,String[]);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(Reader,String,List);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(String,String,String[]);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(String,String,List);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(URI,String[]);;Argument[0];groovy", - "groovy.lang;GroovyShell;false;run;(URI,List);;Argument[0];groovy", - "groovy.util;Eval;false;me;(String);;Argument[0];groovy", - "groovy.util;Eval;false;me;(String,Object,String);;Argument[2];groovy", - "groovy.util;Eval;false;x;(Object,String);;Argument[1];groovy", - "groovy.util;Eval;false;xy;(Object,Object,String);;Argument[2];groovy", - "groovy.util;Eval;false;xyz;(Object,Object,Object,String);;Argument[3];groovy", - "groovy.lang;GroovyClassLoader;false;parseClass;(GroovyCodeSource);;Argument[0];groovy", - "groovy.lang;GroovyClassLoader;false;parseClass;(GroovyCodeSource,boolean);;Argument[0];groovy", - "groovy.lang;GroovyClassLoader;false;parseClass;(InputStream,String);;Argument[0];groovy", - "groovy.lang;GroovyClassLoader;false;parseClass;(Reader,String);;Argument[0];groovy", - "groovy.lang;GroovyClassLoader;false;parseClass;(String);;Argument[0];groovy", - "groovy.lang;GroovyClassLoader;false;parseClass;(String,String);;Argument[0];groovy", - "org.codehaus.groovy.control;CompilationUnit;false;compile;;;Argument[-1];groovy" + "groovy.lang;GroovyShell;false;evaluate;(GroovyCodeSource);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;evaluate;(Reader);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;evaluate;(Reader,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;evaluate;(String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;evaluate;(String,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;evaluate;(String,String,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;evaluate;(URI);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;parse;(Reader);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;parse;(Reader,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;parse;(String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;parse;(String,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;parse;(URI);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(GroovyCodeSource,String[]);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(GroovyCodeSource,List);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(Reader,String,String[]);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(Reader,String,List);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(String,String,String[]);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(String,String,List);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(URI,String[]);;Argument[0];groovy;manual", + "groovy.lang;GroovyShell;false;run;(URI,List);;Argument[0];groovy;manual", + "groovy.util;Eval;false;me;(String);;Argument[0];groovy;manual", + "groovy.util;Eval;false;me;(String,Object,String);;Argument[2];groovy;manual", + "groovy.util;Eval;false;x;(Object,String);;Argument[1];groovy;manual", + "groovy.util;Eval;false;xy;(Object,Object,String);;Argument[2];groovy;manual", + "groovy.util;Eval;false;xyz;(Object,Object,Object,String);;Argument[3];groovy;manual", + "groovy.lang;GroovyClassLoader;false;parseClass;(GroovyCodeSource);;Argument[0];groovy;manual", + "groovy.lang;GroovyClassLoader;false;parseClass;(GroovyCodeSource,boolean);;Argument[0];groovy;manual", + "groovy.lang;GroovyClassLoader;false;parseClass;(InputStream,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyClassLoader;false;parseClass;(Reader,String);;Argument[0];groovy;manual", + "groovy.lang;GroovyClassLoader;false;parseClass;(String);;Argument[0];groovy;manual", + "groovy.lang;GroovyClassLoader;false;parseClass;(String,String);;Argument[0];groovy;manual", + "org.codehaus.groovy.control;CompilationUnit;false;compile;;;Argument[-1];groovy;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/ImplicitPendingIntents.qll b/java/ql/lib/semmle/code/java/security/ImplicitPendingIntents.qll index e9a8d9b735d..15fe3e2f859 100644 --- a/java/ql/lib/semmle/code/java/security/ImplicitPendingIntents.qll +++ b/java/ql/lib/semmle/code/java/security/ImplicitPendingIntents.qll @@ -96,17 +96,17 @@ private class PendingIntentSentSinkModels extends SinkModelCsv { override predicate row(string row) { row = [ - "androidx.slice;SliceProvider;true;onBindSlice;;;ReturnValue;pending-intent-sent", - "androidx.slice;SliceProvider;true;onCreatePermissionRequest;;;ReturnValue;pending-intent-sent", - "android.app;NotificationManager;true;notify;(int,Notification);;Argument[1];pending-intent-sent", - "android.app;NotificationManager;true;notify;(String,int,Notification);;Argument[2];pending-intent-sent", - "android.app;NotificationManager;true;notifyAsPackage;(String,String,int,Notification);;Argument[3];pending-intent-sent", - "android.app;NotificationManager;true;notifyAsUser;(String,int,Notification,UserHandle);;Argument[2];pending-intent-sent", - "android.app;PendingIntent;false;send;(Context,int,Intent,OnFinished,Handler,String,Bundle);;Argument[2];pending-intent-sent", - "android.app;PendingIntent;false;send;(Context,int,Intent,OnFinished,Handler,String);;Argument[2];pending-intent-sent", - "android.app;PendingIntent;false;send;(Context,int,Intent,OnFinished,Handler);;Argument[2];pending-intent-sent", - "android.app;PendingIntent;false;send;(Context,int,Intent);;Argument[2];pending-intent-sent", - "android.app;Activity;true;setResult;(int,Intent);;Argument[1];pending-intent-sent" + "androidx.slice;SliceProvider;true;onBindSlice;;;ReturnValue;pending-intent-sent;manual", + "androidx.slice;SliceProvider;true;onCreatePermissionRequest;;;ReturnValue;pending-intent-sent;manual", + "android.app;NotificationManager;true;notify;(int,Notification);;Argument[1];pending-intent-sent;manual", + "android.app;NotificationManager;true;notify;(String,int,Notification);;Argument[2];pending-intent-sent;manual", + "android.app;NotificationManager;true;notifyAsPackage;(String,String,int,Notification);;Argument[3];pending-intent-sent;manual", + "android.app;NotificationManager;true;notifyAsUser;(String,int,Notification,UserHandle);;Argument[2];pending-intent-sent;manual", + "android.app;PendingIntent;false;send;(Context,int,Intent,OnFinished,Handler,String,Bundle);;Argument[2];pending-intent-sent;manual", + "android.app;PendingIntent;false;send;(Context,int,Intent,OnFinished,Handler,String);;Argument[2];pending-intent-sent;manual", + "android.app;PendingIntent;false;send;(Context,int,Intent,OnFinished,Handler);;Argument[2];pending-intent-sent;manual", + "android.app;PendingIntent;false;send;(Context,int,Intent);;Argument[2];pending-intent-sent;manual", + "android.app;Activity;true;setResult;(int,Intent);;Argument[1];pending-intent-sent;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/ImproperIntentVerificationQuery.qll b/java/ql/lib/semmle/code/java/security/ImproperIntentVerificationQuery.qll new file mode 100644 index 00000000000..00a6dae69e9 --- /dev/null +++ b/java/ql/lib/semmle/code/java/security/ImproperIntentVerificationQuery.qll @@ -0,0 +1,79 @@ +/** Definitions for the improper intent verification query. */ + +import java +import semmle.code.java.dataflow.DataFlow +import semmle.code.xml.AndroidManifest +import semmle.code.java.frameworks.android.Intent + +/** An `onReceive` method of a `BroadcastReceiver` */ +private class OnReceiveMethod extends Method { + OnReceiveMethod() { this.getASourceOverriddenMethod*() instanceof AndroidReceiveIntentMethod } + + /** Gets the parameter of this method that holds the received `Intent`. */ + Parameter getIntentParameter() { result = this.getParameter(1) } +} + +/** A configuration to detect whether the `action` of an `Intent` is checked. */ +private class VerifiedIntentConfig extends DataFlow::Configuration { + VerifiedIntentConfig() { this = "VerifiedIntentConfig" } + + override predicate isSource(DataFlow::Node src) { + src.asParameter() = any(OnReceiveMethod orm).getIntentParameter() + } + + override predicate isSink(DataFlow::Node sink) { + exists(MethodAccess ma | + ma.getMethod().hasQualifiedName("android.content", "Intent", "getAction") and + sink.asExpr() = ma.getQualifier() + ) + } +} + +/** An `onReceive` method that doesn't verify the action of the intent it receives. */ +private class UnverifiedOnReceiveMethod extends OnReceiveMethod { + UnverifiedOnReceiveMethod() { + not any(VerifiedIntentConfig c).hasFlow(DataFlow::parameterNode(this.getIntentParameter()), _) + } +} + +/** Gets the name of an intent action that can only be sent by the system. */ +string getASystemActionName() { + result = + [ + "AIRPLANE_MODE", "AIRPLANE_MODE_CHANGED", "APPLICATION_LOCALE_CHANGED", + "APPLICATION_RESTRICTIONS_CHANGED", "BATTERY_CHANGED", "BATTERY_LOW", "BATTERY_OKAY", + "BOOT_COMPLETED", "CONFIGURATION_CHANGED", "DEVICE_STORAGE_LOW", "DEVICE_STORAGE_OK", + "DREAMING_STARTED", "DREAMING_STOPPED", "EXTERNAL_APPLICATIONS_AVAILABLE", + "EXTERNAL_APPLICATIONS_UNAVAILABLE", "LOCALE_CHANGED", "LOCKED_BOOT_COMPLETED", + "MY_PACKAGE_REPLACED", "MY_PACKAGE_SUSPENDED", "MY_PACKAGE_UNSUSPENDED", "NEW_OUTGOING_CALL", + "PACKAGES_SUSPENDED", "PACKAGES_UNSUSPENDED", "PACKAGE_ADDED", "PACKAGE_CHANGED", + "PACKAGE_DATA_CLEARED", "PACKAGE_FIRST_LAUNCH", "PACKAGE_FULLY_REMOVED", "PACKAGE_INSTALL", + "PACKAGE_NEEDS_VERIFICATION", "PACKAGE_REMOVED", "PACKAGE_REPLACED", "PACKAGE_RESTARTED", + "PACKAGE_VERIFIED", "POWER_CONNECTED", "POWER_DISCONNECTED", "REBOOT", "SCREEN_OFF", + "SCREEN_ON", "SHUTDOWN", "TIMEZONE_CHANGED", "TIME_TICK", "UID_REMOVED", "USER_PRESENT" + ] +} + +/** An expression or XML attribute that contains the name of a system intent action. */ +class SystemActionName extends AndroidActionXmlElement { + string name; + + SystemActionName() { + name = getASystemActionName() and + this.getActionName() = "android.intent.action." + name + } + + /** Gets the name of the system intent that this expression or attribute represents. */ + string getSystemActionName() { result = name } +} + +/** Holds if the XML element `rec` declares a receiver `orm` to receive the system action named `sa` that doesn't verify intents it receives. */ +predicate unverifiedSystemReceiver( + AndroidReceiverXmlElement rec, UnverifiedOnReceiveMethod orm, SystemActionName sa +) { + exists(Class ormty | + ormty = orm.getDeclaringType() and + rec.getComponentName() = ["." + ormty.getName(), ormty.getQualifiedName()] and + rec.getAnIntentFilterElement().getAnActionElement() = sa + ) +} diff --git a/java/ql/lib/semmle/code/java/security/InformationLeak.qll b/java/ql/lib/semmle/code/java/security/InformationLeak.qll index f111f70719b..c3a4d0d286c 100644 --- a/java/ql/lib/semmle/code/java/security/InformationLeak.qll +++ b/java/ql/lib/semmle/code/java/security/InformationLeak.qll @@ -9,7 +9,7 @@ import semmle.code.java.security.XSS private class DefaultInformationLeakSinkModel extends SinkModelCsv { override predicate row(string row) { row = - "javax.servlet.http;HttpServletResponse;false;sendError;(int,String);;Argument[1];information-leak" + "javax.servlet.http;HttpServletResponse;false;sendError;(int,String);;Argument[1];information-leak;manual" } } diff --git a/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulation.qll b/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulation.qll index e82ad7a4b35..54a431e28dd 100644 --- a/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulation.qll +++ b/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulation.qll @@ -24,12 +24,14 @@ abstract class IntentUriPermissionManipulationSink extends DataFlow::Node { } abstract class IntentUriPermissionManipulationSanitizer extends DataFlow::Node { } /** + * DEPRECATED: Use `IntentUriPermissionManipulationSanitizer` instead. + * * A guard that makes sure that an Intent is safe to be returned to another Activity. * * Usually, this is done by checking that the Intent's data URI and/or its flags contain * expected values. */ -abstract class IntentUriPermissionManipulationGuard extends DataFlow::BarrierGuard { } +abstract deprecated class IntentUriPermissionManipulationGuard extends DataFlow::BarrierGuard { } /** * An additional taint step for flows related to Intent URI permission manipulation @@ -95,10 +97,10 @@ private class IntentFlagsOrDataChangedSanitizer extends IntentUriPermissionManip * intent.getFlags() & Intent.FLAG_GRANT_WRITE_URI_PERMISSION != 0) {} * ``` */ -private class IntentFlagsOrDataCheckedGuard extends IntentUriPermissionManipulationGuard { - IntentFlagsOrDataCheckedGuard() { intentFlagsOrDataChecked(this, _, _) } - - override predicate checks(Expr e, boolean branch) { intentFlagsOrDataChecked(this, e, branch) } +private class IntentFlagsOrDataCheckedSanitizer extends IntentUriPermissionManipulationSanitizer { + IntentFlagsOrDataCheckedSanitizer() { + this = DataFlow::BarrierGuard::getABarrierNode() + } } /** diff --git a/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulationQuery.qll b/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulationQuery.qll index 067277a71b7..039eebb98ae 100644 --- a/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulationQuery.qll +++ b/java/ql/lib/semmle/code/java/security/IntentUriPermissionManipulationQuery.qll @@ -24,7 +24,7 @@ class IntentUriPermissionManipulationConf extends TaintTracking::Configuration { barrier instanceof IntentUriPermissionManipulationSanitizer } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { + deprecated override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { guard instanceof IntentUriPermissionManipulationGuard } diff --git a/java/ql/lib/semmle/code/java/security/JexlInjectionSinkModels.qll b/java/ql/lib/semmle/code/java/security/JexlInjectionSinkModels.qll index 8f95ca406aa..ed722c2f18a 100644 --- a/java/ql/lib/semmle/code/java/security/JexlInjectionSinkModels.qll +++ b/java/ql/lib/semmle/code/java/security/JexlInjectionSinkModels.qll @@ -7,37 +7,37 @@ private class DefaultJexlInjectionSinkModel extends SinkModelCsv { row = [ // JEXL2 - "org.apache.commons.jexl2;JexlEngine;false;getProperty;(JexlContext,Object,String);;Argument[2];jexl", - "org.apache.commons.jexl2;JexlEngine;false;getProperty;(Object,String);;Argument[1];jexl", - "org.apache.commons.jexl2;JexlEngine;false;setProperty;(JexlContext,Object,String,Object);;Argument[2];jexl", - "org.apache.commons.jexl2;JexlEngine;false;setProperty;(Object,String,Object);;Argument[1];jexl", - "org.apache.commons.jexl2;Expression;false;evaluate;;;Argument[-1];jexl", - "org.apache.commons.jexl2;Expression;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl2;JexlExpression;false;evaluate;;;Argument[-1];jexl", - "org.apache.commons.jexl2;JexlExpression;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl2;Script;false;execute;;;Argument[-1];jexl", - "org.apache.commons.jexl2;Script;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl2;JexlScript;false;execute;;;Argument[-1];jexl", - "org.apache.commons.jexl2;JexlScript;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl2;UnifiedJEXL$Expression;false;evaluate;;;Argument[-1];jexl", - "org.apache.commons.jexl2;UnifiedJEXL$Expression;false;prepare;;;Argument[-1];jexl", - "org.apache.commons.jexl2;UnifiedJEXL$Template;false;evaluate;;;Argument[-1];jexl", + "org.apache.commons.jexl2;JexlEngine;false;getProperty;(JexlContext,Object,String);;Argument[2];jexl;manual", + "org.apache.commons.jexl2;JexlEngine;false;getProperty;(Object,String);;Argument[1];jexl;manual", + "org.apache.commons.jexl2;JexlEngine;false;setProperty;(JexlContext,Object,String,Object);;Argument[2];jexl;manual", + "org.apache.commons.jexl2;JexlEngine;false;setProperty;(Object,String,Object);;Argument[1];jexl;manual", + "org.apache.commons.jexl2;Expression;false;evaluate;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;Expression;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;JexlExpression;false;evaluate;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;JexlExpression;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;Script;false;execute;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;Script;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;JexlScript;false;execute;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;JexlScript;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;UnifiedJEXL$Expression;false;evaluate;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;UnifiedJEXL$Expression;false;prepare;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl2;UnifiedJEXL$Template;false;evaluate;;;Argument[-1];jexl;manual", // JEXL3 - "org.apache.commons.jexl3;JexlEngine;false;getProperty;(JexlContext,Object,String);;Argument[2];jexl", - "org.apache.commons.jexl3;JexlEngine;false;getProperty;(Object,String);;Argument[1];jexl", - "org.apache.commons.jexl3;JexlEngine;false;setProperty;(JexlContext,Object,String);;Argument[2];jexl", - "org.apache.commons.jexl3;JexlEngine;false;setProperty;(Object,String,Object);;Argument[1];jexl", - "org.apache.commons.jexl3;Expression;false;evaluate;;;Argument[-1];jexl", - "org.apache.commons.jexl3;Expression;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JexlExpression;false;evaluate;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JexlExpression;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl3;Script;false;execute;;;Argument[-1];jexl", - "org.apache.commons.jexl3;Script;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JexlScript;false;execute;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JexlScript;false;callable;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JxltEngine$Expression;false;evaluate;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JxltEngine$Expression;false;prepare;;;Argument[-1];jexl", - "org.apache.commons.jexl3;JxltEngine$Template;false;evaluate;;;Argument[-1];jexl" + "org.apache.commons.jexl3;JexlEngine;false;getProperty;(JexlContext,Object,String);;Argument[2];jexl;manual", + "org.apache.commons.jexl3;JexlEngine;false;getProperty;(Object,String);;Argument[1];jexl;manual", + "org.apache.commons.jexl3;JexlEngine;false;setProperty;(JexlContext,Object,String);;Argument[2];jexl;manual", + "org.apache.commons.jexl3;JexlEngine;false;setProperty;(Object,String,Object);;Argument[1];jexl;manual", + "org.apache.commons.jexl3;Expression;false;evaluate;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;Expression;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JexlExpression;false;evaluate;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JexlExpression;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;Script;false;execute;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;Script;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JexlScript;false;execute;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JexlScript;false;callable;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JxltEngine$Expression;false;evaluate;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JxltEngine$Expression;false;prepare;;;Argument[-1];jexl;manual", + "org.apache.commons.jexl3;JxltEngine$Template;false;evaluate;;;Argument[-1];jexl;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/JndiInjection.qll b/java/ql/lib/semmle/code/java/security/JndiInjection.qll index 9dc0a86c502..543ce2bc859 100644 --- a/java/ql/lib/semmle/code/java/security/JndiInjection.qll +++ b/java/ql/lib/semmle/code/java/security/JndiInjection.qll @@ -77,53 +77,53 @@ private class DefaultJndiInjectionSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "javax.naming;Context;true;lookup;;;Argument[0];jndi-injection", - "javax.naming;Context;true;lookupLink;;;Argument[0];jndi-injection", - "javax.naming;Context;true;rename;;;Argument[0];jndi-injection", - "javax.naming;Context;true;list;;;Argument[0];jndi-injection", - "javax.naming;Context;true;listBindings;;;Argument[0];jndi-injection", - "javax.naming;InitialContext;true;doLookup;;;Argument[0];jndi-injection", - "javax.management.remote;JMXConnector;true;connect;;;Argument[-1];jndi-injection", - "javax.management.remote;JMXConnectorFactory;false;connect;;;Argument[0];jndi-injection", + "javax.naming;Context;true;lookup;;;Argument[0];jndi-injection;manual", + "javax.naming;Context;true;lookupLink;;;Argument[0];jndi-injection;manual", + "javax.naming;Context;true;rename;;;Argument[0];jndi-injection;manual", + "javax.naming;Context;true;list;;;Argument[0];jndi-injection;manual", + "javax.naming;Context;true;listBindings;;;Argument[0];jndi-injection;manual", + "javax.naming;InitialContext;true;doLookup;;;Argument[0];jndi-injection;manual", + "javax.management.remote;JMXConnector;true;connect;;;Argument[-1];jndi-injection;manual", + "javax.management.remote;JMXConnectorFactory;false;connect;;;Argument[0];jndi-injection;manual", // Spring - "org.springframework.jndi;JndiTemplate;false;lookup;;;Argument[0];jndi-injection", + "org.springframework.jndi;JndiTemplate;false;lookup;;;Argument[0];jndi-injection;manual", // spring-ldap 1.2.x and newer - "org.springframework.ldap.core;LdapOperations;true;lookup;(Name);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;lookup;(Name,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;lookup;(Name,String[],ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;lookup;(String);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;lookup;(String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;lookup;(String,String[],ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;lookupContext;;;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;findByDn;;;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;rename;;;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;list;;;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;listBindings;;;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;search;(Name,String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;search;(Name,String,int,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;search;(Name,String,int,String[],ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;search;(String,String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;search;(String,String,int,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;search;(String,String,int,String[],ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;searchForObject;(Name,String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap.core;LdapOperations;true;searchForObject;(String,String,ContextMapper);;Argument[0];jndi-injection", + "org.springframework.ldap.core;LdapOperations;true;lookup;(Name);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;lookup;(Name,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;lookup;(Name,String[],ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;lookup;(String);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;lookup;(String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;lookup;(String,String[],ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;lookupContext;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;findByDn;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;rename;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;list;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;listBindings;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;search;(Name,String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;search;(Name,String,int,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;search;(Name,String,int,String[],ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;search;(String,String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;search;(String,String,int,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;search;(String,String,int,String[],ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;searchForObject;(Name,String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap.core;LdapOperations;true;searchForObject;(String,String,ContextMapper);;Argument[0];jndi-injection;manual", // spring-ldap 1.1.x - "org.springframework.ldap;LdapOperations;true;lookup;;;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;lookupContext;;;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;findByDn;;;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;rename;;;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;list;;;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;listBindings;;;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;search;(Name,String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;search;(Name,String,int,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;search;(Name,String,int,String[],ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;search;(String,String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;search;(String,String,int,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;search;(String,String,int,String[],ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;searchForObject;(Name,String,ContextMapper);;Argument[0];jndi-injection", - "org.springframework.ldap;LdapOperations;true;searchForObject;(String,String,ContextMapper);;Argument[0];jndi-injection", + "org.springframework.ldap;LdapOperations;true;lookup;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;lookupContext;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;findByDn;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;rename;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;list;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;listBindings;;;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;search;(Name,String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;search;(Name,String,int,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;search;(Name,String,int,String[],ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;search;(String,String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;search;(String,String,int,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;search;(String,String,int,String[],ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;searchForObject;(Name,String,ContextMapper);;Argument[0];jndi-injection;manual", + "org.springframework.ldap;LdapOperations;true;searchForObject;(String,String,ContextMapper);;Argument[0];jndi-injection;manual", // Shiro - "org.apache.shiro.jndi;JndiTemplate;false;lookup;;;Argument[0];jndi-injection" + "org.apache.shiro.jndi;JndiTemplate;false;lookup;;;Argument[0];jndi-injection;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/LdapInjection.qll b/java/ql/lib/semmle/code/java/security/LdapInjection.qll index 6907bb49387..54e0dff2eb2 100644 --- a/java/ql/lib/semmle/code/java/security/LdapInjection.qll +++ b/java/ql/lib/semmle/code/java/security/LdapInjection.qll @@ -37,44 +37,44 @@ private class DefaultLdapInjectionSinkModel extends SinkModelCsv { row = [ // jndi - "javax.naming.directory;DirContext;true;search;;;Argument[0..1];ldap", + "javax.naming.directory;DirContext;true;search;;;Argument[0..1];ldap;manual", // apache - "org.apache.directory.ldap.client.api;LdapConnection;true;search;;;Argument[0..2];ldap", + "org.apache.directory.ldap.client.api;LdapConnection;true;search;;;Argument[0..2];ldap;manual", // UnboundID: search - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(ReadOnlySearchRequest);;Argument[0];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchRequest);;Argument[0];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,DereferencePolicy,int,int,boolean,Filter,String[]);;Argument[0..7];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,DereferencePolicy,int,int,boolean,String,String[]);;Argument[0..7];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,Filter,String[]);;Argument[0..3];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,String,String[]);;Argument[0..3];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,DereferencePolicy,int,int,boolean,Filter,String[]);;Argument[0..6];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,DereferencePolicy,int,int,boolean,String,String[]);;Argument[0..6];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,Filter,String[]);;Argument[0..2];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,String,String[]);;Argument[0..2];ldap", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(ReadOnlySearchRequest);;Argument[0];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchRequest);;Argument[0];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,DereferencePolicy,int,int,boolean,Filter,String[]);;Argument[0..7];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,DereferencePolicy,int,int,boolean,String,String[]);;Argument[0..7];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,Filter,String[]);;Argument[0..3];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(SearchResultListener,String,SearchScope,String,String[]);;Argument[0..3];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,DereferencePolicy,int,int,boolean,Filter,String[]);;Argument[0..6];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,DereferencePolicy,int,int,boolean,String,String[]);;Argument[0..6];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,Filter,String[]);;Argument[0..2];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;search;(String,SearchScope,String,String[]);;Argument[0..2];ldap;manual", // UnboundID: searchForEntry - "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(ReadOnlySearchRequest);;Argument[0];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(SearchRequest);;Argument[0];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,DereferencePolicy,int,boolean,Filter,String[]);;Argument[0..5];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,DereferencePolicy,int,boolean,String,String[]);;Argument[0..5];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,Filter,String[]);;Argument[0..2];ldap", - "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,String,String[]);;Argument[0..2];ldap", + "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(ReadOnlySearchRequest);;Argument[0];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(SearchRequest);;Argument[0];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,DereferencePolicy,int,boolean,Filter,String[]);;Argument[0..5];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,DereferencePolicy,int,boolean,String,String[]);;Argument[0..5];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,Filter,String[]);;Argument[0..2];ldap;manual", + "com.unboundid.ldap.sdk;LDAPConnection;false;searchForEntry;(String,SearchScope,String,String[]);;Argument[0..2];ldap;manual", // UnboundID: asyncSearch - "com.unboundid.ldap.sdk;LDAPConnection;false;asyncSearch;;;Argument[0];ldap", + "com.unboundid.ldap.sdk;LDAPConnection;false;asyncSearch;;;Argument[0];ldap;manual", // Spring - "org.springframework.ldap.core;LdapTemplate;false;find;;;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;findOne;;;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;search;;;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;searchForContext;;;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;searchForObject;;;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(LdapQuery,String);;Argument[0];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String,AuthenticatedLdapEntryContextCallback);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String,AuthenticatedLdapEntryContextCallback,AuthenticationErrorCallback);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String,AuthenticationErrorCallback);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String,AuthenticatedLdapEntryContextCallback);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String,AuthenticatedLdapEntryContextCallback,AuthenticationErrorCallback);;Argument[0..1];ldap", - "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String,AuthenticationErrorCallback);;Argument[0..1];ldap" + "org.springframework.ldap.core;LdapTemplate;false;find;;;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;findOne;;;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;search;;;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;searchForContext;;;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;searchForObject;;;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(LdapQuery,String);;Argument[0];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String,AuthenticatedLdapEntryContextCallback);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String,AuthenticatedLdapEntryContextCallback,AuthenticationErrorCallback);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(Name,String,String,AuthenticationErrorCallback);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String,AuthenticatedLdapEntryContextCallback);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String,AuthenticatedLdapEntryContextCallback,AuthenticationErrorCallback);;Argument[0..1];ldap;manual", + "org.springframework.ldap.core;LdapTemplate;false;authenticate;(String,String,String,AuthenticationErrorCallback);;Argument[0..1];ldap;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/MvelInjection.qll b/java/ql/lib/semmle/code/java/security/MvelInjection.qll index a75f582b72a..167b21edae6 100644 --- a/java/ql/lib/semmle/code/java/security/MvelInjection.qll +++ b/java/ql/lib/semmle/code/java/security/MvelInjection.qll @@ -32,23 +32,23 @@ private class DefaulMvelEvaluationSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "javax.script;CompiledScript;false;eval;;;Argument[-1];mvel", - "org.mvel2;MVEL;false;eval;;;Argument[0];mvel", - "org.mvel2;MVEL;false;executeExpression;;;Argument[0];mvel", - "org.mvel2;MVEL;false;evalToBoolean;;;Argument[0];mvel", - "org.mvel2;MVEL;false;evalToString;;;Argument[0];mvel", - "org.mvel2;MVEL;false;executeAllExpression;;;Argument[0];mvel", - "org.mvel2;MVEL;false;executeSetExpression;;;Argument[0];mvel", - "org.mvel2;MVELRuntime;false;execute;;;Argument[1];mvel", - "org.mvel2.templates;TemplateRuntime;false;eval;;;Argument[0];mvel", - "org.mvel2.templates;TemplateRuntime;false;execute;;;Argument[0];mvel", - "org.mvel2.jsr223;MvelScriptEngine;false;eval;;;Argument[0];mvel", - "org.mvel2.jsr223;MvelScriptEngine;false;evaluate;;;Argument[0];mvel", - "org.mvel2.jsr223;MvelCompiledScript;false;eval;;;Argument[-1];mvel", - "org.mvel2.compiler;ExecutableStatement;false;getValue;;;Argument[-1];mvel", - "org.mvel2.compiler;CompiledExpression;false;getDirectValue;;;Argument[-1];mvel", - "org.mvel2.compiler;CompiledAccExpression;false;getValue;;;Argument[-1];mvel", - "org.mvel2.compiler;Accessor;false;getValue;;;Argument[-1];mvel" + "javax.script;CompiledScript;false;eval;;;Argument[-1];mvel;manual", + "org.mvel2;MVEL;false;eval;;;Argument[0];mvel;manual", + "org.mvel2;MVEL;false;executeExpression;;;Argument[0];mvel;manual", + "org.mvel2;MVEL;false;evalToBoolean;;;Argument[0];mvel;manual", + "org.mvel2;MVEL;false;evalToString;;;Argument[0];mvel;manual", + "org.mvel2;MVEL;false;executeAllExpression;;;Argument[0];mvel;manual", + "org.mvel2;MVEL;false;executeSetExpression;;;Argument[0];mvel;manual", + "org.mvel2;MVELRuntime;false;execute;;;Argument[1];mvel;manual", + "org.mvel2.templates;TemplateRuntime;false;eval;;;Argument[0];mvel;manual", + "org.mvel2.templates;TemplateRuntime;false;execute;;;Argument[0];mvel;manual", + "org.mvel2.jsr223;MvelScriptEngine;false;eval;;;Argument[0];mvel;manual", + "org.mvel2.jsr223;MvelScriptEngine;false;evaluate;;;Argument[0];mvel;manual", + "org.mvel2.jsr223;MvelCompiledScript;false;eval;;;Argument[-1];mvel;manual", + "org.mvel2.compiler;ExecutableStatement;false;getValue;;;Argument[-1];mvel;manual", + "org.mvel2.compiler;CompiledExpression;false;getDirectValue;;;Argument[-1];mvel;manual", + "org.mvel2.compiler;CompiledAccExpression;false;getValue;;;Argument[-1];mvel;manual", + "org.mvel2.compiler;Accessor;false;getValue;;;Argument[-1];mvel;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/OgnlInjection.qll b/java/ql/lib/semmle/code/java/security/OgnlInjection.qll index 222da6d9996..1ebede55b78 100644 --- a/java/ql/lib/semmle/code/java/security/OgnlInjection.qll +++ b/java/ql/lib/semmle/code/java/security/OgnlInjection.qll @@ -29,21 +29,21 @@ private class DefaultOgnlInjectionSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "org.apache.commons.ognl;Ognl;false;getValue;;;Argument[0];ognl-injection", - "org.apache.commons.ognl;Ognl;false;setValue;;;Argument[0];ognl-injection", - "org.apache.commons.ognl;Node;true;getValue;;;Argument[-1];ognl-injection", - "org.apache.commons.ognl;Node;true;setValue;;;Argument[-1];ognl-injection", - "org.apache.commons.ognl.enhance;ExpressionAccessor;true;get;;;Argument[-1];ognl-injection", - "org.apache.commons.ognl.enhance;ExpressionAccessor;true;set;;;Argument[-1];ognl-injection", - "ognl;Ognl;false;getValue;;;Argument[0];ognl-injection", - "ognl;Ognl;false;setValue;;;Argument[0];ognl-injection", - "ognl;Node;false;getValue;;;Argument[-1];ognl-injection", - "ognl;Node;false;setValue;;;Argument[-1];ognl-injection", - "ognl.enhance;ExpressionAccessor;true;get;;;Argument[-1];ognl-injection", - "ognl.enhance;ExpressionAccessor;true;set;;;Argument[-1];ognl-injection", - "com.opensymphony.xwork2.ognl;OgnlUtil;false;getValue;;;Argument[0];ognl-injection", - "com.opensymphony.xwork2.ognl;OgnlUtil;false;setValue;;;Argument[0];ognl-injection", - "com.opensymphony.xwork2.ognl;OgnlUtil;false;callMethod;;;Argument[0];ognl-injection" + "org.apache.commons.ognl;Ognl;false;getValue;;;Argument[0];ognl-injection;manual", + "org.apache.commons.ognl;Ognl;false;setValue;;;Argument[0];ognl-injection;manual", + "org.apache.commons.ognl;Node;true;getValue;;;Argument[-1];ognl-injection;manual", + "org.apache.commons.ognl;Node;true;setValue;;;Argument[-1];ognl-injection;manual", + "org.apache.commons.ognl.enhance;ExpressionAccessor;true;get;;;Argument[-1];ognl-injection;manual", + "org.apache.commons.ognl.enhance;ExpressionAccessor;true;set;;;Argument[-1];ognl-injection;manual", + "ognl;Ognl;false;getValue;;;Argument[0];ognl-injection;manual", + "ognl;Ognl;false;setValue;;;Argument[0];ognl-injection;manual", + "ognl;Node;false;getValue;;;Argument[-1];ognl-injection;manual", + "ognl;Node;false;setValue;;;Argument[-1];ognl-injection;manual", + "ognl.enhance;ExpressionAccessor;true;get;;;Argument[-1];ognl-injection;manual", + "ognl.enhance;ExpressionAccessor;true;set;;;Argument[-1];ognl-injection;manual", + "com.opensymphony.xwork2.ognl;OgnlUtil;false;getValue;;;Argument[0];ognl-injection;manual", + "com.opensymphony.xwork2.ognl;OgnlUtil;false;setValue;;;Argument[0];ognl-injection;manual", + "com.opensymphony.xwork2.ognl;OgnlUtil;false;callMethod;;;Argument[0];ognl-injection;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/ResponseSplitting.qll b/java/ql/lib/semmle/code/java/security/ResponseSplitting.qll index 70af02efc6d..d59e6c877c3 100644 --- a/java/ql/lib/semmle/code/java/security/ResponseSplitting.qll +++ b/java/ql/lib/semmle/code/java/security/ResponseSplitting.qll @@ -18,10 +18,10 @@ private class HeaderSplittingSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "javax.servlet.http;HttpServletResponse;false;addCookie;;;Argument[0];header-splitting", - "javax.servlet.http;HttpServletResponse;false;addHeader;;;Argument[0..1];header-splitting", - "javax.servlet.http;HttpServletResponse;false;setHeader;;;Argument[0..1];header-splitting", - "javax.ws.rs.core;ResponseBuilder;false;header;;;Argument[1];header-splitting" + "javax.servlet.http;HttpServletResponse;false;addCookie;;;Argument[0];header-splitting;manual", + "javax.servlet.http;HttpServletResponse;false;addHeader;;;Argument[0..1];header-splitting;manual", + "javax.servlet.http;HttpServletResponse;false;setHeader;;;Argument[0..1];header-splitting;manual", + "javax.ws.rs.core;ResponseBuilder;false;header;;;Argument[1];header-splitting;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/SecurityFlag.qll b/java/ql/lib/semmle/code/java/security/SecurityFlag.qll index 27ac3dfc3b2..fd1c4adbdd2 100644 --- a/java/ql/lib/semmle/code/java/security/SecurityFlag.qll +++ b/java/ql/lib/semmle/code/java/security/SecurityFlag.qll @@ -20,21 +20,34 @@ abstract class FlagKind extends string { bindingset[result] abstract string getAFlagName(); + private predicate flagFlowStepTC(DataFlow::Node node1, DataFlow::Node node2) { + node2 = node1 and + isFlagWithName(node1) + or + exists(DataFlow::Node nodeMid | + flagFlowStep(nodeMid, node2) and + flagFlowStepTC(node1, nodeMid) + ) + } + + private predicate isFlagWithName(DataFlow::Node flag) { + exists(VarAccess v | v.getVariable().getName() = getAFlagName() | + flag.asExpr() = v and v.getType() instanceof FlagType + ) + or + exists(StringLiteral s | s.getValue() = getAFlagName() | flag.asExpr() = s) + or + exists(MethodAccess ma | ma.getMethod().getName() = getAFlagName() | + flag.asExpr() = ma and + ma.getType() instanceof FlagType + ) + } + /** Gets a node representing a (likely) security flag. */ DataFlow::Node getAFlag() { exists(DataFlow::Node flag | - exists(VarAccess v | v.getVariable().getName() = getAFlagName() | - flag.asExpr() = v and v.getType() instanceof FlagType - ) - or - exists(StringLiteral s | s.getValue() = getAFlagName() | flag.asExpr() = s) - or - exists(MethodAccess ma | ma.getMethod().getName() = getAFlagName() | - flag.asExpr() = ma and - ma.getType() instanceof FlagType - ) - | - flagFlowStep*(flag, result) + isFlagWithName(flag) and + flagFlowStepTC(flag, result) ) } } diff --git a/java/ql/lib/semmle/code/java/security/UnsafeAndroidAccess.qll b/java/ql/lib/semmle/code/java/security/UnsafeAndroidAccess.qll index 176b093b68a..ba162ede986 100644 --- a/java/ql/lib/semmle/code/java/security/UnsafeAndroidAccess.qll +++ b/java/ql/lib/semmle/code/java/security/UnsafeAndroidAccess.qll @@ -75,6 +75,8 @@ private predicate webViewLoadUrl(Argument urlArg, WebViewRef webview) { loadUrl.getArgument(0) = urlArg and loadUrl.getMethod() instanceof WebViewLoadUrlMethod | + webview.getAnAccess() = DataFlow::exprNode(loadUrl.getQualifier().getUnderlyingExpr()) + or webview.getAnAccess() = DataFlow::getInstanceArgument(loadUrl) or // `webview` is received as a parameter of an event method in a custom `WebViewClient`, @@ -82,8 +84,9 @@ private predicate webViewLoadUrl(Argument urlArg, WebViewRef webview) { exists(WebViewClientEventMethod eventMethod, MethodAccess setWebClient | setWebClient.getMethod() instanceof WebViewSetWebViewClientMethod and setWebClient.getArgument(0).getType() = eventMethod.getDeclaringType() and - loadUrl.getQualifier() = eventMethod.getWebViewParameter().getAnAccess() + loadUrl.getQualifier().getUnderlyingExpr() = eventMethod.getWebViewParameter().getAnAccess() | + webview.getAnAccess() = DataFlow::exprNode(setWebClient.getQualifier().getUnderlyingExpr()) or webview.getAnAccess() = DataFlow::getInstanceArgument(setWebClient) ) ) diff --git a/java/ql/lib/semmle/code/java/security/XPath.qll b/java/ql/lib/semmle/code/java/security/XPath.qll index 4678d7572c7..2122093a05c 100644 --- a/java/ql/lib/semmle/code/java/security/XPath.qll +++ b/java/ql/lib/semmle/code/java/security/XPath.qll @@ -15,29 +15,29 @@ private class DefaultXPathInjectionSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "javax.xml.xpath;XPath;true;evaluate;;;Argument[0];xpath", - "javax.xml.xpath;XPath;true;evaluateExpression;;;Argument[0];xpath", - "javax.xml.xpath;XPath;true;compile;;;Argument[0];xpath", - "org.dom4j;Node;true;selectObject;;;Argument[0];xpath", - "org.dom4j;Node;true;selectNodes;;;Argument[0..1];xpath", - "org.dom4j;Node;true;selectSingleNode;;;Argument[0];xpath", - "org.dom4j;Node;true;numberValueOf;;;Argument[0];xpath", - "org.dom4j;Node;true;valueOf;;;Argument[0];xpath", - "org.dom4j;Node;true;matches;;;Argument[0];xpath", - "org.dom4j;Node;true;createXPath;;;Argument[0];xpath", - "org.dom4j;DocumentFactory;true;createPattern;;;Argument[0];xpath", - "org.dom4j;DocumentFactory;true;createXPath;;;Argument[0];xpath", - "org.dom4j;DocumentFactory;true;createXPathFilter;;;Argument[0];xpath", - "org.dom4j;DocumentHelper;false;createPattern;;;Argument[0];xpath", - "org.dom4j;DocumentHelper;false;createXPath;;;Argument[0];xpath", - "org.dom4j;DocumentHelper;false;createXPathFilter;;;Argument[0];xpath", - "org.dom4j;DocumentHelper;false;selectNodes;;;Argument[0];xpath", - "org.dom4j;DocumentHelper;false;sort;;;Argument[1];xpath", - "org.dom4j.tree;AbstractNode;true;createXPathFilter;;;Argument[0];xpath", - "org.dom4j.tree;AbstractNode;true;createPattern;;;Argument[0];xpath", - "org.dom4j.util;ProxyDocumentFactory;true;createPattern;;;Argument[0];xpath", - "org.dom4j.util;ProxyDocumentFactory;true;createXPath;;;Argument[0];xpath", - "org.dom4j.util;ProxyDocumentFactory;true;createXPathFilter;;;Argument[0];xpath" + "javax.xml.xpath;XPath;true;evaluate;;;Argument[0];xpath;manual", + "javax.xml.xpath;XPath;true;evaluateExpression;;;Argument[0];xpath;manual", + "javax.xml.xpath;XPath;true;compile;;;Argument[0];xpath;manual", + "org.dom4j;Node;true;selectObject;;;Argument[0];xpath;manual", + "org.dom4j;Node;true;selectNodes;;;Argument[0..1];xpath;manual", + "org.dom4j;Node;true;selectSingleNode;;;Argument[0];xpath;manual", + "org.dom4j;Node;true;numberValueOf;;;Argument[0];xpath;manual", + "org.dom4j;Node;true;valueOf;;;Argument[0];xpath;manual", + "org.dom4j;Node;true;matches;;;Argument[0];xpath;manual", + "org.dom4j;Node;true;createXPath;;;Argument[0];xpath;manual", + "org.dom4j;DocumentFactory;true;createPattern;;;Argument[0];xpath;manual", + "org.dom4j;DocumentFactory;true;createXPath;;;Argument[0];xpath;manual", + "org.dom4j;DocumentFactory;true;createXPathFilter;;;Argument[0];xpath;manual", + "org.dom4j;DocumentHelper;false;createPattern;;;Argument[0];xpath;manual", + "org.dom4j;DocumentHelper;false;createXPath;;;Argument[0];xpath;manual", + "org.dom4j;DocumentHelper;false;createXPathFilter;;;Argument[0];xpath;manual", + "org.dom4j;DocumentHelper;false;selectNodes;;;Argument[0];xpath;manual", + "org.dom4j;DocumentHelper;false;sort;;;Argument[1];xpath;manual", + "org.dom4j.tree;AbstractNode;true;createXPathFilter;;;Argument[0];xpath;manual", + "org.dom4j.tree;AbstractNode;true;createPattern;;;Argument[0];xpath;manual", + "org.dom4j.util;ProxyDocumentFactory;true;createPattern;;;Argument[0];xpath;manual", + "org.dom4j.util;ProxyDocumentFactory;true;createXPath;;;Argument[0];xpath;manual", + "org.dom4j.util;ProxyDocumentFactory;true;createXPathFilter;;;Argument[0];xpath;manual" ] } } diff --git a/java/ql/lib/semmle/code/java/security/XsltInjection.qll b/java/ql/lib/semmle/code/java/security/XsltInjection.qll index 84a2f79a06a..570a7575af3 100644 --- a/java/ql/lib/semmle/code/java/security/XsltInjection.qll +++ b/java/ql/lib/semmle/code/java/security/XsltInjection.qll @@ -19,12 +19,12 @@ private class DefaultXsltInjectionSinkModel extends SinkModelCsv { override predicate row(string row) { row = [ - "javax.xml.transform;Transformer;false;transform;;;Argument[-1];xslt", - "net.sf.saxon.s9api;XsltTransformer;false;transform;;;Argument[-1];xslt", - "net.sf.saxon.s9api;Xslt30Transformer;false;transform;;;Argument[-1];xslt", - "net.sf.saxon.s9api;Xslt30Transformer;false;applyTemplates;;;Argument[-1];xslt", - "net.sf.saxon.s9api;Xslt30Transformer;false;callFunction;;;Argument[-1];xslt", - "net.sf.saxon.s9api;Xslt30Transformer;false;callTemplate;;;Argument[-1];xslt" + "javax.xml.transform;Transformer;false;transform;;;Argument[-1];xslt;manual", + "net.sf.saxon.s9api;XsltTransformer;false;transform;;;Argument[-1];xslt;manual", + "net.sf.saxon.s9api;Xslt30Transformer;false;transform;;;Argument[-1];xslt;manual", + "net.sf.saxon.s9api;Xslt30Transformer;false;applyTemplates;;;Argument[-1];xslt;manual", + "net.sf.saxon.s9api;Xslt30Transformer;false;callFunction;;;Argument[-1];xslt;manual", + "net.sf.saxon.s9api;Xslt30Transformer;false;callTemplate;;;Argument[-1];xslt;manual" ] } } diff --git a/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/old.dbscheme b/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/old.dbscheme new file mode 100644 index 00000000000..57c55f404a5 --- /dev/null +++ b/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/old.dbscheme @@ -0,0 +1,1223 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string relativePath : string ref, + int equivClass : int ref +); + +@duplication_or_similarity = @duplication | @similarity + +tokens( + int id : @duplication_or_similarity ref, + int offset : int ref, + int beginLine : int ref, + int beginColumn : int ref, + int endLine : int ref, + int endColumn : int ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar ; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +compiler_generated( + unique int id: @element ref, + int kind: int ref + // 1: Declaring classes of adapter functions in Kotlin +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) diff --git a/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/semmlecode.dbscheme b/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/semmlecode.dbscheme new file mode 100755 index 00000000000..cf58c7d9b1f --- /dev/null +++ b/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/semmlecode.dbscheme @@ -0,0 +1,1228 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string relativePath : string ref, + int equivClass : int ref +); + +@duplication_or_similarity = @duplication | @similarity + +tokens( + int id : @duplication_or_similarity ref, + int offset : int ref, + int beginLine : int ref, + int beginColumn : int ref, + int endLine : int ref, + int endColumn : int ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar ; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) diff --git a/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/upgrade.properties b/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/upgrade.properties new file mode 100644 index 00000000000..bdee4e55a05 --- /dev/null +++ b/java/ql/lib/upgrades/57c55f404a5954f0e738febf590ad5d49dd67b08/upgrade.properties @@ -0,0 +1,2 @@ +description: Add more compiler-generated kinds +compatibility: full diff --git a/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/old.dbscheme b/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/old.dbscheme new file mode 100755 index 00000000000..b9225587bc0 --- /dev/null +++ b/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/old.dbscheme @@ -0,0 +1,1234 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string relativePath : string ref, + int equivClass : int ref +); + +@duplication_or_similarity = @duplication | @similarity + +tokens( + int id : @duplication_or_similarity ref, + int offset : int ref, + int beginLine : int ref, + int beginColumn : int ref, + int endLine : int ref, + int endColumn : int ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar ; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +@breakcontinuestmt = @breakstmt + | @continuestmt; + +@ktloopstmt = @whilestmt + | @dostmt; + +ktBreakContinueTargets( + unique int id: @breakcontinuestmt ref, + int target: @ktloopstmt ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +compiler_generated( + unique int id: @element ref, + int kind: int ref + // 1: Declaring classes of adapter functions in Kotlin +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) diff --git a/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/semmlecode.dbscheme b/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/semmlecode.dbscheme new file mode 100755 index 00000000000..57c55f404a5 --- /dev/null +++ b/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/semmlecode.dbscheme @@ -0,0 +1,1223 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string relativePath : string ref, + int equivClass : int ref +); + +@duplication_or_similarity = @duplication | @similarity + +tokens( + int id : @duplication_or_similarity ref, + int offset : int ref, + int beginLine : int ref, + int beginColumn : int ref, + int endLine : int ref, + int endColumn : int ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar ; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +compiler_generated( + unique int id: @element ref, + int kind: int ref + // 1: Declaring classes of adapter functions in Kotlin +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) diff --git a/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/upgrade.properties b/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/upgrade.properties new file mode 100644 index 00000000000..eca767b80de --- /dev/null +++ b/java/ql/lib/upgrades/b9225587bc0a643ae484ec215b9a6f19d17d0fc2/upgrade.properties @@ -0,0 +1,4 @@ +description: Remove unneeded break/continue structures for Kotlin +compatibility: backwards + +ktBreakContinueTargets.rel: delete diff --git a/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/old.dbscheme b/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/old.dbscheme new file mode 100644 index 00000000000..cf58c7d9b1f --- /dev/null +++ b/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/old.dbscheme @@ -0,0 +1,1228 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string relativePath : string ref, + int equivClass : int ref +); + +@duplication_or_similarity = @duplication | @similarity + +tokens( + int id : @duplication_or_similarity ref, + int offset : int ref, + int beginLine : int ref, + int beginColumn : int ref, + int endLine : int ref, + int endColumn : int ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar ; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) diff --git a/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/semmlecode.dbscheme b/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/semmlecode.dbscheme new file mode 100755 index 00000000000..81ccfabe82e --- /dev/null +++ b/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/semmlecode.dbscheme @@ -0,0 +1,1236 @@ +/** + * An invocation of the compiler. Note that more than one file may be + * compiled per invocation. For example, this command compiles three + * source files: + * + * javac A.java B.java C.java + * + * The `id` simply identifies the invocation, while `cwd` is the working + * directory from which the compiler was invoked. + */ +compilations( + /** + * An invocation of the compiler. Note that more than one file may + * be compiled per invocation. For example, this command compiles + * three source files: + * + * javac A.java B.java C.java + */ + unique int id : @compilation, + int kind: int ref, + string cwd : string ref, + string name : string ref +); + +case @compilation.kind of + 1 = @javacompilation +| 2 = @kotlincompilation +; + +compilation_started( + int id : @compilation ref +) + +/** + * The arguments that were passed to the extractor for a compiler + * invocation. If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then typically there will be rows for + * + * num | arg + * --- | --- + * 0 | *path to extractor* + * 1 | `--javac-args` + * 2 | A.java + * 3 | B.java + * 4 | C.java + */ +#keyset[id, num] +compilation_args( + int id : @compilation ref, + int num : int ref, + string arg : string ref +); + +/** + * The source files that are compiled by a compiler invocation. + * If `id` is for the compiler invocation + * + * javac A.java B.java C.java + * + * then there will be rows for + * + * num | arg + * --- | --- + * 0 | A.java + * 1 | B.java + * 2 | C.java + */ +#keyset[id, num] +compilation_compiling_files( + int id : @compilation ref, + int num : int ref, + int file : @file ref +); + +/** + * For each file recorded in `compilation_compiling_files`, + * there will be a corresponding row in + * `compilation_compiling_files_completed` once extraction + * of that file is complete. The `result` will indicate the + * extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +#keyset[id, num] +compilation_compiling_files_completed( + int id : @compilation ref, + int num : int ref, + int result : int ref +); + +/** + * The time taken by the extractor for a compiler invocation. + * + * For each file `num`, there will be rows for + * + * kind | seconds + * ---- | --- + * 1 | CPU seconds used by the extractor frontend + * 2 | Elapsed seconds during the extractor frontend + * 3 | CPU seconds used by the extractor backend + * 4 | Elapsed seconds during the extractor backend + */ +#keyset[id, num, kind] +compilation_time( + int id : @compilation ref, + int num : int ref, + /* kind: + 1 = frontend_cpu_seconds + 2 = frontend_elapsed_seconds + 3 = extractor_cpu_seconds + 4 = extractor_elapsed_seconds + */ + int kind : int ref, + float seconds : float ref +); + +/** + * An error or warning generated by the extractor. + * The diagnostic message `diagnostic` was generated during compiler + * invocation `compilation`, and is the `file_number_diagnostic_number`th + * message generated while extracting the `file_number`th file of that + * invocation. + */ +#keyset[compilation, file_number, file_number_diagnostic_number] +diagnostic_for( + unique int diagnostic : @diagnostic ref, + int compilation : @compilation ref, + int file_number : int ref, + int file_number_diagnostic_number : int ref +); + +/** + * The `cpu_seconds` and `elapsed_seconds` are the CPU time and elapsed + * time (respectively) that the original compilation (not the extraction) + * took for compiler invocation `id`. + */ +compilation_compiler_times( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref +); + +/** + * If extraction was successful, then `cpu_seconds` and + * `elapsed_seconds` are the CPU time and elapsed time (respectively) + * that extraction took for compiler invocation `id`. + * The `result` will indicate the extraction result: + * + * 0: Successfully extracted + * 1: Errors were encountered, but extraction recovered + * 2: Errors were encountered, and extraction could not recover + */ +compilation_finished( + unique int id : @compilation ref, + float cpu_seconds : float ref, + float elapsed_seconds : float ref, + int result : int ref +); + +diagnostics( + unique int id: @diagnostic, + string generated_by: string ref, // TODO: Sync this with the other languages? + int severity: int ref, + string error_tag: string ref, + string error_message: string ref, + string full_error_message: string ref, + int location: @location_default ref +); + +/* + * External artifacts + */ + +externalData( + int id : @externalDataElement, + string path : string ref, + int column: int ref, + string value : string ref +); + +snapshotDate( + unique date snapshotDate : date ref +); + +sourceLocationPrefix( + string prefix : string ref +); + +/* + * Duplicate code + */ + +duplicateCode( + unique int id : @duplication, + string relativePath : string ref, + int equivClass : int ref +); + +similarCode( + unique int id : @similarity, + string relativePath : string ref, + int equivClass : int ref +); + +@duplication_or_similarity = @duplication | @similarity + +tokens( + int id : @duplication_or_similarity ref, + int offset : int ref, + int beginLine : int ref, + int beginColumn : int ref, + int endLine : int ref, + int endColumn : int ref +); + +/* + * SMAP + */ + +smap_header( + int outputFileId: @file ref, + string outputFilename: string ref, + string defaultStratum: string ref +); + +smap_files( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + string inputFileName: string ref, + int inputFileId: @file ref +); + +smap_lines( + int outputFileId: @file ref, + string stratum: string ref, + int inputFileNum: int ref, + int inputStartLine: int ref, + int inputLineCount: int ref, + int outputStartLine: int ref, + int outputLineIncrement: int ref +); + +/* + * Locations and files + */ + +@location = @location_default ; + +locations_default( + unique int id: @location_default, + int file: @file ref, + int beginLine: int ref, + int beginColumn: int ref, + int endLine: int ref, + int endColumn: int ref +); + +hasLocation( + int locatableid: @locatable ref, + int id: @location ref +); + +@sourceline = @locatable ; + +#keyset[element_id] +numlines( + int element_id: @sourceline ref, + int num_lines: int ref, + int num_code: int ref, + int num_comment: int ref +); + +files( + unique int id: @file, + string name: string ref +); + +folders( + unique int id: @folder, + string name: string ref +); + +@container = @folder | @file + +containerparent( + int parent: @container ref, + unique int child: @container ref +); + +/* + * Java + */ + +cupackage( + unique int id: @file ref, + int packageid: @package ref +); + +#keyset[fileid,keyName] +jarManifestMain( + int fileid: @file ref, + string keyName: string ref, + string value: string ref +); + +#keyset[fileid,entryName,keyName] +jarManifestEntries( + int fileid: @file ref, + string entryName: string ref, + string keyName: string ref, + string value: string ref +); + +packages( + unique int id: @package, + string nodeName: string ref +); + +primitives( + unique int id: @primitive, + string nodeName: string ref +); + +modifiers( + unique int id: @modifier, + string nodeName: string ref +); + +/** + * An errortype is used when the extractor is unable to extract a type + * correctly for some reason. + */ +error_type( + unique int id: @errortype +); + +classes( + unique int id: @class, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @class ref +); + +file_class( + int id: @class ref +); + +class_object( + unique int id: @class ref, + unique int instance: @field ref +); + +type_companion_object( + unique int id: @classorinterface ref, + unique int instance: @field ref, + unique int companion_object: @class ref +); + +kt_nullable_types( + unique int id: @kt_nullable_type, + int classid: @reftype ref +) + +kt_notnull_types( + unique int id: @kt_notnull_type, + int classid: @reftype ref +) + +kt_type_alias( + unique int id: @kt_type_alias, + string name: string ref, + int kttypeid: @kt_type ref +) + +@kt_type = @kt_nullable_type | @kt_notnull_type + +isRecord( + unique int id: @class ref +); + +interfaces( + unique int id: @interface, + string nodeName: string ref, + int parentid: @package ref, + int sourceid: @interface ref +); + +fielddecls( + unique int id: @fielddecl, + int parentid: @reftype ref +); + +#keyset[fieldId] #keyset[fieldDeclId,pos] +fieldDeclaredIn( + int fieldId: @field ref, + int fieldDeclId: @fielddecl ref, + int pos: int ref +); + +fields( + unique int id: @field, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @field ref +); + +fieldsKotlinType( + unique int id: @field ref, + int kttypeid: @kt_type ref +); + +constrs( + unique int id: @constructor, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @constructor ref +); + +constrsKotlinType( + unique int id: @constructor ref, + int kttypeid: @kt_type ref +); + +methods( + unique int id: @method, + string nodeName: string ref, + string signature: string ref, + int typeid: @type ref, + int parentid: @reftype ref, + int sourceid: @method ref +); + +methodsKotlinType( + unique int id: @method ref, + int kttypeid: @kt_type ref +); + +#keyset[parentid,pos] +params( + unique int id: @param, + int typeid: @type ref, + int pos: int ref, + int parentid: @callable ref, + int sourceid: @param ref +); + +paramsKotlinType( + unique int id: @param ref, + int kttypeid: @kt_type ref +); + +paramName( + unique int id: @param ref, + string nodeName: string ref +); + +isVarargsParam( + int param: @param ref +); + +exceptions( + unique int id: @exception, + int typeid: @type ref, + int parentid: @callable ref +); + +isAnnotType( + int interfaceid: @interface ref +); + +isAnnotElem( + int methodid: @method ref +); + +annotValue( + int parentid: @annotation ref, + int id2: @method ref, + unique int value: @expr ref +); + +isEnumType( + int classid: @class ref +); + +isEnumConst( + int fieldid: @field ref +); + +#keyset[parentid,pos] +typeVars( + unique int id: @typevariable, + string nodeName: string ref, + int pos: int ref, + int kind: int ref, // deprecated + int parentid: @classorinterfaceorcallable ref +); + +wildcards( + unique int id: @wildcard, + string nodeName: string ref, + int kind: int ref +); + +#keyset[parentid,pos] +typeBounds( + unique int id: @typebound, + int typeid: @reftype ref, + int pos: int ref, + int parentid: @boundedtype ref +); + +#keyset[parentid,pos] +typeArgs( + int argumentid: @reftype ref, + int pos: int ref, + int parentid: @classorinterfaceorcallable ref +); + +isParameterized( + int memberid: @member ref +); + +isRaw( + int memberid: @member ref +); + +erasure( + unique int memberid: @member ref, + int erasureid: @member ref +); + +#keyset[classid] #keyset[parent] +isAnonymClass( + int classid: @class ref, + int parent: @classinstancexpr ref +); + +#keyset[typeid] #keyset[parent] +isLocalClassOrInterface( + int typeid: @classorinterface ref, + int parent: @localtypedeclstmt ref +); + +isDefConstr( + int constructorid: @constructor ref +); + +#keyset[exprId] +lambdaKind( + int exprId: @lambdaexpr ref, + int bodyKind: int ref +); + +arrays( + unique int id: @array, + string nodeName: string ref, + int elementtypeid: @type ref, + int dimension: int ref, + int componenttypeid: @type ref +); + +enclInReftype( + unique int child: @reftype ref, + int parent: @reftype ref +); + +extendsReftype( + int id1: @reftype ref, + int id2: @classorinterface ref +); + +implInterface( + int id1: @classorarray ref, + int id2: @interface ref +); + +permits( + int id1: @classorinterface ref, + int id2: @classorinterface ref +); + +hasModifier( + int id1: @modifiable ref, + int id2: @modifier ref +); + +imports( + unique int id: @import, + int holder: @classorinterfaceorpackage ref, + string name: string ref, + int kind: int ref +); + +#keyset[parent,idx] +stmts( + unique int id: @stmt, + int kind: int ref, + int parent: @stmtparent ref, + int idx: int ref, + int bodydecl: @callable ref +); + +@stmtparent = @callable | @stmt | @switchexpr | @whenexpr| @stmtexpr; + +case @stmt.kind of + 0 = @block +| 1 = @ifstmt +| 2 = @forstmt +| 3 = @enhancedforstmt +| 4 = @whilestmt +| 5 = @dostmt +| 6 = @trystmt +| 7 = @switchstmt +| 8 = @synchronizedstmt +| 9 = @returnstmt +| 10 = @throwstmt +| 11 = @breakstmt +| 12 = @continuestmt +| 13 = @emptystmt +| 14 = @exprstmt +| 15 = @labeledstmt +| 16 = @assertstmt +| 17 = @localvariabledeclstmt +| 18 = @localtypedeclstmt +| 19 = @constructorinvocationstmt +| 20 = @superconstructorinvocationstmt +| 21 = @case +| 22 = @catchclause +| 23 = @yieldstmt +| 24 = @errorstmt +| 25 = @whenbranch +; + +#keyset[parent,idx] +exprs( + unique int id: @expr, + int kind: int ref, + int typeid: @type ref, + int parent: @exprparent ref, + int idx: int ref +); + +exprsKotlinType( + unique int id: @expr ref, + int kttypeid: @kt_type ref +); + +callableEnclosingExpr( + unique int id: @expr ref, + int callable_id: @callable ref +); + +statementEnclosingExpr( + unique int id: @expr ref, + int statement_id: @stmt ref +); + +isParenthesized( + unique int id: @expr ref, + int parentheses: int ref +); + +case @expr.kind of + 1 = @arrayaccess +| 2 = @arraycreationexpr +| 3 = @arrayinit +| 4 = @assignexpr +| 5 = @assignaddexpr +| 6 = @assignsubexpr +| 7 = @assignmulexpr +| 8 = @assigndivexpr +| 9 = @assignremexpr +| 10 = @assignandexpr +| 11 = @assignorexpr +| 12 = @assignxorexpr +| 13 = @assignlshiftexpr +| 14 = @assignrshiftexpr +| 15 = @assignurshiftexpr +| 16 = @booleanliteral +| 17 = @integerliteral +| 18 = @longliteral +| 19 = @floatingpointliteral +| 20 = @doubleliteral +| 21 = @characterliteral +| 22 = @stringliteral +| 23 = @nullliteral +| 24 = @mulexpr +| 25 = @divexpr +| 26 = @remexpr +| 27 = @addexpr +| 28 = @subexpr +| 29 = @lshiftexpr +| 30 = @rshiftexpr +| 31 = @urshiftexpr +| 32 = @andbitexpr +| 33 = @orbitexpr +| 34 = @xorbitexpr +| 35 = @andlogicalexpr +| 36 = @orlogicalexpr +| 37 = @ltexpr +| 38 = @gtexpr +| 39 = @leexpr +| 40 = @geexpr +| 41 = @eqexpr +| 42 = @neexpr +| 43 = @postincexpr +| 44 = @postdecexpr +| 45 = @preincexpr +| 46 = @predecexpr +| 47 = @minusexpr +| 48 = @plusexpr +| 49 = @bitnotexpr +| 50 = @lognotexpr +| 51 = @castexpr +| 52 = @newexpr +| 53 = @conditionalexpr +| 54 = @parexpr // deprecated +| 55 = @instanceofexpr +| 56 = @localvariabledeclexpr +| 57 = @typeliteral +| 58 = @thisaccess +| 59 = @superaccess +| 60 = @varaccess +| 61 = @methodaccess +| 62 = @unannotatedtypeaccess +| 63 = @arraytypeaccess +| 64 = @packageaccess +| 65 = @wildcardtypeaccess +| 66 = @declannotation +| 67 = @uniontypeaccess +| 68 = @lambdaexpr +| 69 = @memberref +| 70 = @annotatedtypeaccess +| 71 = @typeannotation +| 72 = @intersectiontypeaccess +| 73 = @switchexpr +| 74 = @errorexpr +| 75 = @whenexpr +| 76 = @getclassexpr +| 77 = @safecastexpr +| 78 = @implicitcastexpr +| 79 = @implicitnotnullexpr +| 80 = @implicitcoerciontounitexpr +| 81 = @notinstanceofexpr +| 82 = @stmtexpr +| 83 = @stringtemplateexpr +| 84 = @notnullexpr +| 85 = @unsafecoerceexpr +| 86 = @valueeqexpr +| 87 = @valueneexpr +| 88 = @propertyref +; + +/** Holds if this `when` expression was written as an `if` expression. */ +when_if(unique int id: @whenexpr ref); + +/** Holds if this `when` branch was written as an `else` branch. */ +when_branch_else(unique int id: @whenbranch ref); + +@classinstancexpr = @newexpr | @lambdaexpr | @memberref | @propertyref + +@annotation = @declannotation | @typeannotation +@typeaccess = @unannotatedtypeaccess | @annotatedtypeaccess + +@assignment = @assignexpr + | @assignop; + +@unaryassignment = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr; + +@assignop = @assignaddexpr + | @assignsubexpr + | @assignmulexpr + | @assigndivexpr + | @assignremexpr + | @assignandexpr + | @assignorexpr + | @assignxorexpr + | @assignlshiftexpr + | @assignrshiftexpr + | @assignurshiftexpr; + +@literal = @booleanliteral + | @integerliteral + | @longliteral + | @floatingpointliteral + | @doubleliteral + | @characterliteral + | @stringliteral + | @nullliteral; + +@binaryexpr = @mulexpr + | @divexpr + | @remexpr + | @addexpr + | @subexpr + | @lshiftexpr + | @rshiftexpr + | @urshiftexpr + | @andbitexpr + | @orbitexpr + | @xorbitexpr + | @andlogicalexpr + | @orlogicalexpr + | @ltexpr + | @gtexpr + | @leexpr + | @geexpr + | @eqexpr + | @neexpr + | @valueeqexpr + | @valueneexpr; + +@unaryexpr = @postincexpr + | @postdecexpr + | @preincexpr + | @predecexpr + | @minusexpr + | @plusexpr + | @bitnotexpr + | @lognotexpr + | @notnullexpr; + +@caller = @classinstancexpr + | @methodaccess + | @constructorinvocationstmt + | @superconstructorinvocationstmt; + +callableBinding( + unique int callerid: @caller ref, + int callee: @callable ref +); + +memberRefBinding( + unique int id: @expr ref, + int callable: @callable ref +); + +propertyRefGetBinding( + unique int id: @expr ref, + int getter: @callable ref +); + +propertyRefFieldBinding( + unique int id: @expr ref, + int field: @field ref +); + +propertyRefSetBinding( + unique int id: @expr ref, + int setter: @callable ref +); + +@exprparent = @stmt | @expr | @whenbranch | @callable | @field | @fielddecl | @class | @interface | @param | @localvar | @typevariable; + +variableBinding( + unique int expr: @varaccess ref, + int variable: @variable ref +); + +@variable = @localscopevariable | @field; + +@localscopevariable = @localvar | @param; + +localvars( + unique int id: @localvar, + string nodeName: string ref, + int typeid: @type ref, + int parentid: @localvariabledeclexpr ref +); + +localvarsKotlinType( + unique int id: @localvar ref, + int kttypeid: @kt_type ref +); + +@namedexprorstmt = @breakstmt + | @continuestmt + | @labeledstmt + | @literal; + +namestrings( + string name: string ref, + string value: string ref, + unique int parent: @namedexprorstmt ref +); + +/* + * Modules + */ + +#keyset[name] +modules( + unique int id: @module, + string name: string ref +); + +isOpen( + int id: @module ref +); + +#keyset[fileId] +cumodule( + int fileId: @file ref, + int moduleId: @module ref +); + +@directive = @requires + | @exports + | @opens + | @uses + | @provides + +#keyset[directive] +directives( + int id: @module ref, + int directive: @directive ref +); + +requires( + unique int id: @requires, + int target: @module ref +); + +isTransitive( + int id: @requires ref +); + +isStatic( + int id: @requires ref +); + +exports( + unique int id: @exports, + int target: @package ref +); + +exportsTo( + int id: @exports ref, + int target: @module ref +); + +opens( + unique int id: @opens, + int target: @package ref +); + +opensTo( + int id: @opens ref, + int target: @module ref +); + +uses( + unique int id: @uses, + string serviceInterface: string ref +); + +provides( + unique int id: @provides, + string serviceInterface: string ref +); + +providesWith( + int id: @provides ref, + string serviceImpl: string ref +); + +/* + * Javadoc + */ + +javadoc( + unique int id: @javadoc +); + +isNormalComment( + int commentid : @javadoc ref +); + +isEolComment( + int commentid : @javadoc ref +); + +hasJavadoc( + int documentableid: @member ref, + int javadocid: @javadoc ref +); + +#keyset[parentid,idx] +javadocTag( + unique int id: @javadocTag, + string name: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +#keyset[parentid,idx] +javadocText( + unique int id: @javadocText, + string text: string ref, + int parentid: @javadocParent ref, + int idx: int ref +); + +@javadocParent = @javadoc | @javadocTag; +@javadocElement = @javadocTag | @javadocText; + +@classorinterface = @interface | @class; +@classorinterfaceorpackage = @classorinterface | @package; +@classorinterfaceorcallable = @classorinterface | @callable; +@boundedtype = @typevariable | @wildcard; +@reftype = @classorinterface | @array | @boundedtype | @errortype; +@classorarray = @class | @array; +@type = @primitive | @reftype; +@callable = @method | @constructor; + +/** A program element that has a name. */ +@element = @package | @modifier | @annotation | @errortype | + @locatableElement; + +@locatableElement = @file | @primitive | @class | @interface | @method | @constructor | @param | @exception | @field | + @boundedtype | @array | @localvar | @expr | @stmt | @import | @fielddecl | @kt_type | @kt_type_alias | + @kt_property; + +@modifiable = @member_modifiable| @param | @localvar ; + +@member_modifiable = @class | @interface | @method | @constructor | @field | @kt_property; + +@member = @method | @constructor | @field | @reftype ; + +/** A program element that has a location. */ +@locatable = @typebound | @javadoc | @javadocTag | @javadocText | @xmllocatable | @ktcomment | + @locatableElement; + +@top = @element | @locatable | @folder; + +/* + * XML Files + */ + +xmlEncoding( + unique int id: @file ref, + string encoding: string ref +); + +xmlDTDs( + unique int id: @xmldtd, + string root: string ref, + string publicId: string ref, + string systemId: string ref, + int fileid: @file ref +); + +xmlElements( + unique int id: @xmlelement, + string name: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int fileid: @file ref +); + +xmlAttrs( + unique int id: @xmlattribute, + int elementid: @xmlelement ref, + string name: string ref, + string value: string ref, + int idx: int ref, + int fileid: @file ref +); + +xmlNs( + int id: @xmlnamespace, + string prefixName: string ref, + string URI: string ref, + int fileid: @file ref +); + +xmlHasNs( + int elementId: @xmlnamespaceable ref, + int nsId: @xmlnamespace ref, + int fileid: @file ref +); + +xmlComments( + unique int id: @xmlcomment, + string text: string ref, + int parentid: @xmlparent ref, + int fileid: @file ref +); + +xmlChars( + unique int id: @xmlcharacters, + string text: string ref, + int parentid: @xmlparent ref, + int idx: int ref, + int isCDATA: int ref, + int fileid: @file ref +); + +@xmlparent = @file | @xmlelement; +@xmlnamespaceable = @xmlelement | @xmlattribute; + +xmllocations( + int xmlElement: @xmllocatable ref, + int location: @location_default ref +); + +@xmllocatable = @xmlcharacters | @xmlelement | @xmlcomment | @xmlattribute | @xmldtd | @file | @xmlnamespace; + +/* + * configuration files with key value pairs + */ + +configs( + unique int id: @config +); + +configNames( + unique int id: @configName, + int config: @config ref, + string name: string ref +); + +configValues( + unique int id: @configValue, + int config: @config ref, + string value: string ref +); + +configLocations( + int locatable: @configLocatable ref, + int location: @location_default ref +); + +@configLocatable = @config | @configName | @configValue; + +ktComments( + unique int id: @ktcomment, + int kind: int ref, + string text : string ref +) + +ktCommentSections( + unique int id: @ktcommentsection, + int comment: @ktcomment ref, + string content : string ref +) + +ktCommentSectionNames( + unique int id: @ktcommentsection ref, + string name : string ref +) + +ktCommentSectionSubjectNames( + unique int id: @ktcommentsection ref, + string subjectname : string ref +) + +#keyset[id, owner] +ktCommentOwners( + int id: @ktcomment ref, + int owner: @top ref +) + +ktExtensionFunctions( + unique int id: @method ref, + int typeid: @type ref, + int kttypeid: @kt_type ref +) + +ktProperties( + unique int id: @kt_property, + string nodeName: string ref +) + +ktPropertyGetters( + unique int id: @kt_property ref, + int getter: @method ref +) + +ktPropertySetters( + unique int id: @kt_property ref, + int setter: @method ref +) + +ktPropertyBackingFields( + unique int id: @kt_property ref, + int backingField: @field ref +) + +ktSyntheticBody( + unique int id: @callable ref, + int kind: int ref + // 1: ENUM_VALUES + // 2: ENUM_VALUEOF +) + +ktLocalFunction( + unique int id: @method ref +) + +ktInitializerAssignment( + unique int id: @assignexpr ref +) + +ktPropertyDelegates( + unique int id: @kt_property ref, + unique int variableId: @variable ref +) + +/** + * If `id` is a compiler generated element, then the kind indicates the + * reason that the compiler generated it. + * See `Element.compilerGeneratedReason()` for an explanation of what + * each `kind` means. + */ +compiler_generated( + unique int id: @element ref, + int kind: int ref +) + +ktFunctionOriginalNames( + unique int id: @method ref, + string name: string ref +) diff --git a/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/upgrade.properties b/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/upgrade.properties new file mode 100644 index 00000000000..25c651f591b --- /dev/null +++ b/java/ql/lib/upgrades/cf58c7d9b1fa1eae9cdc20ce8f157c140ac0c3de/upgrade.properties @@ -0,0 +1,2 @@ +description: Add errortype +compatibility: full diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index e3cc7e78471..33ae45fbb9f 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,25 @@ +## 0.3.1 + +## 0.3.0 + +### Breaking Changes + +* Contextual queries and the query libraries they depend on have been moved to the `codeql/java-all` package. + +### New Queries + +* A new query "Improper verification of intent by broadcast receiver" (`java/improper-intent-verification`) has been added. + This query finds instances of Android `BroadcastReceiver`s that don't verify the action string of received intents when registered + to receive system intents. + +## 0.2.0 + +### Minor Analysis Improvements + +* The query `java/log-injection` now reports problems at the source (user-controlled data) instead of at the ultimate logging call. This was changed because user functions that wrap the ultimate logging call could result in most alerts being reported in an uninformative location. + +## 0.1.4 + ## 0.1.3 ### New Queries diff --git a/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql b/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql index 8e107359dbb..8c2f7b1d6f8 100644 --- a/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql +++ b/java/ql/src/Likely Bugs/Cloning/MissingCallToSuperClone.ql @@ -20,5 +20,5 @@ where c.fromSource() and exists(sc.getBody()) and not exists(CloneMethod ssc | sc.callsSuper(ssc)) -select sc, "This clone method does not call super.clone(), but is " + "overridden and called $@.", - c, "in a subclass" +select sc, "This clone method does not call super.clone(), but is overridden and called $@.", c, + "in a subclass" diff --git a/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql b/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql index b34830c3537..52d790e0e71 100644 --- a/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql +++ b/java/ql/src/Likely Bugs/Collections/ContainsTypeMismatch.ql @@ -118,7 +118,7 @@ class MismatchedContainerAccess extends MethodAccess { containerAccess(package, type, p, this.getCallee().getSignature(), i) | t = this.getCallee().getDeclaringType() and - t.getAnAncestor().getSourceDeclaration() = g and + t.getASourceSupertype*().getSourceDeclaration() = g and g.hasQualifiedName(package, type) and indirectlyInstantiates(t, g, p, result) ) @@ -139,7 +139,7 @@ from MismatchedContainerAccess ma, RefType typearg, RefType argtype, int idx where typearg = ma.getReceiverElementType(idx).getSourceDeclaration() and argtype = ma.getArgumentType(idx) and - not haveIntersection(typearg, argtype) + notHaveIntersection(typearg, argtype) select ma.getArgument(idx), "Actual argument type '" + argtype.getName() + "'" + " is incompatible with expected argument type '" + typearg.getName() + "'." diff --git a/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql b/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql index 8fa467c2d8a..076ccc12240 100644 --- a/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql +++ b/java/ql/src/Likely Bugs/Collections/RemoveTypeMismatch.ql @@ -88,7 +88,7 @@ class MismatchedContainerModification extends MethodAccess { containerModification(package, type, p, this.getCallee().getSignature(), i) | t = this.getCallee().getDeclaringType() and - t.getAnAncestor().getSourceDeclaration() = g and + t.getASourceSupertype*().getSourceDeclaration() = g and g.hasQualifiedName(package, type) and indirectlyInstantiates(t, g, p, result) ) @@ -109,7 +109,7 @@ from MismatchedContainerModification ma, RefType elementtype, RefType argtype, i where elementtype = ma.getReceiverElementType(idx).getSourceDeclaration() and argtype = ma.getArgumentType(idx) and - not haveIntersection(elementtype, argtype) + notHaveIntersection(elementtype, argtype) select ma.getArgument(idx), "Actual argument type '" + argtype.getName() + "'" + " is incompatible with expected argument type '" + elementtype.getName() + "'." diff --git a/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql b/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql index c083c80c21d..d98fc77af38 100644 --- a/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql +++ b/java/ql/src/Likely Bugs/Comparison/IncomparableEquals.ql @@ -57,7 +57,7 @@ where else recvtp = ma.getMethod().getDeclaringType() ) and argtp = ma.getArgumentType() and - not haveIntersection(recvtp, argtp) + notHaveIntersection(recvtp, argtp) select ma, "Call to equals() comparing incomparable types " + recvtp.getName() + " and " + argtp.getName() + "." diff --git a/java/ql/src/Likely Bugs/Likely Typos/ConstructorTypo.ql b/java/ql/src/Likely Bugs/Likely Typos/ConstructorTypo.ql index 2682386d0bb..289513d8b0a 100644 --- a/java/ql/src/Likely Bugs/Likely Typos/ConstructorTypo.ql +++ b/java/ql/src/Likely Bugs/Likely Typos/ConstructorTypo.ql @@ -17,4 +17,4 @@ from Method m where m.hasName(m.getDeclaringType().getName()) and m.fromSource() -select m, "This method has the same name as its declaring class." + " Should it be a constructor?" +select m, "This method has the same name as its declaring class. Should it be a constructor?" diff --git a/java/ql/src/Likely Bugs/Serialization/NonSerializableField.ql b/java/ql/src/Likely Bugs/Serialization/NonSerializableField.ql index 131a5747f49..f79be48d2a2 100644 --- a/java/ql/src/Likely Bugs/Serialization/NonSerializableField.ql +++ b/java/ql/src/Likely Bugs/Serialization/NonSerializableField.ql @@ -96,5 +96,4 @@ where not exceptions(c, f) and reason = nonSerialReason(f.getType()) select f, - "This field is in a serializable class, " + " but is not serializable itself because " + reason + - "." + "This field is in a serializable class, but is not serializable itself because " + reason + "." diff --git a/java/ql/src/Security/CWE/CWE-022/TaintedPath.ql b/java/ql/src/Security/CWE/CWE-022/TaintedPath.ql index 306b835b98b..671e9b00b4d 100644 --- a/java/ql/src/Security/CWE/CWE-022/TaintedPath.ql +++ b/java/ql/src/Security/CWE/CWE-022/TaintedPath.ql @@ -15,6 +15,7 @@ import java import semmle.code.java.dataflow.FlowSources +private import semmle.code.java.dataflow.ExternalFlow import semmle.code.java.security.PathCreation import DataFlow::PathGraph import TaintedPathCommon @@ -34,7 +35,12 @@ class TaintedPathConfig extends TaintTracking::Configuration { override predicate isSource(DataFlow::Node source) { source instanceof RemoteFlowSource } override predicate isSink(DataFlow::Node sink) { - exists(Expr e | e = sink.asExpr() | e = any(PathCreation p).getAnInput() and not guarded(e)) + ( + sink.asExpr() = any(PathCreation p).getAnInput() + or + sinkNode(sink, "create-file") + ) and + not guarded(sink.asExpr()) } override predicate isSanitizer(DataFlow::Node node) { @@ -44,9 +50,21 @@ class TaintedPathConfig extends TaintTracking::Configuration { } } -from DataFlow::PathNode source, DataFlow::PathNode sink, PathCreation p, TaintedPathConfig conf -where - sink.getNode().asExpr() = p.getAnInput() and - conf.hasFlowPath(source, sink) -select p, source, sink, "$@ flows to here and is used in a path.", source.getNode(), - "User-provided value" +/** + * Gets the data-flow node at which to report a path ending at `sink`. + * + * Previously this query flagged alerts exclusively at `PathCreation` sites, + * so to avoid perturbing existing alerts, where a `PathCreation` exists we + * continue to report there; otherwise we report directly at `sink`. + */ +DataFlow::Node getReportingNode(DataFlow::Node sink) { + any(TaintedPathConfig c).hasFlowTo(sink) and + if exists(PathCreation pc | pc.getAnInput() = sink.asExpr()) + then result.asExpr() = any(PathCreation pc | pc.getAnInput() = sink.asExpr()) + else result = sink +} + +from DataFlow::PathNode source, DataFlow::PathNode sink, TaintedPathConfig conf +where conf.hasFlowPath(source, sink) +select getReportingNode(sink.getNode()), source, sink, "$@ flows to here and is used in a path.", + source.getNode(), "User-provided value" diff --git a/java/ql/src/Security/CWE/CWE-117/LogInjection.ql b/java/ql/src/Security/CWE/CWE-117/LogInjection.ql index 147b85b2102..be4144fea0b 100644 --- a/java/ql/src/Security/CWE/CWE-117/LogInjection.ql +++ b/java/ql/src/Security/CWE/CWE-117/LogInjection.ql @@ -17,5 +17,5 @@ import DataFlow::PathGraph from LogInjectionConfiguration cfg, DataFlow::PathNode source, DataFlow::PathNode sink where cfg.hasFlowPath(source, sink) -select sink.getNode(), source, sink, "This $@ flows to a log entry.", source.getNode(), - "user-provided value" +select source.getNode(), source, sink, "This user-provided value flows to a $@.", sink.getNode(), + "log entry" diff --git a/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.java b/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.java new file mode 100644 index 00000000000..358800c5746 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.java @@ -0,0 +1,22 @@ +class Bad extends WebViewClient { + // BAD: All certificates are trusted. + public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { // $hasResult + handler.proceed(); + } +} + +class Good extends WebViewClient { + PublicKey myPubKey = ...; + + // GOOD: Only certificates signed by a certain public key are trusted. + public void onReceivedSslError (WebView view, SslErrorHandler handler, SslError error) { // $hasResult + try { + X509Certificate cert = error.getCertificate().getX509Certificate(); + cert.verify(this.myPubKey); + handler.proceed(); + } + catch (CertificateException|NoSuchAlgorithmException|InvalidKeyException|NoSuchProviderException|SignatureException e) { + handler.cancel(); + } + } +} \ No newline at end of file diff --git a/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.qhelp b/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.qhelp new file mode 100644 index 00000000000..2a8d3b58a4c --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.qhelp @@ -0,0 +1,46 @@ + + + +

    +If the onReceivedSslError method of an Android WebViewClient always calls proceed on the given SslErrorHandler, it trusts any certificate. +This allows an attacker to perform a machine-in-the-middle attack against the application, therefore breaking any security Transport Layer Security (TLS) gives. +

    + +

    +An attack might look like this: +

    + +
      +
    1. The vulnerable application connects to https://example.com.
    2. +
    3. The attacker intercepts this connection and presents a valid, self-signed certificate for https://example.com.
    4. +
    5. The vulnerable application calls the onReceivedSslError method to check whether it should trust the certificate.
    6. +
    7. The onReceivedSslError method of your WebViewClient calls SslErrorHandler.proceed.
    8. +
    9. The vulnerable application accepts the certificate and proceeds with the connection since your WevViewClient trusted it by proceeding.
    10. +
    11. The attacker can now read the data your application sends to https://example.com and/or alter its replies while the application thinks the connection is secure.
    12. +
    +
    + + +

    +Do not use a call SslerrorHandler.proceed unconditionally. +If you have to use a self-signed certificate, only accept that certificate, not all certificates. +

    + +
    + + +

    +In the first (bad) example, the WebViewClient trusts all certificates by always calling SslErrorHandler.proceed. +In the second (good) example, only certificates signed by a certain public key are accepted. +

    + +
    + + +
  • +WebViewClient.onReceivedSslError documentation. +
  • +
    +
    diff --git a/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.ql b/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.ql new file mode 100644 index 00000000000..aac3a99be4c --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-295/ImproperWebViewCertificateValidation.ql @@ -0,0 +1,18 @@ +/** + * @name Android `WebView` that accepts all certificates + * @description Trusting all certificates allows an attacker to perform a machine-in-the-middle attack. + * @kind problem + * @problem.severity error + * @security-severity 7.5 + * @precision high + * @id java/improper-webview-certificate-validation + * @tags security + * external/cwe/cwe-295 + */ + +import java +import semmle.code.java.security.AndroidWebViewCertificateValidationQuery + +from OnReceivedSslErrorMethod m +where trustsAllCerts(m) +select m, "This handler accepts all SSL certificates." diff --git a/java/ql/src/Security/CWE/CWE-925/AndroidManifest.xml b/java/ql/src/Security/CWE/CWE-925/AndroidManifest.xml new file mode 100644 index 00000000000..f9e11a1ee81 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-925/AndroidManifest.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/java/ql/src/Security/CWE/CWE-925/Bad.java b/java/ql/src/Security/CWE/CWE-925/Bad.java new file mode 100644 index 00000000000..376805f824e --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-925/Bad.java @@ -0,0 +1,7 @@ +public class ShutdownReceiver extends BroadcastReceiver { + @Override + public void onReceive(final Context context, final Intent intent) { + mainActivity.saveLocalData(); + mainActivity.stopActivity(); + } +} \ No newline at end of file diff --git a/java/ql/src/Security/CWE/CWE-925/Good.java b/java/ql/src/Security/CWE/CWE-925/Good.java new file mode 100644 index 00000000000..b6ad1c43193 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-925/Good.java @@ -0,0 +1,10 @@ +public class ShutdownReceiver extends BroadcastReceiver { + @Override + public void onReceive(final Context context, final Intent intent) { + if (!intent.getAction().equals(Intent.ACTION_SHUTDOWN)) { + return; + } + mainActivity.saveLocalData(); + mainActivity.stopActivity(); + } +} \ No newline at end of file diff --git a/java/ql/src/Security/CWE/CWE-925/ImproperIntentVerification.qhelp b/java/ql/src/Security/CWE/CWE-925/ImproperIntentVerification.qhelp new file mode 100644 index 00000000000..e489e411379 --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-925/ImproperIntentVerification.qhelp @@ -0,0 +1,40 @@ + + + + + +

    +When an Android application uses a BroadcastReceiver to receive intents, +it is also able to receive explicit intents that are sent directly to it, regardless of its filter. + +Certain intent actions are only able to be sent by the operating system, not third-party applications. +However, a BroadcastReceiver that is registered to receive system intents is still able to receive +intents from a third-party application, so it should check that the intent received has the expected action. +Otherwise, a third-party application could impersonate the system this way to cause unintended behavior, such as a denial of service. +

    +
    + + +

    In the following code, the ShutdownReceiver initiates a shutdown procedure upon receiving an intent, + without checking that the received action is indeed ACTION_SHUTDOWN. This allows third-party applications to + send explicit intents to this receiver to cause a denial of service.

    + + +
    + + +

    +In the onReceive method of a BroadcastReciever, the action of the received Intent should be checked. The following code demonstrates this. +

    + +
    + + + + + + + +
    diff --git a/java/ql/src/Security/CWE/CWE-925/ImproperIntentVerification.ql b/java/ql/src/Security/CWE/CWE-925/ImproperIntentVerification.ql new file mode 100644 index 00000000000..51c54e288ac --- /dev/null +++ b/java/ql/src/Security/CWE/CWE-925/ImproperIntentVerification.ql @@ -0,0 +1,19 @@ +/** + * @name Improper verification of intent by broadcast receiver + * @description A broadcast receiver that does not verify intents it receives may be susceptible to unintended behavior by third party applications sending it explicit intents. + * @kind problem + * @problem.severity warning + * @security-severity 8.2 + * @precision high + * @id java/improper-intent-verification + * @tags security + * external/cwe/cwe-925 + */ + +import java +import semmle.code.java.security.ImproperIntentVerificationQuery + +from AndroidReceiverXmlElement reg, Method orm, SystemActionName sa +where unverifiedSystemReceiver(reg, orm, sa) +select orm, "This reciever doesn't verify intents it receives, and is registered $@ to receive $@.", + reg, "here", sa, "the system action " + sa.getName() diff --git a/java/ql/src/Telemetry/ExternalApi.qll b/java/ql/src/Telemetry/ExternalApi.qll index b989d1d4228..b839ca15c6d 100644 --- a/java/ql/src/Telemetry/ExternalApi.qll +++ b/java/ql/src/Telemetry/ExternalApi.qll @@ -98,3 +98,36 @@ class ExternalApi extends Callable { /** DEPRECATED: Alias for ExternalApi */ deprecated class ExternalAPI = ExternalApi; + +/** + * Gets the limit for the number of results produced by a telemetry query. + */ +int resultLimit() { result = 1000 } + +/** + * Holds if the relevant usage count of `api` is `usages`. + */ +signature predicate relevantUsagesSig(ExternalApi api, int usages); + +/** + * Given a predicate to count relevant API usages, this module provides a predicate + * for restricting the number or returned results based on a certain limit. + */ +module Results { + private int getOrder(ExternalApi api) { + api = + rank[result](ExternalApi a, int usages | + getRelevantUsages(a, usages) + | + a order by usages desc, a.getApiName() + ) + } + + /** + * Holds if `api` is being used `usages` times and if it is + * in the top results (guarded by resultLimit). + */ + predicate restrict(ExternalApi api, int usages) { + getRelevantUsages(api, usages) and getOrder(api) <= resultLimit() + } +} diff --git a/java/ql/src/Telemetry/ExternalLibraryUsage.ql b/java/ql/src/Telemetry/ExternalLibraryUsage.ql index a2742107572..bf63b91d02a 100644 --- a/java/ql/src/Telemetry/ExternalLibraryUsage.ql +++ b/java/ql/src/Telemetry/ExternalLibraryUsage.ql @@ -9,8 +9,7 @@ import java import ExternalApi -from int usages, string jarname -where +private predicate getRelevantUsages(string jarname, int usages) { usages = strictcount(Call c, ExternalApi a | c.getCallee().getSourceDeclaration() = a and @@ -18,4 +17,20 @@ where a.jarContainer() = jarname and not a.isUninteresting() ) +} + +private int getOrder(string jarname) { + jarname = + rank[result](string jar, int usages | + getRelevantUsages(jar, usages) + | + jar order by usages desc, jar + ) +} + +from ExternalApi api, string jarname, int usages +where + jarname = api.jarContainer() and + getRelevantUsages(jarname, usages) and + getOrder(jarname) <= resultLimit() select jarname, usages order by usages desc diff --git a/java/ql/src/Telemetry/SupportedExternalSinks.ql b/java/ql/src/Telemetry/SupportedExternalSinks.ql index 665f6877cb3..26bdc4a4ba3 100644 --- a/java/ql/src/Telemetry/SupportedExternalSinks.ql +++ b/java/ql/src/Telemetry/SupportedExternalSinks.ql @@ -8,10 +8,8 @@ import java import ExternalApi -import semmle.code.java.GeneratedFiles -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and api.isSink() and usages = @@ -19,4 +17,8 @@ where c.getCallee().getSourceDeclaration() = api and not c.getFile() instanceof GeneratedFile ) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getApiName() as apiname, usages order by usages desc diff --git a/java/ql/src/Telemetry/SupportedExternalSources.ql b/java/ql/src/Telemetry/SupportedExternalSources.ql index ecc00d84590..3708e6ffbdb 100644 --- a/java/ql/src/Telemetry/SupportedExternalSources.ql +++ b/java/ql/src/Telemetry/SupportedExternalSources.ql @@ -8,10 +8,8 @@ import java import ExternalApi -import semmle.code.java.GeneratedFiles -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and api.isSource() and usages = @@ -19,4 +17,8 @@ where c.getCallee().getSourceDeclaration() = api and not c.getFile() instanceof GeneratedFile ) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getApiName() as apiname, usages order by usages desc diff --git a/java/ql/src/Telemetry/SupportedExternalTaint.ql b/java/ql/src/Telemetry/SupportedExternalTaint.ql index e1722142114..f6e651204cf 100644 --- a/java/ql/src/Telemetry/SupportedExternalTaint.ql +++ b/java/ql/src/Telemetry/SupportedExternalTaint.ql @@ -8,10 +8,8 @@ import java import ExternalApi -import semmle.code.java.GeneratedFiles -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and api.hasSummary() and usages = @@ -19,4 +17,8 @@ where c.getCallee().getSourceDeclaration() = api and not c.getFile() instanceof GeneratedFile ) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getApiName() as apiname, usages order by usages desc diff --git a/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql b/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql index 3aefd85b5a1..c5c332a356a 100644 --- a/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql +++ b/java/ql/src/Telemetry/UnsupportedExternalAPIs.ql @@ -8,10 +8,8 @@ import java import ExternalApi -import semmle.code.java.GeneratedFiles -from ExternalApi api, int usages -where +private predicate getRelevantUsages(ExternalApi api, int usages) { not api.isUninteresting() and not api.isSupported() and usages = @@ -19,4 +17,8 @@ where c.getCallee().getSourceDeclaration() = api and not c.getFile() instanceof GeneratedFile ) +} + +from ExternalApi api, int usages +where Results::restrict(api, usages) select api.getApiName() as apiname, usages order by usages desc diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql index 726c2453f65..e3ac1384243 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/ConfusingOverloading.ql @@ -60,13 +60,43 @@ private predicate candidateMethod(RefType t, Method m, string name, int numParam not whitelist(name) } -pragma[inline] -private predicate potentiallyConfusingTypes(Type a, Type b) { - exists(RefType commonSubtype | hasSubtypeOrInstantiation*(a, commonSubtype) | - hasSubtypeOrInstantiation*(b, commonSubtype) +predicate paramTypePair(Type t1, Type t2) { + exists(Method n, Method m, int i | + overloadedMethodsMostSpecific(n, m) and + t1 = n.getParameterType(i) and + t2 = m.getParameterType(i) ) +} + +// handle simple cases separately +predicate potentiallyConfusingTypesSimple(Type t1, Type t2) { + paramTypePair(t1, t2) and + ( + t1 = t2 + or + t1 instanceof TypeObject and t2 instanceof RefType + or + t2 instanceof TypeObject and t1 instanceof RefType + or + confusingPrimitiveBoxedTypes(t1, t2) + ) +} + +// check erased types first +predicate potentiallyConfusingTypesRefTypes(RefType t1, RefType t2) { + paramTypePair(t1, t2) and + not potentiallyConfusingTypesSimple(t1, t2) and + haveIntersection(t1, t2) +} + +// then check hasSubtypeOrInstantiation +predicate potentiallyConfusingTypes(Type t1, Type t2) { + potentiallyConfusingTypesSimple(t1, t2) or - confusingPrimitiveBoxedTypes(a, b) + potentiallyConfusingTypesRefTypes(t1, t2) and + exists(RefType commonSubtype | hasSubtypeOrInstantiation*(t1, commonSubtype) | + hasSubtypeOrInstantiation*(t2, commonSubtype) + ) } private predicate hasSubtypeOrInstantiation(RefType t, RefType sub) { diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql b/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql index 79f5f2cf473..a9f99658f94 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/SameNameAsSuper.ql @@ -16,5 +16,5 @@ from RefType sub, RefType sup where sub.fromSource() and sup = sub.getASupertype() and - sub.getName() = sup.getName() + pragma[only_bind_out](sub.getName()) = pragma[only_bind_out](sup.getName()) select sub, sub.getName() + " has the same name as its supertype $@.", sup, sup.getQualifiedName() diff --git a/java/ql/src/Violations of Best Practice/Naming Conventions/Shadowing.qll b/java/ql/src/Violations of Best Practice/Naming Conventions/Shadowing.qll index 1dd17a8e734..0451956977e 100644 --- a/java/ql/src/Violations of Best Practice/Naming Conventions/Shadowing.qll +++ b/java/ql/src/Violations of Best Practice/Naming Conventions/Shadowing.qll @@ -20,13 +20,21 @@ predicate setterFor(Method m, Field f) { predicate shadows(LocalVariableDecl d, Class c, Field f, Callable method) { d.getCallable() = method and method.getDeclaringType() = c and - c.getAField() = f and - f.getName() = d.getName() and - f.getType() = d.getType() and - not d.getCallable().isStatic() and + f = getField(c, d.getName(), d.getType()) and + not method.isStatic() and not f.isStatic() } +/** + * Gets the field with the given name and type from the given class, if any. + */ +pragma[nomagic] +private Field getField(Class c, string name, Type t) { + result.getDeclaringType() = c and + result.getName() = name and + result.getType() = t +} + predicate thisAccess(LocalVariableDecl d, Field f) { shadows(d, _, f, _) and exists(VarAccess va | va.getVariable().(Field).getSourceDeclaration() = f | diff --git a/java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md b/java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md new file mode 100644 index 00000000000..3e80487d772 --- /dev/null +++ b/java/ql/src/change-notes/2022-06-22-improper-webview-certificate-validation.md @@ -0,0 +1,4 @@ +--- +category: newQuery +--- +* A new query "Android `WebView` that accepts all certificates" (`java/improper-webview-certificate-validation`) has been added. This query finds implementations of `WebViewClient`s that accept all certificates in the case of an SSL error. \ No newline at end of file diff --git a/java/ql/src/change-notes/2022-08-03-tainted-path-mad.md b/java/ql/src/change-notes/2022-08-03-tainted-path-mad.md new file mode 100644 index 00000000000..6f70a8f69e1 --- /dev/null +++ b/java/ql/src/change-notes/2022-08-03-tainted-path-mad.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The query `java/path-injection` now recognises vulnerable APIs defined using the `SinkModelCsv` class with the `create-file` type. Out of the box this includes Apache Commons-IO functions, as well as any user-defined sinks. diff --git a/java/ql/src/change-notes/released/0.1.4.md b/java/ql/src/change-notes/released/0.1.4.md new file mode 100644 index 00000000000..49899666aec --- /dev/null +++ b/java/ql/src/change-notes/released/0.1.4.md @@ -0,0 +1 @@ +## 0.1.4 diff --git a/java/ql/src/change-notes/released/0.2.0.md b/java/ql/src/change-notes/released/0.2.0.md new file mode 100644 index 00000000000..2deabd93b15 --- /dev/null +++ b/java/ql/src/change-notes/released/0.2.0.md @@ -0,0 +1,5 @@ +## 0.2.0 + +### Minor Analysis Improvements + +* The query `java/log-injection` now reports problems at the source (user-controlled data) instead of at the ultimate logging call. This was changed because user functions that wrap the ultimate logging call could result in most alerts being reported in an uninformative location. diff --git a/java/ql/src/change-notes/released/0.3.0.md b/java/ql/src/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..d91c653a471 --- /dev/null +++ b/java/ql/src/change-notes/released/0.3.0.md @@ -0,0 +1,11 @@ +## 0.3.0 + +### Breaking Changes + +* Contextual queries and the query libraries they depend on have been moved to the `codeql/java-all` package. + +### New Queries + +* A new query "Improper verification of intent by broadcast receiver" (`java/improper-intent-verification`) has been added. + This query finds instances of Android `BroadcastReceiver`s that don't verify the action string of received intents when registered + to receive system intents. diff --git a/java/ql/src/change-notes/released/0.3.1.md b/java/ql/src/change-notes/released/0.3.1.md new file mode 100644 index 00000000000..2b0719929a1 --- /dev/null +++ b/java/ql/src/change-notes/released/0.3.1.md @@ -0,0 +1 @@ +## 0.3.1 diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index b79d8f9d00a..bb106b1cb63 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.3 +lastReleaseVersion: 0.3.1 diff --git a/java/ql/src/experimental/Security/CWE/CWE-020/Log4jJndiInjection.ql b/java/ql/src/experimental/Security/CWE/CWE-020/Log4jJndiInjection.ql index a4e3681f73e..a48cba9894c 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-020/Log4jJndiInjection.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-020/Log4jJndiInjection.ql @@ -27,124 +27,137 @@ private class Log4jLoggingSinkModels extends SinkModelCsv { "org.apache.logging.log4j;Logger;true;" + ["debug", "error", "fatal", "info", "trace", "warn"] + [ - ";(CharSequence);;Argument[0];log4j", ";(CharSequence,Throwable);;Argument[0];log4j", - ";(Marker,CharSequence);;Argument[1];log4j", - ";(Marker,CharSequence,Throwable);;Argument[1];log4j", - ";(Marker,Message);;Argument[1];log4j", ";(Marker,MessageSupplier);;Argument[1];log4j", - ";(Marker,MessageSupplier);;Argument[1];log4j", - ";(Marker,MessageSupplier,Throwable);;Argument[1];log4j", - ";(Marker,Object);;Argument[1];log4j", ";(Marker,Object,Throwable);;Argument[1];log4j", - ";(Marker,String);;Argument[1];log4j", - ";(Marker,String,Object[]);;Argument[1..2];log4j", - ";(Marker,String,Object);;Argument[1..2];log4j", - ";(Marker,String,Object,Object);;Argument[1..3];log4j", - ";(Marker,String,Object,Object,Object);;Argument[1..4];log4j", - ";(Marker,String,Object,Object,Object,Object);;Argument[1..5];log4j", - ";(Marker,String,Object,Object,Object,Object,Object);;Argument[1..6];log4j", - ";(Marker,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];log4j", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];log4j", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];log4j", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];log4j", - ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];log4j", - ";(Marker,String,Supplier);;Argument[1..2];log4j", - ";(Marker,String,Throwable);;Argument[1];log4j", - ";(Marker,Supplier);;Argument[1];log4j", - ";(Marker,Supplier,Throwable);;Argument[1];log4j", - ";(MessageSupplier);;Argument[0];log4j", - ";(MessageSupplier,Throwable);;Argument[0];log4j", ";(Message);;Argument[0];log4j", - ";(Message,Throwable);;Argument[0];log4j", ";(Object);;Argument[0];log4j", - ";(Object,Throwable);;Argument[0];log4j", ";(String);;Argument[0];log4j", - ";(String,Object[]);;Argument[0..1];log4j", ";(String,Object);;Argument[0..1];log4j", - ";(String,Object,Object);;Argument[0..2];log4j", - ";(String,Object,Object,Object);;Argument[0..3];log4j", - ";(String,Object,Object,Object,Object);;Argument[0..4];log4j", - ";(String,Object,Object,Object,Object,Object);;Argument[0..5];log4j", - ";(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];log4j", - ";(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];log4j", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];log4j", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];log4j", - ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];log4j", - ";(String,Supplier);;Argument[0..1];log4j", ";(String,Throwable);;Argument[0];log4j", - ";(Supplier);;Argument[0];log4j", ";(Supplier,Throwable);;Argument[0];log4j" + ";(CharSequence);;Argument[0];log4j;manual", + ";(CharSequence,Throwable);;Argument[0];log4j;manual", + ";(Marker,CharSequence);;Argument[1];log4j;manual", + ";(Marker,CharSequence,Throwable);;Argument[1];log4j;manual", + ";(Marker,Message);;Argument[1];log4j;manual", + ";(Marker,MessageSupplier);;Argument[1];log4j;manual", + ";(Marker,MessageSupplier);;Argument[1];log4j;manual", + ";(Marker,MessageSupplier,Throwable);;Argument[1];log4j;manual", + ";(Marker,Object);;Argument[1];log4j;manual", + ";(Marker,Object,Throwable);;Argument[1];log4j;manual", + ";(Marker,String);;Argument[1];log4j;manual", + ";(Marker,String,Object[]);;Argument[1..2];log4j;manual", + ";(Marker,String,Object);;Argument[1..2];log4j;manual", + ";(Marker,String,Object,Object);;Argument[1..3];log4j;manual", + ";(Marker,String,Object,Object,Object);;Argument[1..4];log4j;manual", + ";(Marker,String,Object,Object,Object,Object);;Argument[1..5];log4j;manual", + ";(Marker,String,Object,Object,Object,Object,Object);;Argument[1..6];log4j;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];log4j;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];log4j;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];log4j;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];log4j;manual", + ";(Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];log4j;manual", + ";(Marker,String,Supplier);;Argument[1..2];log4j;manual", + ";(Marker,String,Throwable);;Argument[1];log4j;manual", + ";(Marker,Supplier);;Argument[1];log4j;manual", + ";(Marker,Supplier,Throwable);;Argument[1];log4j;manual", + ";(MessageSupplier);;Argument[0];log4j;manual", + ";(MessageSupplier,Throwable);;Argument[0];log4j;manual", + ";(Message);;Argument[0];log4j;manual", + ";(Message,Throwable);;Argument[0];log4j;manual", ";(Object);;Argument[0];log4j;manual", + ";(Object,Throwable);;Argument[0];log4j;manual", ";(String);;Argument[0];log4j;manual", + ";(String,Object[]);;Argument[0..1];log4j;manual", + ";(String,Object);;Argument[0..1];log4j;manual", + ";(String,Object,Object);;Argument[0..2];log4j;manual", + ";(String,Object,Object,Object);;Argument[0..3];log4j;manual", + ";(String,Object,Object,Object,Object);;Argument[0..4];log4j;manual", + ";(String,Object,Object,Object,Object,Object);;Argument[0..5];log4j;manual", + ";(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];log4j;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];log4j;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];log4j;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];log4j;manual", + ";(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];log4j;manual", + ";(String,Supplier);;Argument[0..1];log4j;manual", + ";(String,Throwable);;Argument[0];log4j;manual", + ";(Supplier);;Argument[0];log4j;manual", + ";(Supplier,Throwable);;Argument[0];log4j;manual" ], "org.apache.logging.log4j;Logger;true;log" + [ - ";(Level,CharSequence);;Argument[1];log4j", - ";(Level,CharSequence,Throwable);;Argument[1];log4j", - ";(Level,Marker,CharSequence);;Argument[2];log4j", - ";(Level,Marker,CharSequence,Throwable);;Argument[2];log4j", - ";(Level,Marker,Message);;Argument[2];log4j", - ";(Level,Marker,MessageSupplier);;Argument[2];log4j", - ";(Level,Marker,MessageSupplier);;Argument[2];log4j", - ";(Level,Marker,MessageSupplier,Throwable);;Argument[2];log4j", - ";(Level,Marker,Object);;Argument[2];log4j", - ";(Level,Marker,Object,Throwable);;Argument[2];log4j", - ";(Level,Marker,String);;Argument[2];log4j", - ";(Level,Marker,String,Object[]);;Argument[2..3];log4j", - ";(Level,Marker,String,Object);;Argument[2..3];log4j", - ";(Level,Marker,String,Object,Object);;Argument[2..4];log4j", - ";(Level,Marker,String,Object,Object,Object);;Argument[2..5];log4j", - ";(Level,Marker,String,Object,Object,Object,Object);;Argument[2..6];log4j", - ";(Level,Marker,String,Object,Object,Object,Object,Object);;Argument[2..7];log4j", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object);;Argument[2..8];log4j", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[2..9];log4j", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..10];log4j", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..11];log4j", - ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..12];log4j", - ";(Level,Marker,String,Supplier);;Argument[2..3];log4j", - ";(Level,Marker,String,Throwable);;Argument[2];log4j", - ";(Level,Marker,Supplier);;Argument[2];log4j", - ";(Level,Marker,Supplier,Throwable);;Argument[2];log4j", - ";(Level,Message);;Argument[1];log4j", ";(Level,MessageSupplier);;Argument[1];log4j", - ";(Level,MessageSupplier,Throwable);;Argument[1];log4j", - ";(Level,Message);;Argument[1];log4j", ";(Level,Message,Throwable);;Argument[1];log4j", - ";(Level,Object);;Argument[1];log4j", ";(Level,Object);;Argument[1];log4j", - ";(Level,String);;Argument[1];log4j", ";(Level,Object,Throwable);;Argument[1];log4j", - ";(Level,String);;Argument[1];log4j", ";(Level,String,Object[]);;Argument[1..2];log4j", - ";(Level,String,Object);;Argument[1..2];log4j", - ";(Level,String,Object,Object);;Argument[1..3];log4j", - ";(Level,String,Object,Object,Object);;Argument[1..4];log4j", - ";(Level,String,Object,Object,Object,Object);;Argument[1..5];log4j", - ";(Level,String,Object,Object,Object,Object,Object);;Argument[1..6];log4j", - ";(Level,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];log4j", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];log4j", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];log4j", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];log4j", - ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];log4j", - ";(Level,String,Supplier);;Argument[1..2];log4j", - ";(Level,String,Throwable);;Argument[1];log4j", ";(Level,Supplier);;Argument[1];log4j", - ";(Level,Supplier,Throwable);;Argument[1];log4j" - ], "org.apache.logging.log4j;Logger;true;entry;(Object[]);;Argument[0];log4j", - "org.apache.logging.log4j;Logger;true;logMessage;(Level,Marker,String,StackTraceElement,Message,Throwable);;Argument[4];log4j", - "org.apache.logging.log4j;Logger;true;printf;(Level,Marker,String,Object[]);;Argument[2..3];log4j", - "org.apache.logging.log4j;Logger;true;printf;(Level,String,Object[]);;Argument[1..2];log4j", + ";(Level,CharSequence);;Argument[1];log4j;manual", + ";(Level,CharSequence,Throwable);;Argument[1];log4j;manual", + ";(Level,Marker,CharSequence);;Argument[2];log4j;manual", + ";(Level,Marker,CharSequence,Throwable);;Argument[2];log4j;manual", + ";(Level,Marker,Message);;Argument[2];log4j;manual", + ";(Level,Marker,MessageSupplier);;Argument[2];log4j;manual", + ";(Level,Marker,MessageSupplier);;Argument[2];log4j;manual", + ";(Level,Marker,MessageSupplier,Throwable);;Argument[2];log4j;manual", + ";(Level,Marker,Object);;Argument[2];log4j;manual", + ";(Level,Marker,Object,Throwable);;Argument[2];log4j;manual", + ";(Level,Marker,String);;Argument[2];log4j;manual", + ";(Level,Marker,String,Object[]);;Argument[2..3];log4j;manual", + ";(Level,Marker,String,Object);;Argument[2..3];log4j;manual", + ";(Level,Marker,String,Object,Object);;Argument[2..4];log4j;manual", + ";(Level,Marker,String,Object,Object,Object);;Argument[2..5];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object);;Argument[2..6];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object);;Argument[2..7];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object);;Argument[2..8];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object);;Argument[2..9];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..10];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..11];log4j;manual", + ";(Level,Marker,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[2..12];log4j;manual", + ";(Level,Marker,String,Supplier);;Argument[2..3];log4j;manual", + ";(Level,Marker,String,Throwable);;Argument[2];log4j;manual", + ";(Level,Marker,Supplier);;Argument[2];log4j;manual", + ";(Level,Marker,Supplier,Throwable);;Argument[2];log4j;manual", + ";(Level,Message);;Argument[1];log4j;manual", + ";(Level,MessageSupplier);;Argument[1];log4j;manual", + ";(Level,MessageSupplier,Throwable);;Argument[1];log4j;manual", + ";(Level,Message);;Argument[1];log4j;manual", + ";(Level,Message,Throwable);;Argument[1];log4j;manual", + ";(Level,Object);;Argument[1];log4j;manual", + ";(Level,Object);;Argument[1];log4j;manual", + ";(Level,String);;Argument[1];log4j;manual", + ";(Level,Object,Throwable);;Argument[1];log4j;manual", + ";(Level,String);;Argument[1];log4j;manual", + ";(Level,String,Object[]);;Argument[1..2];log4j;manual", + ";(Level,String,Object);;Argument[1..2];log4j;manual", + ";(Level,String,Object,Object);;Argument[1..3];log4j;manual", + ";(Level,String,Object,Object,Object);;Argument[1..4];log4j;manual", + ";(Level,String,Object,Object,Object,Object);;Argument[1..5];log4j;manual", + ";(Level,String,Object,Object,Object,Object,Object);;Argument[1..6];log4j;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object);;Argument[1..7];log4j;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object);;Argument[1..8];log4j;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..9];log4j;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..10];log4j;manual", + ";(Level,String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[1..11];log4j;manual", + ";(Level,String,Supplier);;Argument[1..2];log4j;manual", + ";(Level,String,Throwable);;Argument[1];log4j;manual", + ";(Level,Supplier);;Argument[1];log4j;manual", + ";(Level,Supplier,Throwable);;Argument[1];log4j;manual" + ], "org.apache.logging.log4j;Logger;true;entry;(Object[]);;Argument[0];log4j;manual", + "org.apache.logging.log4j;Logger;true;logMessage;(Level,Marker,String,StackTraceElement,Message,Throwable);;Argument[4];log4j;manual", + "org.apache.logging.log4j;Logger;true;printf;(Level,Marker,String,Object[]);;Argument[2..3];log4j;manual", + "org.apache.logging.log4j;Logger;true;printf;(Level,String,Object[]);;Argument[1..2];log4j;manual", // org.apache.logging.log4j.LogBuilder - "org.apache.logging.log4j;LogBuilder;true;log;(CharSequence);;Argument[0];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(Message);;Argument[0];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(Object);;Argument[0];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String);;Argument[0];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object[]);;Argument[0..1];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object);;Argument[0..1];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object);;Argument[0..2];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object);;Argument[0..3];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object);;Argument[0..4];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object);;Argument[0..5];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(String,Supplier[]);;Argument[0..1];log4j", - "org.apache.logging.log4j;LogBuilder;true;log;(Supplier);;Argument[0];log4j", + "org.apache.logging.log4j;LogBuilder;true;log;(CharSequence);;Argument[0];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(Message);;Argument[0];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(Object);;Argument[0];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String);;Argument[0];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object[]);;Argument[0..1];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object);;Argument[0..1];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object);;Argument[0..2];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object);;Argument[0..3];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object);;Argument[0..4];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object);;Argument[0..5];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object);;Argument[0..6];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object);;Argument[0..7];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..8];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..9];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Object,Object,Object,Object,Object,Object,Object,Object,Object,Object);;Argument[0..10];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(String,Supplier[]);;Argument[0..1];log4j;manual", + "org.apache.logging.log4j;LogBuilder;true;log;(Supplier);;Argument[0];log4j;manual", // org.apache.logging.log4j.ThreadContext - "org.apache.logging.log4j;ThreadContext;false;put;;;Argument[1];log4j", - "org.apache.logging.log4j;ThreadContext;false;putIfNull;;;Argument[1];log4j", - "org.apache.logging.log4j;ThreadContext;false;putAll;;;Argument[0];log4j", + "org.apache.logging.log4j;ThreadContext;false;put;;;Argument[1];log4j;manual", + "org.apache.logging.log4j;ThreadContext;false;putIfNull;;;Argument[1];log4j;manual", + "org.apache.logging.log4j;ThreadContext;false;putAll;;;Argument[0];log4j;manual", // org.apache.logging.log4j.CloseableThreadContext - "org.apache.logging.log4j;CloseableThreadContext;false;put;;;Argument[1];log4j", - "org.apache.logging.log4j;CloseableThreadContext;false;putAll;;;Argument[0];log4j", - "org.apache.logging.log4j;CloseableThreadContext$Instance;false;put;;;Argument[1];log4j", - "org.apache.logging.log4j;CloseableThreadContext$Instance;false;putAll;;;Argument[0];log4j", + "org.apache.logging.log4j;CloseableThreadContext;false;put;;;Argument[1];log4j;manual", + "org.apache.logging.log4j;CloseableThreadContext;false;putAll;;;Argument[0];log4j;manual", + "org.apache.logging.log4j;CloseableThreadContext$Instance;false;put;;;Argument[1];log4j;manual", + "org.apache.logging.log4j;CloseableThreadContext$Instance;false;putAll;;;Argument[0];log4j;manual", ] } } @@ -153,10 +166,10 @@ class Log4jInjectionSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "org.apache.logging.log4j.message;MapMessage;true;with;;;Argument[1];Argument[-1];taint", - "org.apache.logging.log4j.message;MapMessage;true;with;;;Argument[-1];ReturnValue;value", - "org.apache.logging.log4j.message;MapMessage;true;put;;;Argument[1];Argument[-1];taint", - "org.apache.logging.log4j.message;MapMessage;true;putAll;;;Argument[0].MapValue;Argument[-1];taint", + "org.apache.logging.log4j.message;MapMessage;true;with;;;Argument[1];Argument[-1];taint;manual", + "org.apache.logging.log4j.message;MapMessage;true;with;;;Argument[-1];ReturnValue;value;manual", + "org.apache.logging.log4j.message;MapMessage;true;put;;;Argument[1];Argument[-1];taint;manual", + "org.apache.logging.log4j.message;MapMessage;true;putAll;;;Argument[0].MapValue;Argument[-1];taint;manual", ] } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-073/FilePathInjection.ql b/java/ql/src/experimental/Security/CWE/CWE-073/FilePathInjection.ql index bf4f1ec33bb..e8ebabba3c6 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-073/FilePathInjection.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-073/FilePathInjection.ql @@ -30,10 +30,8 @@ class InjectFilePathConfig extends TaintTracking::Configuration { override predicate isSanitizer(DataFlow::Node node) { exists(Type t | t = node.getType() | t instanceof BoxedType or t instanceof PrimitiveType) - } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof PathTraversalBarrierGuard + or + node instanceof PathTraversalSanitizer } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-073/JFinalController.qll b/java/ql/src/experimental/Security/CWE/CWE-073/JFinalController.qll index eb84eb76262..df3b77cddaa 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-073/JFinalController.qll +++ b/java/ql/src/experimental/Security/CWE/CWE-073/JFinalController.qll @@ -68,17 +68,17 @@ private class JFinalControllerSource extends SourceModelCsv { row = [ "com.jfinal.core;Controller;true;getCookie" + ["", "Object", "Objects", "ToInt", "ToLong"] + - ";;;ReturnValue;remote", - "com.jfinal.core;Controller;true;getFile" + ["", "s"] + ";;;ReturnValue;remote", - "com.jfinal.core;Controller;true;getHeader;;;ReturnValue;remote", - "com.jfinal.core;Controller;true;getKv;;;ReturnValue;remote", + ";;;ReturnValue;remote;manual", + "com.jfinal.core;Controller;true;getFile" + ["", "s"] + ";;;ReturnValue;remote;manual", + "com.jfinal.core;Controller;true;getHeader;;;ReturnValue;remote;manual", + "com.jfinal.core;Controller;true;getKv;;;ReturnValue;remote;manual", "com.jfinal.core;Controller;true;getPara" + [ "", "Map", "ToBoolean", "ToDate", "ToInt", "ToLong", "Values", "ValuesToInt", "ValuesToLong" - ] + ";;;ReturnValue;remote", + ] + ";;;ReturnValue;remote;manual", "com.jfinal.core;Controller;true;get" + ["", "Int", "Long", "Boolean", "Date"] + - ";;;ReturnValue;remote" + ";;;ReturnValue;remote;manual" ] } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-200/AndroidWebResourceResponse.qll b/java/ql/src/experimental/Security/CWE/CWE-200/AndroidWebResourceResponse.qll index 7f0b536030a..44e0d7fd96f 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-200/AndroidWebResourceResponse.qll +++ b/java/ql/src/experimental/Security/CWE/CWE-200/AndroidWebResourceResponse.qll @@ -74,8 +74,8 @@ private class LoadUrlSummaries extends SummaryModelCsv { override predicate row(string row) { row = [ - "java.io;FileInputStream;true;FileInputStream;;;Argument[0];Argument[-1];taint", - "android.webkit;WebResourceRequest;false;getUrl;;;Argument[-1];ReturnValue;taint" + "java.io;FileInputStream;true;FileInputStream;;;Argument[0];Argument[-1];taint;manual", + "android.webkit;WebResourceRequest;false;getUrl;;;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-200/InsecureWebResourceResponse.ql b/java/ql/src/experimental/Security/CWE/CWE-200/InsecureWebResourceResponse.ql index d3841c8ecbe..1c3615e2b3f 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-200/InsecureWebResourceResponse.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-200/InsecureWebResourceResponse.ql @@ -24,9 +24,7 @@ class InsecureWebResourceResponseConfig extends TaintTracking::Configuration { override predicate isSink(DataFlow::Node sink) { sink instanceof WebResourceResponseSink } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof PathTraversalBarrierGuard - } + override predicate isSanitizer(DataFlow::Node node) { node instanceof PathTraversalSanitizer } } from DataFlow::PathNode source, DataFlow::PathNode sink, InsecureWebResourceResponseConfig conf diff --git a/java/ql/src/experimental/Security/CWE/CWE-200/SensitiveAndroidFileLeak.ql b/java/ql/src/experimental/Security/CWE/CWE-200/SensitiveAndroidFileLeak.ql index d3d632144b1..9769ee1eafc 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-200/SensitiveAndroidFileLeak.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-200/SensitiveAndroidFileLeak.ql @@ -15,17 +15,13 @@ import AndroidFileIntentSink import AndroidFileIntentSource import DataFlow::PathGraph -private class StartsWithSanitizer extends DataFlow::BarrierGuard { - StartsWithSanitizer() { this.(MethodAccess).getMethod().hasName("startsWith") } - - override predicate checks(Expr e, boolean branch) { - e = - [ - this.(MethodAccess).getQualifier(), - this.(MethodAccess).getQualifier().(MethodAccess).getQualifier() - ] and +private predicate startsWithSanitizer(Guard g, Expr e, boolean branch) { + exists(MethodAccess ma | + g = ma and + ma.getMethod().hasName("startsWith") and + e = [ma.getQualifier(), ma.getQualifier().(MethodAccess).getQualifier()] and branch = false - } + ) } class AndroidFileLeakConfig extends TaintTracking::Configuration { @@ -75,8 +71,8 @@ class AndroidFileLeakConfig extends TaintTracking::Configuration { ) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof StartsWithSanitizer + override predicate isSanitizer(DataFlow::Node node) { + node = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-321/HardcodedJwtKey.qll b/java/ql/src/experimental/Security/CWE/CWE-321/HardcodedJwtKey.qll index 0a92e6b141a..b16142f3856 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-321/HardcodedJwtKey.qll +++ b/java/ql/src/experimental/Security/CWE/CWE-321/HardcodedJwtKey.qll @@ -131,15 +131,15 @@ private class VerificationFlowStep extends SummaryModelCsv { override predicate row(string row) { row = [ - "com.auth0.jwt.interfaces;Verification;true;build;;;Argument[-1];ReturnValue;taint", + "com.auth0.jwt.interfaces;Verification;true;build;;;Argument[-1];ReturnValue;taint;manual", "com.auth0.jwt.interfaces;Verification;true;" + ["acceptLeeway", "acceptExpiresAt", "acceptNotBefore", "acceptIssuedAt", "ignoreIssuedAt"] - + ";;;Argument[-1];ReturnValue;value", + + ";;;Argument[-1];ReturnValue;value;manual", "com.auth0.jwt.interfaces;Verification;true;with" + [ "Issuer", "Subject", "Audience", "AnyOfAudience", "ClaimPresence", "Claim", "ArrayClaim", "JWTId" - ] + ";;;Argument[-1];ReturnValue;value" + ] + ";;;Argument[-1];ReturnValue;value;manual" ] } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.java b/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.java new file mode 100644 index 00000000000..83157c14251 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.java @@ -0,0 +1,46 @@ + +// BAD: Using an outdated SDK that does not support client side encryption version V2_0 +new EncryptedBlobClientBuilder() + .blobClient(blobClient) + .key(resolver.buildAsyncKeyEncryptionKey(keyid).block(), keyWrapAlgorithm) + .buildEncryptedBlobClient() + .uploadWithResponse(new BlobParallelUploadOptions(data) + .setMetadata(metadata) + .setHeaders(headers) + .setTags(tags) + .setTier(tier) + .setRequestConditions(requestConditions) + .setComputeMd5(computeMd5) + .setParallelTransferOptions(parallelTransferOptions), + timeout, context); + +// BAD: Using the deprecatedd client side encryption version V1_0 +new EncryptedBlobClientBuilder(EncryptionVersion.V1) + .blobClient(blobClient) + .key(resolver.buildAsyncKeyEncryptionKey(keyid).block(), keyWrapAlgorithm) + .buildEncryptedBlobClient() + .uploadWithResponse(new BlobParallelUploadOptions(data) + .setMetadata(metadata) + .setHeaders(headers) + .setTags(tags) + .setTier(tier) + .setRequestConditions(requestConditions) + .setComputeMd5(computeMd5) + .setParallelTransferOptions(parallelTransferOptions), + timeout, context); + + +// GOOD: Using client side encryption version V2_0 +new EncryptedBlobClientBuilder(EncryptionVersion.V2) + .blobClient(blobClient) + .key(resolver.buildAsyncKeyEncryptionKey(keyid).block(), keyWrapAlgorithm) + .buildEncryptedBlobClient() + .uploadWithResponse(new BlobParallelUploadOptions(data) + .setMetadata(metadata) + .setHeaders(headers) + .setTags(tags) + .setTier(tier) + .setRequestConditions(requestConditions) + .setComputeMd5(computeMd5) + .setParallelTransferOptions(parallelTransferOptions), + timeout, context); diff --git a/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp b/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp new file mode 100644 index 00000000000..b6884aed914 --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.qhelp @@ -0,0 +1,29 @@ + + + + + +

    Azure Storage .NET, Java, and Python SDKs support encryption on the client with a customer-managed key that is maintained in Azure Key Vault or another key store.

    +

    The Azure Storage SDK version 12.18.0 or later supports version V2 for client-side encryption. All previous versions of Azure Storage SDK only support client-side encryption V1 which is unsafe.

    + +
    + + +

    Consider switching to V2 client-side encryption.

    + +
    + + + + + + +
  • + Azure Storage Client Encryption Blog. +
  • +
  • + CVE-2022-30187 +
  • + +
    +
    diff --git a/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql b/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql new file mode 100644 index 00000000000..287a3f07a6c --- /dev/null +++ b/java/ql/src/experimental/Security/CWE/CWE-327/Azure/UnsafeUsageOfClientSideEncryptionVersion.ql @@ -0,0 +1,92 @@ +/** + * @name Unsafe usage of v1 version of Azure Storage client-side encryption (CVE-2022-30187). + * @description Unsafe usage of v1 version of Azure Storage client-side encryption, please refer to http://aka.ms/azstorageclientencryptionblog + * @kind problem + * @tags security + * cryptography + * external/cwe/cwe-327 + * @id java/azure-storage/unsafe-client-side-encryption-in-use + * @problem.severity error + * @precision high + */ + +import java +import semmle.code.java.dataflow.DataFlow + +/** + * Holds if `call` is an object creation for a class `EncryptedBlobClientBuilder` + * that takes no arguments, which means that it is using V1 encryption. + */ +predicate isCreatingOutdatedAzureClientSideEncryptionObject(Call call, Class c) { + exists(string package, string type, Constructor constructor | + c.hasQualifiedName(package, type) and + c.getAConstructor() = constructor and + call.getCallee() = constructor and + ( + type = "EncryptedBlobClientBuilder" and + package = "com.azure.storage.blob.specialized.cryptography" and + constructor.hasNoParameters() + or + type = "BlobEncryptionPolicy" and package = "com.microsoft.azure.storage.blob" + ) + ) +} + +/** + * Holds if `call` is an object creation for a class `EncryptedBlobClientBuilder` + * that takes `versionArg` as the argument specifying the encryption version. + */ +predicate isCreatingAzureClientSideEncryptionObjectNewVersion(Call call, Class c, Expr versionArg) { + exists(string package, string type, Constructor constructor | + c.hasQualifiedName(package, type) and + c.getAConstructor() = constructor and + call.getCallee() = constructor and + type = "EncryptedBlobClientBuilder" and + package = "com.azure.storage.blob.specialized.cryptography" and + versionArg = call.getArgument(0) + ) +} + +/** + * A dataflow config that tracks `EncryptedBlobClientBuilder.version` argument initialization. + */ +private class EncryptedBlobClientBuilderSafeEncryptionVersionConfig extends DataFlow::Configuration { + EncryptedBlobClientBuilderSafeEncryptionVersionConfig() { + this = "EncryptedBlobClientBuilderSafeEncryptionVersionConfig" + } + + override predicate isSource(DataFlow::Node source) { + exists(FieldRead fr, Field f | fr = source.asExpr() | + f.getAnAccess() = fr and + f.hasQualifiedName("com.azure.storage.blob.specialized.cryptography", "EncryptionVersion", + "V2") + ) + } + + override predicate isSink(DataFlow::Node sink) { + isCreatingAzureClientSideEncryptionObjectNewVersion(_, _, sink.asExpr()) + } +} + +/** + * Holds if `call` is an object creation for a class `EncryptedBlobClientBuilder` + * that takes `versionArg` as the argument specifying the encryption version, and that version is safe. + */ +predicate isCreatingSafeAzureClientSideEncryptionObject(Call call, Class c, Expr versionArg) { + isCreatingAzureClientSideEncryptionObjectNewVersion(call, c, versionArg) and + exists(EncryptedBlobClientBuilderSafeEncryptionVersionConfig config, DataFlow::Node sink | + sink.asExpr() = versionArg + | + config.hasFlow(_, sink) + ) +} + +from Expr e, Class c +where + exists(Expr argVersion | + isCreatingAzureClientSideEncryptionObjectNewVersion(e, c, argVersion) and + not isCreatingSafeAzureClientSideEncryptionObject(e, c, argVersion) + ) + or + isCreatingOutdatedAzureClientSideEncryptionObject(e, c) +select e, "Unsafe usage of v1 version of Azure Storage client-side encryption." diff --git a/java/ql/src/experimental/Security/CWE/CWE-400/LocalThreadResourceAbuse.ql b/java/ql/src/experimental/Security/CWE/CWE-400/LocalThreadResourceAbuse.ql index 9b76417895a..3c3c58da449 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-400/LocalThreadResourceAbuse.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-400/LocalThreadResourceAbuse.ql @@ -59,10 +59,8 @@ class ThreadResourceAbuse extends TaintTracking::Configuration { ma.getMethod().hasQualifiedName("java.lang", "Math", "min") and node.asExpr() = ma.getAnArgument() ) - } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof LessThanSanitizer // if (sleepTime > 0 && sleepTime < 5000) { ... } + or + node instanceof LessThanSanitizer // if (sleepTime > 0 && sleepTime < 5000) { ... } } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.ql b/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.ql index 393e6088b8f..a3ef56f82cb 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.ql @@ -33,10 +33,8 @@ class ThreadResourceAbuse extends TaintTracking::Configuration { ma.getMethod().hasQualifiedName("java.lang", "Math", "min") and node.asExpr() = ma.getAnArgument() ) - } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof LessThanSanitizer // if (sleepTime > 0 && sleepTime < 5000) { ... } + or + node instanceof LessThanSanitizer // if (sleepTime > 0 && sleepTime < 5000) { ... } } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qll b/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qll index 4f654374b17..e4dd7458951 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qll +++ b/java/ql/src/experimental/Security/CWE/CWE-400/ThreadResourceAbuse.qll @@ -4,14 +4,15 @@ import java import semmle.code.java.dataflow.DataFlow private import semmle.code.java.dataflow.ExternalFlow import semmle.code.java.dataflow.FlowSteps +import semmle.code.java.controlflow.Guards /** `java.lang.Math` data model for value comparison in the new CSV format. */ private class MathCompDataModel extends SummaryModelCsv { override predicate row(string row) { row = [ - "java.lang;Math;false;min;;;Argument[0..1];ReturnValue;value", - "java.lang;Math;false;max;;;Argument[0..1];ReturnValue;value" + "java.lang;Math;false;min;;;Argument[0..1];ReturnValue;value;manual", + "java.lang;Math;false;max;;;Argument[0..1];ReturnValue;value;manual" ] } } @@ -21,8 +22,8 @@ private class PauseThreadDataModel extends SinkModelCsv { override predicate row(string row) { row = [ - "java.lang;Thread;true;sleep;;;Argument[0];thread-pause", - "java.util.concurrent;TimeUnit;true;sleep;;;Argument[0];thread-pause" + "java.lang;Thread;true;sleep;;;Argument[0];thread-pause;manual", + "java.util.concurrent;TimeUnit;true;sleep;;;Argument[0];thread-pause;manual" ] } } @@ -32,15 +33,17 @@ class PauseThreadSink extends DataFlow::Node { PauseThreadSink() { sinkNode(this, "thread-pause") } } +private predicate lessThanGuard(Guard g, Expr e, boolean branch) { + e = g.(ComparisonExpr).getLesserOperand() and + branch = true + or + e = g.(ComparisonExpr).getGreaterOperand() and + branch = false +} + /** A sanitizer for lessThan check. */ -class LessThanSanitizer extends DataFlow::BarrierGuard instanceof ComparisonExpr { - override predicate checks(Expr e, boolean branch) { - e = super.getLesserOperand() and - branch = true - or - e = super.getGreaterOperand() and - branch = false - } +class LessThanSanitizer extends DataFlow::Node { + LessThanSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** Value step from the constructor call of a `Runnable` to the instance parameter (this) of `run`. */ diff --git a/java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql b/java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql index ca29a5544d3..6ff2bc27dd4 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-470/UnsafeReflection.ql @@ -15,23 +15,19 @@ import DataFlow import UnsafeReflectionLib import semmle.code.java.dataflow.DataFlow import semmle.code.java.dataflow.FlowSources +import semmle.code.java.controlflow.Guards import DataFlow::PathGraph -private class ContainsSanitizer extends DataFlow::BarrierGuard { - ContainsSanitizer() { this.(MethodAccess).getMethod().hasName("contains") } - - override predicate checks(Expr e, boolean branch) { - e = this.(MethodAccess).getArgument(0) and branch = true - } +private predicate containsSanitizer(Guard g, Expr e, boolean branch) { + g.(MethodAccess).getMethod().hasName("contains") and + e = g.(MethodAccess).getArgument(0) and + branch = true } -private class EqualsSanitizer extends DataFlow::BarrierGuard { - EqualsSanitizer() { this.(MethodAccess).getMethod().hasName("equals") } - - override predicate checks(Expr e, boolean branch) { - e = [this.(MethodAccess).getArgument(0), this.(MethodAccess).getQualifier()] and - branch = true - } +private predicate equalsSanitizer(Guard g, Expr e, boolean branch) { + g.(MethodAccess).getMethod().hasName("equals") and + e = [g.(MethodAccess).getArgument(0), g.(MethodAccess).getQualifier()] and + branch = true } class UnsafeReflectionConfig extends TaintTracking::Configuration { @@ -78,8 +74,9 @@ class UnsafeReflectionConfig extends TaintTracking::Configuration { ) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof ContainsSanitizer or guard instanceof EqualsSanitizer + override predicate isSanitizer(DataFlow::Node node) { + node = DataFlow::BarrierGuard::getABarrierNode() or + node = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.ql b/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.ql index 0e8fd0a4fe5..07fe560d14f 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.ql @@ -35,10 +35,9 @@ class UnsafeUrlForwardFlowConfig extends TaintTracking::Configuration { override predicate isSink(DataFlow::Node sink) { sink instanceof UnsafeUrlForwardSink } - override predicate isSanitizer(DataFlow::Node node) { node instanceof UnsafeUrlForwardSanitizer } - - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof PathTraversalBarrierGuard + override predicate isSanitizer(DataFlow::Node node) { + node instanceof UnsafeUrlForwardSanitizer or + node instanceof PathTraversalSanitizer } override DataFlow::FlowFeature getAFeature() { diff --git a/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.qll b/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.qll index 5471f55b212..8f96700b46b 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.qll +++ b/java/ql/src/experimental/Security/CWE/CWE-552/UnsafeUrlForward.qll @@ -154,8 +154,8 @@ private class ServletGetPathSource extends SourceModelCsv { override predicate row(string row) { row = [ - "javax.servlet.http;HttpServletRequest;true;getServletPath;;;ReturnValue;remote", - "jakarta.servlet.http;HttpServletRequest;true;getServletPath;;;ReturnValue;remote" + "javax.servlet.http;HttpServletRequest;true;getServletPath;;;ReturnValue;remote;manual", + "jakarta.servlet.http;HttpServletRequest;true;getServletPath;;;ReturnValue;remote;manual" ] } } @@ -165,13 +165,13 @@ private class FilePathFlowStep extends SummaryModelCsv { override predicate row(string row) { row = [ - "java.nio.file;Paths;true;get;;;Argument[0..1];ReturnValue;taint", - "java.nio.file;Path;true;resolve;;;Argument[-1..0];ReturnValue;taint", - "java.nio.file;Path;true;normalize;;;Argument[-1];ReturnValue;taint", - "java.nio.file;Path;true;toString;;;Argument[-1];ReturnValue;taint", - "io.undertow.server.handlers.resource;Resource;true;getFile;;;Argument[-1];ReturnValue;taint", - "io.undertow.server.handlers.resource;Resource;true;getFilePath;;;Argument[-1];ReturnValue;taint", - "io.undertow.server.handlers.resource;Resource;true;getPath;;;Argument[-1];ReturnValue;taint" + "java.nio.file;Paths;true;get;;;Argument[0..1];ReturnValue;taint;manual", + "java.nio.file;Path;true;resolve;;;Argument[-1..0];ReturnValue;taint;manual", + "java.nio.file;Path;true;normalize;;;Argument[-1];ReturnValue;taint;manual", + "java.nio.file;Path;true;toString;;;Argument[-1];ReturnValue;taint;manual", + "io.undertow.server.handlers.resource;Resource;true;getFile;;;Argument[-1];ReturnValue;taint;manual", + "io.undertow.server.handlers.resource;Resource;true;getFilePath;;;Argument[-1];ReturnValue;taint;manual", + "io.undertow.server.handlers.resource;Resource;true;getPath;;;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/src/experimental/Security/CWE/CWE-601/SpringUrlRedirect.ql b/java/ql/src/experimental/Security/CWE/CWE-601/SpringUrlRedirect.ql index b15d7948801..a69928ba0bd 100644 --- a/java/ql/src/experimental/Security/CWE/CWE-601/SpringUrlRedirect.ql +++ b/java/ql/src/experimental/Security/CWE/CWE-601/SpringUrlRedirect.ql @@ -13,18 +13,15 @@ import java import SpringUrlRedirect import semmle.code.java.dataflow.FlowSources +import semmle.code.java.controlflow.Guards import DataFlow::PathGraph -private class StartsWithSanitizer extends DataFlow::BarrierGuard { - StartsWithSanitizer() { - this.(MethodAccess).getMethod().hasName("startsWith") and - this.(MethodAccess).getMethod().getDeclaringType() instanceof TypeString and - this.(MethodAccess).getMethod().getNumberOfParameters() = 1 - } - - override predicate checks(Expr e, boolean branch) { - e = this.(MethodAccess).getQualifier() and branch = true - } +private predicate startsWithSanitizer(Guard g, Expr e, boolean branch) { + g.(MethodAccess).getMethod().hasName("startsWith") and + g.(MethodAccess).getMethod().getDeclaringType() instanceof TypeString and + g.(MethodAccess).getMethod().getNumberOfParameters() = 1 and + e = g.(MethodAccess).getQualifier() and + branch = true } class SpringUrlRedirectFlowConfig extends TaintTracking::Configuration { @@ -38,10 +35,6 @@ class SpringUrlRedirectFlowConfig extends TaintTracking::Configuration { springUrlRedirectTaintStep(fromNode, toNode) } - override predicate isSanitizerGuard(DataFlow::BarrierGuard guard) { - guard instanceof StartsWithSanitizer - } - override predicate isSanitizer(DataFlow::Node node) { // Exclude the case where the left side of the concatenated string is not `redirect:`. // E.g: `String url = "/path?token=" + request.getParameter("token");` @@ -63,6 +56,8 @@ class SpringUrlRedirectFlowConfig extends TaintTracking::Configuration { ) or nonLocationHeaderSanitizer(node) + or + node = DataFlow::BarrierGuard::getABarrierNode() } } diff --git a/java/ql/src/experimental/semmle/code/java/PathSanitizer.qll b/java/ql/src/experimental/semmle/code/java/PathSanitizer.qll index 6c1fbdc90c4..768d35504f7 100644 --- a/java/ql/src/experimental/semmle/code/java/PathSanitizer.qll +++ b/java/ql/src/experimental/semmle/code/java/PathSanitizer.qll @@ -3,21 +3,32 @@ private import semmle.code.java.controlflow.Guards private import semmle.code.java.dataflow.FlowSources private import semmle.code.java.dataflow.ExternalFlow -/** A barrier guard that protects against path traversal vulnerabilities. */ -abstract class PathTraversalBarrierGuard extends DataFlow::BarrierGuard { } +/** + * DEPRECATED: Use `PathTraversalSanitizer` instead. + * + * A barrier guard that protects against path traversal vulnerabilities. + */ +abstract deprecated class PathTraversalBarrierGuard extends DataFlow::BarrierGuard { } + +/** A sanitizer that protects against path traversal vulnerabilities. */ +abstract class PathTraversalSanitizer extends DataFlow::Node { } /** - * A guard that considers safe a string being exactly compared to a trusted value. + * Holds if `g` is guard that compares a string to a trusted value. */ -private class ExactStringPathMatchGuard extends PathTraversalBarrierGuard instanceof MethodAccess { - ExactStringPathMatchGuard() { - super.getMethod().getDeclaringType() instanceof TypeString and - super.getMethod().getName() = ["equals", "equalsIgnoreCase"] - } - - override predicate checks(Expr e, boolean branch) { - e = super.getQualifier() and +private predicate exactStringPathMatchGuard(Guard g, Expr e, boolean branch) { + exists(MethodAccess ma | + ma = g and + ma.getMethod().getDeclaringType() instanceof TypeString and + ma.getMethod().getName() = ["equals", "equalsIgnoreCase"] and + e = ma.getQualifier() and branch = true + ) +} + +private class ExactStringPathMatchSanitizer extends PathTraversalSanitizer { + ExactStringPathMatchSanitizer() { + this = DataFlow::BarrierGuard::getABarrierNode() } } @@ -42,41 +53,45 @@ private class AllowListGuard extends Guard instanceof MethodAccess { } /** - * A guard that considers a path safe because it is checked against an allowlist of partial trusted values. + * Holds if `g` is a guard that considers a path safe because it is checked against an allowlist of partial trusted values. * This requires additional protection against path traversal, either another guard (`PathTraversalGuard`) * or a sanitizer (`PathNormalizeSanitizer`), to ensure any internal `..` components are removed from the path. */ -private class AllowListBarrierGuard extends PathTraversalBarrierGuard instanceof AllowListGuard { - override predicate checks(Expr e, boolean branch) { - e = super.getCheckedExpr() and - branch = true and - ( - // Either a path normalization sanitizer comes before the guard, - exists(PathNormalizeSanitizer sanitizer | DataFlow::localExprFlow(sanitizer, e)) - or - // or a check like `!path.contains("..")` comes before the guard - exists(PathTraversalGuard previousGuard | - DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and - previousGuard.controls(this.getBasicBlock().(ConditionBlock), false) - ) +private predicate allowListGuard(Guard g, Expr e, boolean branch) { + e = g.(AllowListGuard).getCheckedExpr() and + branch = true and + ( + // Either a path normalization sanitizer comes before the guard, + exists(PathNormalizeSanitizer sanitizer | DataFlow::localExprFlow(sanitizer, e)) + or + // or a check like `!path.contains("..")` comes before the guard + exists(PathTraversalGuard previousGuard | + DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and + previousGuard.controls(g.getBasicBlock().(ConditionBlock), false) ) - } + ) +} + +private class AllowListSanitizer extends PathTraversalSanitizer { + AllowListSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** - * A guard that considers a path safe because it is checked for `..` components, having previously + * Holds if `g` is a guard that considers a path safe because it is checked for `..` components, having previously * been checked for a trusted prefix. */ -private class DotDotCheckBarrierGuard extends PathTraversalBarrierGuard instanceof PathTraversalGuard { - override predicate checks(Expr e, boolean branch) { - e = super.getCheckedExpr() and - branch = false and - // The same value has previously been checked against a list of allowed prefixes: - exists(AllowListGuard previousGuard | - DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and - previousGuard.controls(this.getBasicBlock().(ConditionBlock), true) - ) - } +private predicate dotDotCheckGuard(Guard g, Expr e, boolean branch) { + e = g.(PathTraversalGuard).getCheckedExpr() and + branch = false and + // The same value has previously been checked against a list of allowed prefixes: + exists(AllowListGuard previousGuard | + DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and + previousGuard.controls(g.getBasicBlock().(ConditionBlock), true) + ) +} + +private class DotDotCheckSanitizer extends PathTraversalSanitizer { + DotDotCheckSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } private class BlockListGuard extends Guard instanceof MethodAccess { @@ -89,40 +104,44 @@ private class BlockListGuard extends Guard instanceof MethodAccess { } /** - * A guard that considers a string safe because it is checked against a blocklist of known dangerous values. + * Holds if `g` is a guard that considers a string safe because it is checked against a blocklist of known dangerous values. * This requires a prior check for URL encoding concealing a forbidden value, either a guard (`UrlEncodingGuard`) * or a sanitizer (`UrlDecodeSanitizer`). */ -private class BlockListBarrierGuard extends PathTraversalBarrierGuard instanceof BlockListGuard { - override predicate checks(Expr e, boolean branch) { - e = super.getCheckedExpr() and - branch = false and - ( - // Either `e` has been URL decoded: - exists(UrlDecodeSanitizer sanitizer | DataFlow::localExprFlow(sanitizer, e)) - or - // or `e` has previously been checked for URL encoding sequences: - exists(UrlEncodingGuard previousGuard | - DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and - previousGuard.controls(this.getBasicBlock(), false) - ) +private predicate blockListGuard(Guard g, Expr e, boolean branch) { + e = g.(BlockListGuard).getCheckedExpr() and + branch = false and + ( + // Either `e` has been URL decoded: + exists(UrlDecodeSanitizer sanitizer | DataFlow::localExprFlow(sanitizer, e)) + or + // or `e` has previously been checked for URL encoding sequences: + exists(UrlEncodingGuard previousGuard | + DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and + previousGuard.controls(g.getBasicBlock(), false) ) - } + ) +} + +private class BlockListSanitizer extends PathTraversalSanitizer { + BlockListSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** - * A guard that considers a string safe because it is checked for URL encoding sequences, + * Holds if `g` is a guard that considers a string safe because it is checked for URL encoding sequences, * having previously been checked against a block-list of forbidden values. */ -private class UrlEncodingBarrierGuard extends PathTraversalBarrierGuard instanceof UrlEncodingGuard { - override predicate checks(Expr e, boolean branch) { - e = super.getCheckedExpr() and - branch = false and - exists(BlockListGuard previousGuard | - DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and - previousGuard.controls(this.getBasicBlock(), false) - ) - } +private predicate urlEncodingGuard(Guard g, Expr e, boolean branch) { + e = g.(UrlEncodingGuard).getCheckedExpr() and + branch = false and + exists(BlockListGuard previousGuard | + DataFlow::localExprFlow(previousGuard.getCheckedExpr(), e) and + previousGuard.controls(g.getBasicBlock(), false) + ) +} + +private class UrlEncodingSanitizer extends PathTraversalSanitizer { + UrlEncodingSanitizer() { this = DataFlow::BarrierGuard::getABarrierNode() } } /** @@ -196,8 +215,8 @@ private class PathDataModel extends SummaryModelCsv { override predicate row(string row) { row = [ - "java.nio.file;Paths;true;get;;;Argument[0];ReturnValue;taint", - "java.nio.file;Path;true;normalize;;;Argument[-1];ReturnValue;taint" + "java.nio.file;Paths;true;get;;;Argument[0];ReturnValue;taint;manual", + "java.nio.file;Path;true;normalize;;;Argument[-1];ReturnValue;taint;manual" ] } } diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index bfc7bd821e3..8c0538014c1 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 0.1.4-dev +version: 0.3.2-dev groups: - java - queries diff --git a/java/ql/src/utils/flowtestcasegenerator/FlowTestCase.qll b/java/ql/src/utils/flowtestcasegenerator/FlowTestCase.qll index 03d67082098..046debc5019 100644 --- a/java/ql/src/utils/flowtestcasegenerator/FlowTestCase.qll +++ b/java/ql/src/utils/flowtestcasegenerator/FlowTestCase.qll @@ -64,8 +64,8 @@ private newtype TTestCase = string inputSpec, string outputSpec | any(TargetSummaryModelCsv tsmc).row(row) and - summaryModel(namespace, type, subtypes, name, signature, ext, inputSpec, outputSpec, kind, - false, row) and + summaryModel(namespace, type, subtypes, name, signature, ext, inputSpec, outputSpec, kind, _, + row) and callable = interpretElement(namespace, type, subtypes, name, signature, ext) and Private::External::interpretSpec(inputSpec, input) and Private::External::interpretSpec(outputSpec, output) diff --git a/java/ql/src/utils/flowtestcasegenerator/FlowTestCaseSupportMethods.qll b/java/ql/src/utils/flowtestcasegenerator/FlowTestCaseSupportMethods.qll index 99acb1a466b..713c484ff4b 100644 --- a/java/ql/src/utils/flowtestcasegenerator/FlowTestCaseSupportMethods.qll +++ b/java/ql/src/utils/flowtestcasegenerator/FlowTestCaseSupportMethods.qll @@ -165,7 +165,7 @@ private class DefaultGetMethod extends GetMethod { override string getCsvModel() { result = "generatedtest;Test;false;" + this.getName() + ";(Object);;" + - getComponentSpec(SummaryComponent::content(c)) + "Argument[0].;ReturnValue;value" + getComponentSpec(SummaryComponent::content(c)) + "Argument[0].;ReturnValue;value;manual" } } @@ -361,7 +361,7 @@ private class DefaultGenMethod extends GenMethod { override string getCsvModel() { result = "generatedtest;Test;false;" + this.getName() + ";(Object);;Argument[0];" + - getComponentSpec(SummaryComponent::content(c)) + "ReturnValue.;value" + getComponentSpec(SummaryComponent::content(c)) + "ReturnValue.;value;manual" } } diff --git a/java/ql/src/utils/model-generator/CaptureSinkModels.ql b/java/ql/src/utils/model-generator/CaptureSinkModels.ql index fb04c4ede00..405b9fab772 100644 --- a/java/ql/src/utils/model-generator/CaptureSinkModels.ql +++ b/java/ql/src/utils/model-generator/CaptureSinkModels.ql @@ -1,6 +1,6 @@ /** * @name Capture sink models. - * @description Finds public methods that act as sinks as they flow into a a known sink. + * @description Finds public methods that act as sinks as they flow into a known sink. * @kind diagnostic * @id java/utils/model-generator/sink-models * @tags model-generator diff --git a/java/ql/src/utils/model-generator/internal/CaptureModels.qll b/java/ql/src/utils/model-generator/internal/CaptureModels.qll index 84af7b57938..04856b09bfb 100644 --- a/java/ql/src/utils/model-generator/internal/CaptureModels.qll +++ b/java/ql/src/utils/model-generator/internal/CaptureModels.qll @@ -44,7 +44,8 @@ private string asSummaryModel(TargetApi api, string input, string output, string result = asPartialModel(api) + input + ";" // + output + ";" // - + "generated:" + kind + + kind + ";" // + + "generated" } /** @@ -68,7 +69,10 @@ private string asTaintModel(TargetApi api, string input, string output) { */ bindingset[input, kind] private string asSinkModel(TargetApi api, string input, string kind) { - result = asPartialModel(api) + input + ";" + "generated:" + kind + result = + asPartialModel(api) + input + ";" // + + kind + ";" // + + "generated" } /** @@ -76,7 +80,10 @@ private string asSinkModel(TargetApi api, string input, string kind) { */ bindingset[output, kind] private string asSourceModel(TargetApi api, string output, string kind) { - result = asPartialModel(api) + output + ";" + "generated:" + kind + result = + asPartialModel(api) + output + ";" // + + kind + ";" // + + "generated" } /** diff --git a/java/ql/test/TestUtilities/InlineExpectationsTest.qll b/java/ql/test/TestUtilities/InlineExpectationsTest.qll index 3891fcf13a1..4b4a31d6950 100644 --- a/java/ql/test/TestUtilities/InlineExpectationsTest.qll +++ b/java/ql/test/TestUtilities/InlineExpectationsTest.qll @@ -239,12 +239,24 @@ private string getColumnString(TColumn column) { /** * RegEx pattern to match a single expected result, not including the leading `$`. It consists of one or - * more comma-separated tags containing only letters, digits, `-` and `_` (note that the first character - * must not be a digit), optionally followed by `=` and the expected value. + * more comma-separated tags optionally followed by `=` and the expected value. + * + * Tags must be only letters, digits, `-` and `_` (note that the first character + * must not be a digit), but can contain anything enclosed in a single set of + * square brackets. + * + * Examples: + * - `tag` + * - `tag=value` + * - `tag,tag2=value` + * - `tag[foo bar]=value` + * + * Not allowed: + * - `tag[[[foo bar]` */ private string expectationPattern() { exists(string tag, string tags, string value | - tag = "[A-Za-z-_][A-Za-z-_0-9]*" and + tag = "[A-Za-z-_](?:[A-Za-z-_0-9]|\\[[^\\]\\]]*\\])*" and tags = "((?:" + tag + ")(?:\\s*,\\s*" + tag + ")*)" and // In Python, we allow both `"` and `'` for strings, as well as the prefixes `bru`. // For example, `b"foo"`. diff --git a/java/ql/test/TestUtilities/InlineExpectationsTestPrivate.qll b/java/ql/test/TestUtilities/InlineExpectationsTestPrivate.qll index 5233f92f406..e61d3dabe70 100644 --- a/java/ql/test/TestUtilities/InlineExpectationsTestPrivate.qll +++ b/java/ql/test/TestUtilities/InlineExpectationsTestPrivate.qll @@ -20,3 +20,15 @@ private class KtExpectationComment extends KtComment, ExpectationComment { override string getContents() { result = this.getText().suffix(2).trim() } } + +private class XmlExpectationComment extends ExpectationComment instanceof XMLComment { + override string getContents() { result = this.(XMLComment).getText().trim() } + + override Location getLocation() { result = this.(XMLComment).getLocation() } + + override predicate hasLocationInfo(string path, int sl, int sc, int el, int ec) { + this.(XMLComment).hasLocationInfo(path, sl, sc, el, ec) + } + + override string toString() { result = this.(XMLComment).toString() } +} diff --git a/java/ql/test/kotlin/library-tests/arrays-with-variances/User.java b/java/ql/test/kotlin/library-tests/arrays-with-variances/User.java new file mode 100644 index 00000000000..d3c00088d13 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/arrays-with-variances/User.java @@ -0,0 +1,11 @@ +public class User { + + public static void test() { + + TakesArrayList tal = new TakesArrayList(); + tal.invarArray(null); + // Using one method suffices to get the extractor to describe all the methods defined on takesArrayList. + + } + +} diff --git a/java/ql/test/kotlin/library-tests/arrays-with-variances/takesArrayList.kt b/java/ql/test/kotlin/library-tests/arrays-with-variances/takesArrayList.kt new file mode 100644 index 00000000000..1278d866d84 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/arrays-with-variances/takesArrayList.kt @@ -0,0 +1,112 @@ +public class TakesArrayList { + + // There is a Java user to flag up any problems, as if the .class file differs from my + // claimed types above we'll see two overloads and two parameter types instead of one. + + // Test how Array types with a variance should be lowered: + fun invarArray(a: Array) { } + fun outArray(a: Array) { } + fun inArray(a: Array) { } + + fun invarInvarArray(a: Array>) { } + fun invarOutArray(a: Array>) { } + fun invarInArray(a: Array>) { } + + fun outInvarArray(a: Array>) { } + fun outOutArray(a: Array>) { } + fun outInArray(a: Array>) { } + + fun inInvarArray(a: Array>) { } + fun inOutArray(a: Array>) { } + fun inInArray(a: Array>) { } + + // Test how Array type arguments with a variance should acquire implicit wildcards: + fun invarArrayList(l: List>) { } + fun outArrayList(l: List>) { } + fun inArrayList(l: List>) { } + + // Check the cases of nested arrays: + fun invarInvarArrayList(l: List>>) { } + fun invarOutArrayList(l: List>>) { } + fun invarInArrayList(l: List>>) { } + fun outInvarArrayList(l: List>>) { } + fun outOutArrayList(l: List>>) { } + fun outInArrayList(l: List>>) { } + fun inInvarArrayList(l: List>>) { } + fun inOutArrayList(l: List>>) { } + fun inInArrayList(l: List>>) { } + + // Now check all of that again for Comparable, whose type parameter is contravariant: + fun invarArrayComparable(c: Comparable>) { } + fun outArrayComparable(c: Comparable>) { } + fun inArrayComparable(c: Comparable>) { } + + fun invarInvarArrayComparable(c: Comparable>>) { } + fun invarOutArrayComparable(c: Comparable>>) { } + fun invarInArrayComparable(c: Comparable>>) { } + fun outInvarArrayComparable(c: Comparable>>) { } + fun outOutArrayComparable(c: Comparable>>) { } + fun outInArrayComparable(c: Comparable>>) { } + fun inInvarArrayComparable(c: Comparable>>) { } + fun inOutArrayComparable(c: Comparable>>) { } + fun inInArrayComparable(c: Comparable>>) { } + + // ... duplicate all of that for a final array element (I choose String as a final type), which sometimes suppresses addition of `? extends ...` + fun invarArrayListFinal(l: List>) { } + fun outArrayListFinal(l: List>) { } + fun inArrayListFinal(l: List>) { } + + fun invarInvarArrayListFinal(l: List>>) { } + fun invarOutArrayListFinal(l: List>>) { } + fun invarInArrayListFinal(l: List>>) { } + fun outInvarArrayListFinal(l: List>>) { } + fun outOutArrayListFinal(l: List>>) { } + fun outInArrayListFinal(l: List>>) { } + fun inInvarArrayListFinal(l: List>>) { } + fun inOutArrayListFinal(l: List>>) { } + fun inInArrayListFinal(l: List>>) { } + + fun invarArrayComparableFinal(c: Comparable>) { } + fun outArrayComparableFinal(c: Comparable>) { } + fun inArrayComparableFinal(c: Comparable>) { } + + fun invarInvarArrayComparableFinal(c: Comparable>>) { } + fun invarOutArrayComparableFinal(c: Comparable>>) { } + fun invarInArrayComparableFinal(c: Comparable>>) { } + fun outInvarArrayComparableFinal(c: Comparable>>) { } + fun outOutArrayComparableFinal(c: Comparable>>) { } + fun outInArrayComparableFinal(c: Comparable>>) { } + fun inInvarArrayComparableFinal(c: Comparable>>) { } + fun inOutArrayComparableFinal(c: Comparable>>) { } + fun inInArrayComparableFinal(c: Comparable>>) { } + + // ... and duplicate it once more with Any as the array element, which can suppress adding `? super ...` + fun invarArrayListAny(l: List>) { } + fun outArrayListAny(l: List>) { } + fun inArrayListAny(l: List>) { } + + fun invarInvarArrayListAny(l: List>>) { } + fun invarOutArrayListAny(l: List>>) { } + fun invarInArrayListAny(l: List>>) { } + fun outInvarArrayListAny(l: List>>) { } + fun outOutArrayListAny(l: List>>) { } + fun outInArrayListAny(l: List>>) { } + fun inInvarArrayListAny(l: List>>) { } + fun inOutArrayListAny(l: List>>) { } + fun inInArrayListAny(l: List>>) { } + + fun invarArrayComparableAny(c: Comparable>) { } + fun outArrayComparableAny(c: Comparable>) { } + fun inArrayComparableAny(c: Comparable>) { } + + fun invarInvarArrayComparableAny(c: Comparable>>) { } + fun invarOutArrayComparableAny(c: Comparable>>) { } + fun invarInArrayComparableAny(c: Comparable>>) { } + fun outInvarArrayComparableAny(c: Comparable>>) { } + fun outOutArrayComparableAny(c: Comparable>>) { } + fun outInArrayComparableAny(c: Comparable>>) { } + fun inInvarArrayComparableAny(c: Comparable>>) { } + fun inOutArrayComparableAny(c: Comparable>>) { } + fun inInArrayComparableAny(c: Comparable>>) { } + +} diff --git a/java/ql/test/kotlin/library-tests/arrays-with-variances/test.expected b/java/ql/test/kotlin/library-tests/arrays-with-variances/test.expected new file mode 100644 index 00000000000..d552925819e --- /dev/null +++ b/java/ql/test/kotlin/library-tests/arrays-with-variances/test.expected @@ -0,0 +1,86 @@ +broken +#select +| inArray | Object[] | +| inArrayComparable | Comparable | +| inArrayComparableAny | Comparable | +| inArrayComparableFinal | Comparable | +| inArrayList | List | +| inArrayListAny | List | +| inArrayListFinal | List | +| inInArray | Object[] | +| inInArrayComparable | Comparable | +| inInArrayComparableAny | Comparable | +| inInArrayComparableFinal | Comparable | +| inInArrayList | List | +| inInArrayListAny | List | +| inInArrayListFinal | List | +| inInvarArray | Object[] | +| inInvarArrayComparable | Comparable | +| inInvarArrayComparableAny | Comparable | +| inInvarArrayComparableFinal | Comparable | +| inInvarArrayList | List | +| inInvarArrayListAny | List | +| inInvarArrayListFinal | List | +| inOutArray | Object[] | +| inOutArrayComparable | Comparable | +| inOutArrayComparableAny | Comparable | +| inOutArrayComparableFinal | Comparable | +| inOutArrayList | List | +| inOutArrayListAny | List | +| inOutArrayListFinal | List | +| invarArray | CharSequence[] | +| invarArrayComparable | Comparable | +| invarArrayComparableAny | Comparable | +| invarArrayComparableFinal | Comparable | +| invarArrayList | List | +| invarArrayListAny | List | +| invarArrayListFinal | List | +| invarInArray | Object[][] | +| invarInArrayComparable | Comparable | +| invarInArrayComparableAny | Comparable | +| invarInArrayComparableFinal | Comparable | +| invarInArrayList | List | +| invarInArrayListAny | List | +| invarInArrayListFinal | List | +| invarInvarArray | CharSequence[][] | +| invarInvarArrayComparable | Comparable | +| invarInvarArrayComparableAny | Comparable | +| invarInvarArrayComparableFinal | Comparable | +| invarInvarArrayList | List | +| invarInvarArrayListAny | List | +| invarInvarArrayListFinal | List | +| invarOutArray | CharSequence[][] | +| invarOutArrayComparable | Comparable | +| invarOutArrayComparableAny | Comparable | +| invarOutArrayComparableFinal | Comparable | +| invarOutArrayList | List | +| invarOutArrayListAny | List | +| invarOutArrayListFinal | List | +| outArray | CharSequence[] | +| outArrayComparable | Comparable | +| outArrayComparableAny | Comparable | +| outArrayComparableFinal | Comparable | +| outArrayList | List | +| outArrayListAny | List | +| outArrayListFinal | List | +| outInArray | Object[][] | +| outInArrayComparable | Comparable | +| outInArrayComparableAny | Comparable | +| outInArrayComparableFinal | Comparable | +| outInArrayList | List | +| outInArrayListAny | List | +| outInArrayListFinal | List | +| outInvarArray | CharSequence[][] | +| outInvarArrayComparable | Comparable | +| outInvarArrayComparableAny | Comparable | +| outInvarArrayComparableFinal | Comparable | +| outInvarArrayList | List | +| outInvarArrayListAny | List | +| outInvarArrayListFinal | List | +| outOutArray | CharSequence[][] | +| outOutArrayComparable | Comparable | +| outOutArrayComparableAny | Comparable | +| outOutArrayComparableFinal | Comparable | +| outOutArrayList | List | +| outOutArrayListAny | List | +| outOutArrayListFinal | List | diff --git a/java/ql/test/kotlin/library-tests/arrays-with-variances/test.ql b/java/ql/test/kotlin/library-tests/arrays-with-variances/test.ql new file mode 100644 index 00000000000..92c138cc0f2 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/arrays-with-variances/test.ql @@ -0,0 +1,13 @@ +import java + +class InterestingMethod extends Method { + InterestingMethod() { this.getDeclaringType().getName() = "TakesArrayList" } +} + +query predicate broken(string methodName) { + methodName = any(InterestingMethod m).getName() and + count(Type t, InterestingMethod m | methodName = m.getName() and t = m.getAParamType() | t) != 1 +} + +from InterestingMethod m +select m.getName(), m.getAParamType().toString() diff --git a/java/ql/test/kotlin/library-tests/classes/PrintAst.expected b/java/ql/test/kotlin/library-tests/classes/PrintAst.expected index 0346a4e0292..1ba8a3396bf 100644 --- a/java/ql/test/kotlin/library-tests/classes/PrintAst.expected +++ b/java/ql/test/kotlin/library-tests/classes/PrintAst.expected @@ -32,7 +32,7 @@ classes.kt: # 4| 0: [ReturnStmt] return ... # 4| 0: [VarAccess] this.arg # 4| -1: [ThisAccess] this -# 4| 2: [FieldDeclaration] int arg; +# 4| 3: [FieldDeclaration] int arg; # 4| -1: [TypeAccess] int # 4| 0: [VarAccess] arg # 5| 4: [Method] getX @@ -41,7 +41,7 @@ classes.kt: # 5| 0: [ReturnStmt] return ... # 5| 0: [VarAccess] this.x # 5| -1: [ThisAccess] this -# 5| 4: [FieldDeclaration] int x; +# 5| 5: [FieldDeclaration] int x; # 5| -1: [TypeAccess] int # 5| 0: [IntegerLiteral] 3 # 8| 4: [Class] ClassThree @@ -118,18 +118,18 @@ classes.kt: # 42| 0: [ReturnStmt] return ... # 42| 0: [VarAccess] this.x # 42| -1: [ThisAccess] this -# 42| 2: [FieldDeclaration] int x; +# 42| 3: [FieldDeclaration] int x; # 42| -1: [TypeAccess] int # 42| 0: [IntegerLiteral] 3 # 49| 11: [Class] Direction -# 0| 1: [Method] values -# 0| 3: [TypeAccess] Direction[] -# 0| 0: [TypeAccess] Direction -# 0| 1: [Method] valueOf +# 0| 2: [Method] valueOf # 0| 3: [TypeAccess] Direction #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String +# 0| 3: [Method] values +# 0| 3: [TypeAccess] Direction[] +# 0| 0: [TypeAccess] Direction # 49| 4: [Constructor] Direction # 49| 5: [BlockStmt] { ... } # 49| 0: [ExprStmt] ; @@ -154,14 +154,14 @@ classes.kt: # 50| 0: [ClassInstanceExpr] new Direction(...) # 50| -3: [TypeAccess] Direction # 53| 12: [Class] Color -# 0| 1: [Method] values -# 0| 3: [TypeAccess] Color[] -# 0| 0: [TypeAccess] Color -# 0| 1: [Method] valueOf +# 0| 2: [Method] valueOf # 0| 3: [TypeAccess] Color #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String +# 0| 3: [Method] values +# 0| 3: [TypeAccess] Color[] +# 0| 0: [TypeAccess] Color # 53| 4: [Constructor] Color #-----| 4: (Parameters) # 53| 0: [Parameter] rgb @@ -181,7 +181,7 @@ classes.kt: # 53| 0: [ReturnStmt] return ... # 53| 0: [VarAccess] this.rgb # 53| -1: [ThisAccess] this -# 53| 5: [FieldDeclaration] int rgb; +# 53| 6: [FieldDeclaration] int rgb; # 53| -1: [TypeAccess] int # 53| 0: [VarAccess] rgb # 54| 7: [FieldDeclaration] Color RED; @@ -266,7 +266,7 @@ classes.kt: # 73| 0: [ReturnStmt] return ... # 73| 0: [VarAccess] this.x # 73| -1: [ThisAccess] this -# 73| 2: [FieldDeclaration] int x; +# 73| 3: [FieldDeclaration] int x; # 73| -1: [TypeAccess] int # 73| 0: [IntegerLiteral] 1 # 74| 4: [Method] foo @@ -434,7 +434,7 @@ classes.kt: # 118| 1: [Constructor] # 118| 5: [BlockStmt] { ... } # 118| 0: [SuperConstructorInvocationStmt] super(...) -# 118| 1: [Method] localFn +# 118| 2: [Method] localFn # 118| 3: [TypeAccess] Unit # 118| 5: [BlockStmt] { ... } # 119| 0: [LocalTypeDeclStmt] class ... @@ -541,15 +541,15 @@ generic_anonymous.kt: # 3| 1: [ExprStmt] ; # 3| 0: [KtInitializerAssignExpr] ...=... # 3| 0: [VarAccess] x -# 1| 2: [Method] getT +# 1| 2: [FieldDeclaration] T t; +# 1| -1: [TypeAccess] T +# 1| 0: [VarAccess] t +# 1| 3: [Method] getT # 1| 3: [TypeAccess] T # 1| 5: [BlockStmt] { ... } # 1| 0: [ReturnStmt] return ... # 1| 0: [VarAccess] this.t # 1| -1: [ThisAccess] this -# 1| 2: [FieldDeclaration] T t; -# 1| -1: [TypeAccess] T -# 1| 0: [VarAccess] t # 3| 4: [FieldDeclaration] new Object(...) { ... } x; # 3| -1: [TypeAccess] new Object(...) { ... } # 3| 0: [TypeAccess] T @@ -564,17 +564,17 @@ generic_anonymous.kt: # 4| 0: [ExprStmt] ; # 4| 0: [KtInitializerAssignExpr] ...=... # 4| 0: [VarAccess] member -# 4| 2: [Method] getMember -# 4| 3: [TypeAccess] T -# 4| 5: [BlockStmt] { ... } -# 4| 0: [ReturnStmt] return ... -# 4| 0: [VarAccess] this.member -# 4| -1: [ThisAccess] this # 4| 2: [FieldDeclaration] T member; # 4| -1: [TypeAccess] T # 4| 0: [MethodAccess] getT(...) # 4| -1: [ThisAccess] Generic.this # 4| 0: [TypeAccess] Generic +# 4| 3: [Method] getMember +# 4| 3: [TypeAccess] T +# 4| 5: [BlockStmt] { ... } +# 4| 0: [ReturnStmt] return ... +# 4| 0: [VarAccess] this.member +# 4| -1: [ThisAccess] this # 3| 1: [ExprStmt] ; # 3| 0: [ClassInstanceExpr] new (...) # 3| -3: [TypeAccess] Object @@ -605,12 +605,6 @@ localClassField.kt: # 7| 1: [ExprStmt] ; # 7| 0: [KtInitializerAssignExpr] ...=... # 7| 0: [VarAccess] y -# 2| 2: [Method] getX -# 2| 3: [TypeAccess] Object -# 2| 5: [BlockStmt] { ... } -# 2| 0: [ReturnStmt] return ... -# 2| 0: [VarAccess] this.x -# 2| -1: [ThisAccess] this # 2| 2: [FieldDeclaration] Object x; # 2| -1: [TypeAccess] Object # 2| 0: [WhenExpr] when ... @@ -629,12 +623,12 @@ localClassField.kt: # 2| 1: [WhenBranch] ... -> ... # 2| 0: [BooleanLiteral] true # 5| 1: [BlockStmt] { ... } -# 7| 4: [Method] getY -# 7| 3: [TypeAccess] Object -# 7| 5: [BlockStmt] { ... } -# 7| 0: [ReturnStmt] return ... -# 7| 0: [VarAccess] this.y -# 7| -1: [ThisAccess] this +# 2| 3: [Method] getX +# 2| 3: [TypeAccess] Object +# 2| 5: [BlockStmt] { ... } +# 2| 0: [ReturnStmt] return ... +# 2| 0: [VarAccess] this.x +# 2| -1: [ThisAccess] this # 7| 4: [FieldDeclaration] Object y; # 7| -1: [TypeAccess] Object # 7| 0: [WhenExpr] when ... @@ -653,6 +647,12 @@ localClassField.kt: # 7| 1: [WhenBranch] ... -> ... # 7| 0: [BooleanLiteral] true # 10| 1: [BlockStmt] { ... } +# 7| 5: [Method] getY +# 7| 3: [TypeAccess] Object +# 7| 5: [BlockStmt] { ... } +# 7| 0: [ReturnStmt] return ... +# 7| 0: [VarAccess] this.y +# 7| -1: [ThisAccess] this local_anonymous.kt: # 0| [CompilationUnit] local_anonymous # 3| 1: [Class] Class1 @@ -686,7 +686,7 @@ local_anonymous.kt: # 11| 1: [Constructor] # 11| 5: [BlockStmt] { ... } # 11| 0: [SuperConstructorInvocationStmt] super(...) -# 11| 1: [Method] fnLocal +# 11| 2: [Method] fnLocal # 11| 3: [TypeAccess] Unit # 11| 5: [BlockStmt] { ... } # 12| 1: [ExprStmt] ; @@ -703,7 +703,7 @@ local_anonymous.kt: # 16| 1: [Constructor] # 16| 5: [BlockStmt] { ... } # 16| 0: [SuperConstructorInvocationStmt] super(...) -# 16| 1: [Method] invoke +# 16| 2: [Method] invoke # 16| 3: [TypeAccess] int #-----| 4: (Parameters) # 16| 0: [Parameter] a @@ -726,7 +726,7 @@ local_anonymous.kt: # 17| 1: [Constructor] # 17| 5: [BlockStmt] { ... } # 17| 0: [SuperConstructorInvocationStmt] super(...) -# 17| 1: [Method] invoke +# 17| 2: [Method] invoke # 17| 3: [TypeAccess] int #-----| 4: (Parameters) # 17| 0: [Parameter] a @@ -752,7 +752,7 @@ local_anonymous.kt: # 21| 1: [Constructor] # 21| 5: [BlockStmt] { ... } # 21| 0: [SuperConstructorInvocationStmt] super(...) -# 21| 1: [Method] invoke +# 21| 2: [Method] invoke #-----| 4: (Parameters) # 21| 0: [Parameter] a0 # 21| 5: [BlockStmt] { ... } @@ -797,7 +797,10 @@ local_anonymous.kt: # 30| 0: [ReturnStmt] return ... # 30| 0: [VarAccess] this.x # 30| -1: [ThisAccess] this -# 30| 2: [Method] setX +# 30| 3: [FieldDeclaration] int x; +# 30| -1: [TypeAccess] int +# 30| 0: [IntegerLiteral] 1 +# 30| 4: [Method] setX # 30| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 30| 0: [Parameter] @@ -808,9 +811,6 @@ local_anonymous.kt: # 30| 0: [VarAccess] this.x # 30| -1: [ThisAccess] this # 30| 1: [VarAccess] -# 30| 2: [FieldDeclaration] int x; -# 30| -1: [TypeAccess] int -# 30| 0: [IntegerLiteral] 1 # 32| 5: [Method] member # 32| 3: [TypeAccess] Unit # 32| 5: [BlockStmt] { ... } @@ -840,23 +840,6 @@ local_anonymous.kt: # 40| 0: [ExprStmt] ; # 40| 0: [KtInitializerAssignExpr] ...=... # 40| 0: [VarAccess] i -# 40| 2: [Method] getI -# 40| 3: [TypeAccess] Interface2 -# 40| 5: [BlockStmt] { ... } -# 40| 0: [ReturnStmt] return ... -# 40| 0: [VarAccess] this.i -# 40| -1: [ThisAccess] this -# 40| 2: [Method] setI -# 40| 3: [TypeAccess] Unit -#-----| 4: (Parameters) -# 40| 0: [Parameter] -# 40| 0: [TypeAccess] Interface2 -# 40| 5: [BlockStmt] { ... } -# 40| 0: [ExprStmt] ; -# 40| 0: [AssignExpr] ...=... -# 40| 0: [VarAccess] this.i -# 40| -1: [ThisAccess] this -# 40| 1: [VarAccess] # 40| 2: [FieldDeclaration] Interface2 i; # 40| -1: [TypeAccess] Interface2 # 40| 0: [StmtExpr] @@ -873,6 +856,23 @@ local_anonymous.kt: # 40| 1: [ExprStmt] ; # 40| 0: [ClassInstanceExpr] new (...) # 40| -3: [TypeAccess] Interface2 +# 40| 3: [Method] getI +# 40| 3: [TypeAccess] Interface2 +# 40| 5: [BlockStmt] { ... } +# 40| 0: [ReturnStmt] return ... +# 40| 0: [VarAccess] this.i +# 40| -1: [ThisAccess] this +# 40| 4: [Method] setI +# 40| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 40| 0: [Parameter] +# 40| 0: [TypeAccess] Interface2 +# 40| 5: [BlockStmt] { ... } +# 40| 0: [ExprStmt] ; +# 40| 0: [AssignExpr] ...=... +# 40| 0: [VarAccess] this.i +# 40| -1: [ThisAccess] this +# 40| 1: [VarAccess] superChain.kt: # 0| [CompilationUnit] superChain # 1| 1: [Class,GenericType,ParameterizedType] SuperChain1 diff --git a/java/ql/test/kotlin/library-tests/data-classes/PrintAst.expected b/java/ql/test/kotlin/library-tests/data-classes/PrintAst.expected index 06f6a78ce60..aa31626daeb 100644 --- a/java/ql/test/kotlin/library-tests/data-classes/PrintAst.expected +++ b/java/ql/test/kotlin/library-tests/data-classes/PrintAst.expected @@ -7,14 +7,14 @@ dc.kt: # 0| 0: [ReturnStmt] return ... # 0| 0: [VarAccess] this.bytes # 0| -1: [ThisAccess] this -# 0| 1: [Method] component2 +# 0| 2: [Method] component2 # 0| 3: [TypeAccess] String[] # 0| 0: [TypeAccess] String # 0| 5: [BlockStmt] { ... } # 0| 0: [ReturnStmt] return ... # 0| 0: [VarAccess] this.strs # 0| -1: [ThisAccess] this -# 0| 1: [Method] copy +# 0| 3: [Method] copy # 0| 3: [TypeAccess] ProtoMapValue #-----| 4: (Parameters) # 1| 0: [Parameter] bytes @@ -28,47 +28,7 @@ dc.kt: # 0| -3: [TypeAccess] ProtoMapValue # 0| 0: [VarAccess] bytes # 0| 1: [VarAccess] strs -# 0| 1: [Method] toString -# 0| 3: [TypeAccess] String -# 0| 5: [BlockStmt] { ... } -# 0| 0: [ReturnStmt] return ... -# 0| 0: [StringTemplateExpr] "..." -# 0| 0: [StringLiteral] ProtoMapValue( -# 0| 1: [StringLiteral] bytes= -# 0| 2: [MethodAccess] toString(...) -# 0| -1: [TypeAccess] Arrays -# 0| 0: [VarAccess] this.bytes -# 0| -1: [ThisAccess] this -# 0| 3: [StringLiteral] , -# 0| 4: [StringLiteral] strs= -# 0| 5: [MethodAccess] toString(...) -# 0| -1: [TypeAccess] Arrays -# 0| 0: [VarAccess] this.strs -# 0| -1: [ThisAccess] this -# 0| 6: [StringLiteral] ) -# 0| 1: [Method] hashCode -# 0| 3: [TypeAccess] int -# 0| 5: [BlockStmt] { ... } -# 0| 0: [LocalVariableDeclStmt] var ...; -# 0| 1: [LocalVariableDeclExpr] result -# 0| 0: [MethodAccess] hashCode(...) -# 0| -1: [TypeAccess] Arrays -# 0| 0: [VarAccess] this.bytes -# 0| -1: [ThisAccess] this -# 0| 1: [ExprStmt] ; -# 0| 0: [AssignExpr] ...=... -# 0| 0: [VarAccess] result -# 0| 1: [MethodAccess] plus(...) -# 0| -1: [MethodAccess] times(...) -# 0| -1: [VarAccess] result -# 0| 0: [IntegerLiteral] 31 -# 0| 0: [MethodAccess] hashCode(...) -# 0| -1: [TypeAccess] Arrays -# 0| 0: [VarAccess] this.strs -# 0| -1: [ThisAccess] this -# 0| 2: [ReturnStmt] return ... -# 0| 0: [VarAccess] result -# 0| 1: [Method] equals +# 0| 4: [Method] equals # 0| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 0| 0: [Parameter] other @@ -117,6 +77,46 @@ dc.kt: # 0| 0: [BooleanLiteral] false # 0| 5: [ReturnStmt] return ... # 0| 0: [BooleanLiteral] true +# 0| 5: [Method] hashCode +# 0| 3: [TypeAccess] int +# 0| 5: [BlockStmt] { ... } +# 0| 0: [LocalVariableDeclStmt] var ...; +# 0| 1: [LocalVariableDeclExpr] result +# 0| 0: [MethodAccess] hashCode(...) +# 0| -1: [TypeAccess] Arrays +# 0| 0: [VarAccess] this.bytes +# 0| -1: [ThisAccess] this +# 0| 1: [ExprStmt] ; +# 0| 0: [AssignExpr] ...=... +# 0| 0: [VarAccess] result +# 0| 1: [MethodAccess] plus(...) +# 0| -1: [MethodAccess] times(...) +# 0| -1: [VarAccess] result +# 0| 0: [IntegerLiteral] 31 +# 0| 0: [MethodAccess] hashCode(...) +# 0| -1: [TypeAccess] Arrays +# 0| 0: [VarAccess] this.strs +# 0| -1: [ThisAccess] this +# 0| 2: [ReturnStmt] return ... +# 0| 0: [VarAccess] result +# 0| 6: [Method] toString +# 0| 3: [TypeAccess] String +# 0| 5: [BlockStmt] { ... } +# 0| 0: [ReturnStmt] return ... +# 0| 0: [StringTemplateExpr] "..." +# 0| 0: [StringLiteral] ProtoMapValue( +# 0| 1: [StringLiteral] bytes= +# 0| 2: [MethodAccess] toString(...) +# 0| -1: [TypeAccess] Arrays +# 0| 0: [VarAccess] this.bytes +# 0| -1: [ThisAccess] this +# 0| 3: [StringLiteral] , +# 0| 4: [StringLiteral] strs= +# 0| 5: [MethodAccess] toString(...) +# 0| -1: [TypeAccess] Arrays +# 0| 0: [VarAccess] this.strs +# 0| -1: [ThisAccess] this +# 0| 6: [StringLiteral] ) # 1| 7: [Constructor] ProtoMapValue #-----| 4: (Parameters) # 1| 0: [Parameter] bytes @@ -133,23 +133,23 @@ dc.kt: # 1| 1: [ExprStmt] ; # 1| 0: [KtInitializerAssignExpr] ...=... # 1| 0: [VarAccess] strs -# 1| 8: [Method] getBytes +# 1| 8: [FieldDeclaration] byte[] bytes; +# 1| -1: [TypeAccess] byte[] +# 1| 0: [VarAccess] bytes +# 1| 9: [Method] getBytes # 1| 3: [TypeAccess] byte[] # 1| 5: [BlockStmt] { ... } # 1| 0: [ReturnStmt] return ... # 1| 0: [VarAccess] this.bytes # 1| -1: [ThisAccess] this -# 1| 8: [FieldDeclaration] byte[] bytes; -# 1| -1: [TypeAccess] byte[] -# 1| 0: [VarAccess] bytes -# 1| 10: [Method] getStrs +# 1| 10: [FieldDeclaration] String[] strs; +# 1| -1: [TypeAccess] String[] +# 1| 0: [TypeAccess] String +# 1| 0: [VarAccess] strs +# 1| 11: [Method] getStrs # 1| 3: [TypeAccess] String[] # 1| 0: [TypeAccess] String # 1| 5: [BlockStmt] { ... } # 1| 0: [ReturnStmt] return ... # 1| 0: [VarAccess] this.strs # 1| -1: [ThisAccess] this -# 1| 10: [FieldDeclaration] String[] strs; -# 1| -1: [TypeAccess] String[] -# 1| 0: [TypeAccess] String -# 1| 0: [VarAccess] strs diff --git a/java/ql/test/kotlin/library-tests/dataflow/notnullexpr/test.ql b/java/ql/test/kotlin/library-tests/dataflow/notnullexpr/test.ql index cbe6d8e9a61..1bb9801bc64 100644 --- a/java/ql/test/kotlin/library-tests/dataflow/notnullexpr/test.ql +++ b/java/ql/test/kotlin/library-tests/dataflow/notnullexpr/test.ql @@ -4,7 +4,7 @@ import semmle.code.java.dataflow.ExternalFlow class Step extends SummaryModelCsv { override predicate row(string row) { - row = ";Uri;false;getQueryParameter;;;Argument[-1];ReturnValue;taint" + row = ";Uri;false;getQueryParameter;;;Argument[-1];ReturnValue;taint;manual" } } diff --git a/java/ql/test/kotlin/library-tests/dataflow/whenexpr/WhenExpr.kt b/java/ql/test/kotlin/library-tests/dataflow/whenexpr/WhenExpr.kt index c7144d2a307..595299bc45b 100644 --- a/java/ql/test/kotlin/library-tests/dataflow/whenexpr/WhenExpr.kt +++ b/java/ql/test/kotlin/library-tests/dataflow/whenexpr/WhenExpr.kt @@ -1,10 +1,10 @@ class WhenExpr { fun taint() = Uri() - fun sink(s: String) { } + fun sink(s: String?) { } - fun bad() { - val s0 = taint() + fun bad(b: Boolean) { + val s0 = if (b) taint() else null sink(s0?.getQueryParameter()) } } diff --git a/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.expected b/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.expected index 3423d46014b..1ab2f8d67d8 100644 --- a/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.expected +++ b/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.expected @@ -1 +1 @@ -| WhenExpr.kt:7:14:7:20 | taint(...) | WhenExpr.kt:8:14:8:32 | | +| WhenExpr.kt:7:21:7:27 | taint(...) | WhenExpr.kt:8:14:8:32 | | diff --git a/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.ql b/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.ql index cbe6d8e9a61..1bb9801bc64 100644 --- a/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.ql +++ b/java/ql/test/kotlin/library-tests/dataflow/whenexpr/test.ql @@ -4,7 +4,7 @@ import semmle.code.java.dataflow.ExternalFlow class Step extends SummaryModelCsv { override predicate row(string row) { - row = ";Uri;false;getQueryParameter;;;Argument[-1];ReturnValue;taint" + row = ";Uri;false;getQueryParameter;;;Argument[-1];ReturnValue;taint;manual" } } diff --git a/java/ql/test/kotlin/library-tests/exprs/PrintAst.expected b/java/ql/test/kotlin/library-tests/exprs/PrintAst.expected index 8696254be8f..879eb93c94e 100644 --- a/java/ql/test/kotlin/library-tests/exprs/PrintAst.expected +++ b/java/ql/test/kotlin/library-tests/exprs/PrintAst.expected @@ -7,7 +7,10 @@ delegatedProperties.kt: # 60| 0: [ReturnStmt] return ... # 60| 0: [VarAccess] DelegatedPropertiesKt.topLevelInt # 60| -1: [TypeAccess] DelegatedPropertiesKt -# 60| 2: [Method] setTopLevelInt +# 60| 3: [FieldDeclaration] int topLevelInt; +# 60| -1: [TypeAccess] int +# 60| 0: [IntegerLiteral] 0 +# 60| 4: [Method] setTopLevelInt # 60| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 60| 0: [Parameter] @@ -18,10 +21,35 @@ delegatedProperties.kt: # 60| 0: [VarAccess] DelegatedPropertiesKt.topLevelInt # 60| -1: [TypeAccess] DelegatedPropertiesKt # 60| 1: [VarAccess] -# 60| 2: [FieldDeclaration] int topLevelInt; -# 60| -1: [TypeAccess] int -# 60| 0: [IntegerLiteral] 0 -# 87| 5: [ExtensionMethod] getExtDelegated +# 87| 5: [FieldDeclaration] KMutableProperty0 extDelegated$delegateMyClass; +# 87| -1: [TypeAccess] KMutableProperty0 +# 87| 0: [TypeAccess] Integer +# 87| 0: [PropertyRefExpr] ...::... +# 87| -4: [AnonymousClass] new KMutableProperty0(...) { ... } +# 87| 1: [Constructor] +# 87| 5: [BlockStmt] { ... } +# 87| 0: [SuperConstructorInvocationStmt] super(...) +# 87| 2: [Method] get +# 87| 5: [BlockStmt] { ... } +# 87| 0: [ReturnStmt] return ... +# 87| 0: [MethodAccess] getTopLevelInt(...) +# 87| -1: [TypeAccess] DelegatedPropertiesKt +# 87| 3: [Method] invoke +# 87| 5: [BlockStmt] { ... } +# 87| 0: [ReturnStmt] return ... +# 87| 0: [MethodAccess] get(...) +# 87| -1: [ThisAccess] this +# 87| 4: [Method] set +#-----| 4: (Parameters) +# 87| 0: [Parameter] a0 +# 87| 5: [BlockStmt] { ... } +# 87| 0: [ReturnStmt] return ... +# 87| 0: [MethodAccess] setTopLevelInt(...) +# 87| -1: [TypeAccess] DelegatedPropertiesKt +# 87| 0: [VarAccess] a0 +# 87| -3: [TypeAccess] KMutableProperty0 +# 87| 0: [TypeAccess] Integer +# 87| 6: [ExtensionMethod] getExtDelegated # 87| 3: [TypeAccess] int #-----| 4: (Parameters) # 87| 0: [Parameter] @@ -39,7 +67,7 @@ delegatedProperties.kt: # 87| 1: [Constructor] # 87| 5: [BlockStmt] { ... } # 87| 0: [SuperConstructorInvocationStmt] super(...) -# 87| 1: [Method] get +# 87| 2: [Method] get #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } @@ -47,7 +75,7 @@ delegatedProperties.kt: # 87| 0: [MethodAccess] getExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 -# 87| 1: [Method] invoke +# 87| 3: [Method] invoke #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } @@ -55,7 +83,7 @@ delegatedProperties.kt: # 87| 0: [MethodAccess] get(...) # 87| -1: [ThisAccess] this # 87| 0: [VarAccess] a0 -# 87| 1: [Method] set +# 87| 4: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 1: [Parameter] a1 @@ -68,7 +96,7 @@ delegatedProperties.kt: # 87| -3: [TypeAccess] KMutableProperty1 # 87| 0: [TypeAccess] MyClass # 87| 1: [TypeAccess] Integer -# 87| 5: [ExtensionMethod] setExtDelegated +# 87| 7: [ExtensionMethod] setExtDelegated # 87| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 87| 0: [Parameter] @@ -88,7 +116,7 @@ delegatedProperties.kt: # 87| 1: [Constructor] # 87| 5: [BlockStmt] { ... } # 87| 0: [SuperConstructorInvocationStmt] super(...) -# 87| 1: [Method] get +# 87| 2: [Method] get #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } @@ -96,7 +124,7 @@ delegatedProperties.kt: # 87| 0: [MethodAccess] getExtDelegated(...) # 87| -1: [TypeAccess] DelegatedPropertiesKt # 87| 0: [VarAccess] a0 -# 87| 1: [Method] invoke +# 87| 3: [Method] invoke #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 5: [BlockStmt] { ... } @@ -104,7 +132,7 @@ delegatedProperties.kt: # 87| 0: [MethodAccess] get(...) # 87| -1: [ThisAccess] this # 87| 0: [VarAccess] a0 -# 87| 1: [Method] set +# 87| 4: [Method] set #-----| 4: (Parameters) # 87| 0: [Parameter] a0 # 87| 1: [Parameter] a1 @@ -118,34 +146,6 @@ delegatedProperties.kt: # 87| 0: [TypeAccess] MyClass # 87| 1: [TypeAccess] Integer # 87| 3: [VarAccess] -# 87| 5: [FieldDeclaration] KMutableProperty0 extDelegated$delegateMyClass; -# 87| -1: [TypeAccess] KMutableProperty0 -# 87| 0: [TypeAccess] Integer -# 87| 0: [PropertyRefExpr] ...::... -# 87| -4: [AnonymousClass] new KMutableProperty0(...) { ... } -# 87| 1: [Constructor] -# 87| 5: [BlockStmt] { ... } -# 87| 0: [SuperConstructorInvocationStmt] super(...) -# 87| 1: [Method] get -# 87| 5: [BlockStmt] { ... } -# 87| 0: [ReturnStmt] return ... -# 87| 0: [MethodAccess] getTopLevelInt(...) -# 87| -1: [TypeAccess] DelegatedPropertiesKt -# 87| 1: [Method] invoke -# 87| 5: [BlockStmt] { ... } -# 87| 0: [ReturnStmt] return ... -# 87| 0: [MethodAccess] get(...) -# 87| -1: [ThisAccess] this -# 87| 1: [Method] set -#-----| 4: (Parameters) -# 87| 0: [Parameter] a0 -# 87| 5: [BlockStmt] { ... } -# 87| 0: [ReturnStmt] return ... -# 87| 0: [MethodAccess] setTopLevelInt(...) -# 87| -1: [TypeAccess] DelegatedPropertiesKt -# 87| 0: [VarAccess] a0 -# 87| -3: [TypeAccess] KMutableProperty0 -# 87| 0: [TypeAccess] Integer # 4| 2: [Class] ClassProp1 # 4| 1: [Constructor] ClassProp1 # 4| 5: [BlockStmt] { ... } @@ -165,7 +165,7 @@ delegatedProperties.kt: # 6| 1: [Constructor] # 6| 5: [BlockStmt] { ... } # 6| 0: [SuperConstructorInvocationStmt] super(...) -# 6| 1: [Method] invoke +# 6| 2: [Method] invoke # 6| 3: [TypeAccess] int # 7| 5: [BlockStmt] { ... } # 7| 0: [ExprStmt] ; @@ -181,7 +181,7 @@ delegatedProperties.kt: # 6| 1: [Constructor] # 6| 5: [BlockStmt] { ... } # 6| 0: [SuperConstructorInvocationStmt] super(...) -# 6| 1: [Method] +# 6| 2: [Method] # 6| 3: [TypeAccess] int # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... @@ -195,13 +195,13 @@ delegatedProperties.kt: # 6| 1: [Constructor] # 6| 5: [BlockStmt] { ... } # 6| 0: [SuperConstructorInvocationStmt] super(...) -# 6| 1: [Method] get +# 6| 2: [Method] get # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodAccess] (...) # 6| -1: [ClassInstanceExpr] new (...) # 6| -3: [TypeAccess] Object -# 6| 1: [Method] invoke +# 6| 3: [Method] invoke # 6| 5: [BlockStmt] { ... } # 6| 0: [ReturnStmt] return ... # 6| 0: [MethodAccess] get(...) @@ -252,7 +252,7 @@ delegatedProperties.kt: # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) -# 19| 1: [Method] +# 19| 2: [Method] # 19| 3: [TypeAccess] int # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... @@ -264,18 +264,18 @@ delegatedProperties.kt: # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) -# 19| 1: [Method] get +# 19| 2: [Method] get # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object -# 19| 1: [Method] invoke +# 19| 3: [Method] invoke # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] get(...) # 19| -1: [ThisAccess] this -# 19| 1: [Method] set +# 19| 4: [Method] set #-----| 4: (Parameters) # 19| 0: [Parameter] a0 # 19| 5: [BlockStmt] { ... } @@ -291,7 +291,7 @@ delegatedProperties.kt: # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) -# 19| 1: [Method] +# 19| 2: [Method] # 19| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 19| 0: [Parameter] value @@ -306,18 +306,18 @@ delegatedProperties.kt: # 19| 1: [Constructor] # 19| 5: [BlockStmt] { ... } # 19| 0: [SuperConstructorInvocationStmt] super(...) -# 19| 1: [Method] get +# 19| 2: [Method] get # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] (...) # 19| -1: [ClassInstanceExpr] new (...) # 19| -3: [TypeAccess] Object -# 19| 1: [Method] invoke +# 19| 3: [Method] invoke # 19| 5: [BlockStmt] { ... } # 19| 0: [ReturnStmt] return ... # 19| 0: [MethodAccess] get(...) # 19| -1: [ThisAccess] this -# 19| 1: [Method] set +# 19| 4: [Method] set #-----| 4: (Parameters) # 19| 0: [Parameter] a0 # 19| 5: [BlockStmt] { ... } @@ -349,7 +349,7 @@ delegatedProperties.kt: # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) -# 23| 1: [Method] +# 23| 2: [Method] # 23| 3: [TypeAccess] String # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... @@ -364,13 +364,13 @@ delegatedProperties.kt: # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) -# 23| 1: [Method] get +# 23| 2: [Method] get # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodAccess] (...) # 23| -1: [ClassInstanceExpr] new (...) # 23| -3: [TypeAccess] Object -# 23| 1: [Method] invoke +# 23| 3: [Method] invoke # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... # 23| 0: [MethodAccess] get(...) @@ -382,7 +382,7 @@ delegatedProperties.kt: # 25| 1: [Constructor] # 25| 5: [BlockStmt] { ... } # 25| 0: [SuperConstructorInvocationStmt] super(...) -# 25| 1: [Method] resourceDelegate +# 25| 2: [Method] resourceDelegate # 25| 3: [TypeAccess] ReadWriteProperty # 25| 0: [TypeAccess] Object # 25| 1: [TypeAccess] Integer @@ -405,7 +405,10 @@ delegatedProperties.kt: # 26| 0: [ReturnStmt] return ... # 26| 0: [VarAccess] this.curValue # 26| -1: [ThisAccess] this -# 26| 2: [Method] setCurValue +# 26| 3: [FieldDeclaration] int curValue; +# 26| -1: [TypeAccess] int +# 26| 0: [IntegerLiteral] 0 +# 26| 4: [Method] setCurValue # 26| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 26| 0: [Parameter] @@ -416,9 +419,6 @@ delegatedProperties.kt: # 26| 0: [VarAccess] this.curValue # 26| -1: [ThisAccess] this # 26| 1: [VarAccess] -# 26| 2: [FieldDeclaration] int curValue; -# 26| -1: [TypeAccess] int -# 26| 0: [IntegerLiteral] 0 # 27| 5: [Method] getValue # 27| 3: [TypeAccess] int #-----| 4: (Parameters) @@ -460,7 +460,7 @@ delegatedProperties.kt: # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) -# 33| 1: [Method] +# 33| 2: [Method] # 33| 3: [TypeAccess] int # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... @@ -472,13 +472,13 @@ delegatedProperties.kt: # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) -# 33| 1: [Method] get +# 33| 2: [Method] get # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodAccess] (...) # 33| -1: [ClassInstanceExpr] new (...) # 33| -3: [TypeAccess] Object -# 33| 1: [Method] invoke +# 33| 3: [Method] invoke # 33| 5: [BlockStmt] { ... } # 33| 0: [ReturnStmt] return ... # 33| 0: [MethodAccess] get(...) @@ -496,7 +496,7 @@ delegatedProperties.kt: # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) -# 34| 1: [Method] +# 34| 2: [Method] # 34| 3: [TypeAccess] int # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... @@ -508,18 +508,18 @@ delegatedProperties.kt: # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) -# 34| 1: [Method] get +# 34| 2: [Method] get # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object -# 34| 1: [Method] invoke +# 34| 3: [Method] invoke # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] get(...) # 34| -1: [ThisAccess] this -# 34| 1: [Method] set +# 34| 4: [Method] set #-----| 4: (Parameters) # 34| 0: [Parameter] a0 # 34| 5: [BlockStmt] { ... } @@ -535,7 +535,7 @@ delegatedProperties.kt: # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) -# 34| 1: [Method] +# 34| 2: [Method] # 34| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 34| 0: [Parameter] value @@ -550,18 +550,18 @@ delegatedProperties.kt: # 34| 1: [Constructor] # 34| 5: [BlockStmt] { ... } # 34| 0: [SuperConstructorInvocationStmt] super(...) -# 34| 1: [Method] get +# 34| 2: [Method] get # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] (...) # 34| -1: [ClassInstanceExpr] new (...) # 34| -3: [TypeAccess] Object -# 34| 1: [Method] invoke +# 34| 3: [Method] invoke # 34| 5: [BlockStmt] { ... } # 34| 0: [ReturnStmt] return ... # 34| 0: [MethodAccess] get(...) # 34| -1: [ThisAccess] this -# 34| 1: [Method] set +# 34| 4: [Method] set #-----| 4: (Parameters) # 34| 0: [Parameter] a0 # 34| 5: [BlockStmt] { ... } @@ -594,13 +594,13 @@ delegatedProperties.kt: # 39| 1: [Constructor] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) -# 39| 1: [Method] get +# 39| 2: [Method] get # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] (...) # 39| -1: [ClassInstanceExpr] new (...) # 39| -3: [TypeAccess] Object -# 39| 1: [Method] invoke +# 39| 3: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] get(...) @@ -612,7 +612,7 @@ delegatedProperties.kt: # 39| 1: [Constructor] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) -# 39| 1: [Method] +# 39| 2: [Method] # 39| 3: [TypeAccess] int # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... @@ -624,20 +624,24 @@ delegatedProperties.kt: # 39| 1: [Constructor] # 39| 5: [BlockStmt] { ... } # 39| 0: [SuperConstructorInvocationStmt] super(...) -# 39| 1: [Method] get +# 39| 2: [Method] get # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] (...) # 39| -1: [ClassInstanceExpr] new (...) # 39| -3: [TypeAccess] Object -# 39| 1: [Method] invoke +# 39| 3: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] get(...) # 39| -1: [ThisAccess] this # 39| -3: [TypeAccess] KProperty0 # 39| 0: [TypeAccess] Integer -# 42| 3: [Method] getVarResource0 +# 42| 3: [FieldDeclaration] ResourceDelegate varResource0$delegate; +# 42| -1: [TypeAccess] ResourceDelegate +# 42| 0: [ClassInstanceExpr] new ResourceDelegate(...) +# 42| -3: [TypeAccess] ResourceDelegate +# 42| 4: [Method] getVarResource0 # 42| 3: [TypeAccess] int # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... @@ -650,14 +654,14 @@ delegatedProperties.kt: # 42| 1: [Constructor] # 42| 5: [BlockStmt] { ... } # 42| 0: [SuperConstructorInvocationStmt] super(...) -# 42| 1: [Method] get +# 42| 2: [Method] get #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] getVarResource0(...) # 42| -1: [VarAccess] a0 -# 42| 1: [Method] invoke +# 42| 3: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } @@ -665,7 +669,7 @@ delegatedProperties.kt: # 42| 0: [MethodAccess] get(...) # 42| -1: [ThisAccess] this # 42| 0: [VarAccess] a0 -# 42| 1: [Method] set +# 42| 4: [Method] set #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 1: [Parameter] a1 @@ -677,7 +681,7 @@ delegatedProperties.kt: # 42| -3: [TypeAccess] KMutableProperty1 # 42| 0: [TypeAccess] Owner # 42| 1: [TypeAccess] Integer -# 42| 3: [Method] setVarResource0 +# 42| 5: [Method] setVarResource0 # 42| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 42| 0: [Parameter] @@ -693,14 +697,14 @@ delegatedProperties.kt: # 42| 1: [Constructor] # 42| 5: [BlockStmt] { ... } # 42| 0: [SuperConstructorInvocationStmt] super(...) -# 42| 1: [Method] get +# 42| 2: [Method] get #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } # 42| 0: [ReturnStmt] return ... # 42| 0: [MethodAccess] getVarResource0(...) # 42| -1: [VarAccess] a0 -# 42| 1: [Method] invoke +# 42| 3: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } @@ -708,7 +712,7 @@ delegatedProperties.kt: # 42| 0: [MethodAccess] get(...) # 42| -1: [ThisAccess] this # 42| 0: [VarAccess] a0 -# 42| 1: [Method] set +# 42| 4: [Method] set #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 1: [Parameter] a1 @@ -721,10 +725,6 @@ delegatedProperties.kt: # 42| 0: [TypeAccess] Owner # 42| 1: [TypeAccess] Integer # 42| 2: [VarAccess] -# 42| 3: [FieldDeclaration] ResourceDelegate varResource0$delegate; -# 42| -1: [TypeAccess] ResourceDelegate -# 42| 0: [ClassInstanceExpr] new ResourceDelegate(...) -# 42| -3: [TypeAccess] ResourceDelegate # 45| 5: [Class] ResourceDelegate # 45| 1: [Constructor] ResourceDelegate # 45| 5: [BlockStmt] { ... } @@ -786,7 +786,7 @@ delegatedProperties.kt: # 62| 0: [ReturnStmt] return ... # 62| 0: [VarAccess] this.anotherClassInt # 62| -1: [ThisAccess] this -# 62| 2: [FieldDeclaration] int anotherClassInt; +# 62| 3: [FieldDeclaration] int anotherClassInt; # 62| -1: [TypeAccess] int # 62| 0: [VarAccess] anotherClassInt # 63| 8: [Class] Base @@ -806,7 +806,7 @@ delegatedProperties.kt: # 63| 0: [ReturnStmt] return ... # 63| 0: [VarAccess] this.baseClassInt # 63| -1: [ThisAccess] this -# 63| 2: [FieldDeclaration] int baseClassInt; +# 63| 3: [FieldDeclaration] int baseClassInt; # 63| -1: [TypeAccess] int # 63| 0: [VarAccess] baseClassInt # 65| 9: [Class] MyClass @@ -859,7 +859,10 @@ delegatedProperties.kt: # 65| 0: [ReturnStmt] return ... # 65| 0: [VarAccess] this.memberInt # 65| -1: [ThisAccess] this -# 65| 2: [Method] setMemberInt +# 65| 3: [FieldDeclaration] int memberInt; +# 65| -1: [TypeAccess] int +# 65| 0: [VarAccess] memberInt +# 65| 4: [Method] setMemberInt # 65| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 65| 0: [Parameter] @@ -870,19 +873,57 @@ delegatedProperties.kt: # 65| 0: [VarAccess] this.memberInt # 65| -1: [ThisAccess] this # 65| 1: [VarAccess] -# 65| 2: [FieldDeclaration] int memberInt; -# 65| -1: [TypeAccess] int -# 65| 0: [VarAccess] memberInt -# 65| 5: [Method] getAnotherClassInstance +# 65| 5: [FieldDeclaration] ClassWithDelegate anotherClassInstance; +# 65| -1: [TypeAccess] ClassWithDelegate +# 65| 0: [VarAccess] anotherClassInstance +# 65| 6: [Method] getAnotherClassInstance # 65| 3: [TypeAccess] ClassWithDelegate # 65| 5: [BlockStmt] { ... } # 65| 0: [ReturnStmt] return ... # 65| 0: [VarAccess] this.anotherClassInstance # 65| -1: [ThisAccess] this -# 65| 5: [FieldDeclaration] ClassWithDelegate anotherClassInstance; -# 65| -1: [TypeAccess] ClassWithDelegate -# 65| 0: [VarAccess] anotherClassInstance -# 66| 7: [Method] getDelegatedToMember1 +# 66| 7: [FieldDeclaration] KMutableProperty0 delegatedToMember1$delegate; +# 66| -1: [TypeAccess] KMutableProperty0 +# 66| 0: [TypeAccess] Integer +# 66| 0: [PropertyRefExpr] ...::... +# 66| -4: [AnonymousClass] new KMutableProperty0(...) { ... } +# 66| 1: [Constructor] +#-----| 4: (Parameters) +# 66| 0: [Parameter] +# 66| 5: [BlockStmt] { ... } +# 66| 0: [SuperConstructorInvocationStmt] super(...) +# 66| 1: [ExprStmt] ; +# 66| 0: [AssignExpr] ...=... +# 66| 0: [VarAccess] this. +# 66| -1: [ThisAccess] this +# 66| 1: [VarAccess] +# 66| 2: [FieldDeclaration] MyClass ; +# 66| -1: [TypeAccess] MyClass +# 66| 3: [Method] get +# 66| 5: [BlockStmt] { ... } +# 66| 0: [ReturnStmt] return ... +# 66| 0: [MethodAccess] getMemberInt(...) +# 66| -1: [VarAccess] this. +# 66| -1: [ThisAccess] this +# 66| 4: [Method] invoke +# 66| 5: [BlockStmt] { ... } +# 66| 0: [ReturnStmt] return ... +# 66| 0: [MethodAccess] get(...) +# 66| -1: [ThisAccess] this +# 66| 5: [Method] set +#-----| 4: (Parameters) +# 66| 0: [Parameter] a0 +# 66| 5: [BlockStmt] { ... } +# 66| 0: [ReturnStmt] return ... +# 66| 0: [MethodAccess] setMemberInt(...) +# 66| -1: [VarAccess] this. +# 66| -1: [ThisAccess] this +# 66| 0: [VarAccess] a0 +# 66| -3: [TypeAccess] KMutableProperty0 +# 66| 0: [TypeAccess] Integer +# 66| 0: [ThisAccess] MyClass.this +# 66| 0: [TypeAccess] MyClass +# 66| 8: [Method] getDelegatedToMember1 # 66| 3: [TypeAccess] int # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... @@ -897,14 +938,14 @@ delegatedProperties.kt: # 66| 1: [Constructor] # 66| 5: [BlockStmt] { ... } # 66| 0: [SuperConstructorInvocationStmt] super(...) -# 66| 1: [Method] get +# 66| 2: [Method] get #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] getDelegatedToMember1(...) # 66| -1: [VarAccess] a0 -# 66| 1: [Method] invoke +# 66| 3: [Method] invoke #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } @@ -912,7 +953,7 @@ delegatedProperties.kt: # 66| 0: [MethodAccess] get(...) # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 -# 66| 1: [Method] set +# 66| 4: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 1: [Parameter] a1 @@ -924,7 +965,7 @@ delegatedProperties.kt: # 66| -3: [TypeAccess] KMutableProperty1 # 66| 0: [TypeAccess] MyClass # 66| 1: [TypeAccess] Integer -# 66| 7: [Method] setDelegatedToMember1 +# 66| 9: [Method] setDelegatedToMember1 # 66| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 66| 0: [Parameter] @@ -942,14 +983,14 @@ delegatedProperties.kt: # 66| 1: [Constructor] # 66| 5: [BlockStmt] { ... } # 66| 0: [SuperConstructorInvocationStmt] super(...) -# 66| 1: [Method] get +# 66| 2: [Method] get #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } # 66| 0: [ReturnStmt] return ... # 66| 0: [MethodAccess] getDelegatedToMember1(...) # 66| -1: [VarAccess] a0 -# 66| 1: [Method] invoke +# 66| 3: [Method] invoke #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 5: [BlockStmt] { ... } @@ -957,7 +998,7 @@ delegatedProperties.kt: # 66| 0: [MethodAccess] get(...) # 66| -1: [ThisAccess] this # 66| 0: [VarAccess] a0 -# 66| 1: [Method] set +# 66| 4: [Method] set #-----| 4: (Parameters) # 66| 0: [Parameter] a0 # 66| 1: [Parameter] a1 @@ -970,48 +1011,43 @@ delegatedProperties.kt: # 66| 0: [TypeAccess] MyClass # 66| 1: [TypeAccess] Integer # 66| 3: [VarAccess] -# 66| 7: [FieldDeclaration] KMutableProperty0 delegatedToMember1$delegate; -# 66| -1: [TypeAccess] KMutableProperty0 -# 66| 0: [TypeAccess] Integer -# 66| 0: [PropertyRefExpr] ...::... -# 66| -4: [AnonymousClass] new KMutableProperty0(...) { ... } -# 66| 1: [Constructor] +# 67| 10: [FieldDeclaration] KMutableProperty1 delegatedToMember2$delegate; +# 67| -1: [TypeAccess] KMutableProperty1 +# 67| 0: [TypeAccess] MyClass +# 67| 1: [TypeAccess] Integer +# 67| 0: [PropertyRefExpr] ...::... +# 67| -4: [AnonymousClass] new KMutableProperty1(...) { ... } +# 67| 1: [Constructor] +# 67| 5: [BlockStmt] { ... } +# 67| 0: [SuperConstructorInvocationStmt] super(...) +# 67| 2: [Method] get #-----| 4: (Parameters) -# 66| 0: [Parameter] -# 66| 5: [BlockStmt] { ... } -# 66| 0: [SuperConstructorInvocationStmt] super(...) -# 66| 1: [ExprStmt] ; -# 66| 0: [AssignExpr] ...=... -# 66| 0: [VarAccess] this. -# 66| -1: [ThisAccess] this -# 66| 1: [VarAccess] -# 66| 1: [FieldDeclaration] MyClass ; -# 66| -1: [TypeAccess] MyClass -# 66| 1: [Method] get -# 66| 5: [BlockStmt] { ... } -# 66| 0: [ReturnStmt] return ... -# 66| 0: [MethodAccess] getMemberInt(...) -# 66| -1: [VarAccess] this. -# 66| -1: [ThisAccess] this -# 66| 1: [Method] invoke -# 66| 5: [BlockStmt] { ... } -# 66| 0: [ReturnStmt] return ... -# 66| 0: [MethodAccess] get(...) -# 66| -1: [ThisAccess] this -# 66| 1: [Method] set +# 67| 0: [Parameter] a0 +# 67| 5: [BlockStmt] { ... } +# 67| 0: [ReturnStmt] return ... +# 67| 0: [MethodAccess] getMemberInt(...) +# 67| -1: [VarAccess] a0 +# 67| 3: [Method] invoke #-----| 4: (Parameters) -# 66| 0: [Parameter] a0 -# 66| 5: [BlockStmt] { ... } -# 66| 0: [ReturnStmt] return ... -# 66| 0: [MethodAccess] setMemberInt(...) -# 66| -1: [VarAccess] this. -# 66| -1: [ThisAccess] this -# 66| 0: [VarAccess] a0 -# 66| -3: [TypeAccess] KMutableProperty0 -# 66| 0: [TypeAccess] Integer -# 66| 0: [ThisAccess] MyClass.this -# 66| 0: [TypeAccess] MyClass -# 67| 10: [Method] getDelegatedToMember2 +# 67| 0: [Parameter] a0 +# 67| 5: [BlockStmt] { ... } +# 67| 0: [ReturnStmt] return ... +# 67| 0: [MethodAccess] get(...) +# 67| -1: [ThisAccess] this +# 67| 0: [VarAccess] a0 +# 67| 4: [Method] set +#-----| 4: (Parameters) +# 67| 0: [Parameter] a0 +# 67| 1: [Parameter] a1 +# 67| 5: [BlockStmt] { ... } +# 67| 0: [ReturnStmt] return ... +# 67| 0: [MethodAccess] setMemberInt(...) +# 67| -1: [VarAccess] a0 +# 67| 0: [VarAccess] a1 +# 67| -3: [TypeAccess] KMutableProperty1 +# 67| 0: [TypeAccess] MyClass +# 67| 1: [TypeAccess] Integer +# 67| 11: [Method] getDelegatedToMember2 # 67| 3: [TypeAccess] int # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... @@ -1027,14 +1063,14 @@ delegatedProperties.kt: # 67| 1: [Constructor] # 67| 5: [BlockStmt] { ... } # 67| 0: [SuperConstructorInvocationStmt] super(...) -# 67| 1: [Method] get +# 67| 2: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getDelegatedToMember2(...) # 67| -1: [VarAccess] a0 -# 67| 1: [Method] invoke +# 67| 3: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } @@ -1042,7 +1078,7 @@ delegatedProperties.kt: # 67| 0: [MethodAccess] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 -# 67| 1: [Method] set +# 67| 4: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 @@ -1054,7 +1090,7 @@ delegatedProperties.kt: # 67| -3: [TypeAccess] KMutableProperty1 # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer -# 67| 10: [Method] setDelegatedToMember2 +# 67| 12: [Method] setDelegatedToMember2 # 67| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 67| 0: [Parameter] @@ -1073,14 +1109,14 @@ delegatedProperties.kt: # 67| 1: [Constructor] # 67| 5: [BlockStmt] { ... } # 67| 0: [SuperConstructorInvocationStmt] super(...) -# 67| 1: [Method] get +# 67| 2: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getDelegatedToMember2(...) # 67| -1: [VarAccess] a0 -# 67| 1: [Method] invoke +# 67| 3: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } @@ -1088,7 +1124,7 @@ delegatedProperties.kt: # 67| 0: [MethodAccess] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 -# 67| 1: [Method] set +# 67| 4: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 @@ -1101,43 +1137,50 @@ delegatedProperties.kt: # 67| 0: [TypeAccess] MyClass # 67| 1: [TypeAccess] Integer # 67| 3: [VarAccess] -# 67| 10: [FieldDeclaration] KMutableProperty1 delegatedToMember2$delegate; -# 67| -1: [TypeAccess] KMutableProperty1 -# 67| 0: [TypeAccess] MyClass -# 67| 1: [TypeAccess] Integer -# 67| 0: [PropertyRefExpr] ...::... -# 67| -4: [AnonymousClass] new KMutableProperty1(...) { ... } -# 67| 1: [Constructor] -# 67| 5: [BlockStmt] { ... } -# 67| 0: [SuperConstructorInvocationStmt] super(...) -# 67| 1: [Method] get +# 69| 13: [FieldDeclaration] KMutableProperty0 delegatedToExtMember1$delegate; +# 69| -1: [TypeAccess] KMutableProperty0 +# 69| 0: [TypeAccess] Integer +# 69| 0: [PropertyRefExpr] ...::... +# 69| -4: [AnonymousClass] new KMutableProperty0(...) { ... } +# 69| 1: [Constructor] #-----| 4: (Parameters) -# 67| 0: [Parameter] a0 -# 67| 5: [BlockStmt] { ... } -# 67| 0: [ReturnStmt] return ... -# 67| 0: [MethodAccess] getMemberInt(...) -# 67| -1: [VarAccess] a0 -# 67| 1: [Method] invoke +# 69| 0: [Parameter] +# 69| 5: [BlockStmt] { ... } +# 69| 0: [SuperConstructorInvocationStmt] super(...) +# 69| 1: [ExprStmt] ; +# 69| 0: [AssignExpr] ...=... +# 69| 0: [VarAccess] this. +# 69| -1: [ThisAccess] this +# 69| 1: [VarAccess] +# 69| 2: [FieldDeclaration] MyClass ; +# 69| -1: [TypeAccess] MyClass +# 69| 3: [Method] get +# 69| 5: [BlockStmt] { ... } +# 69| 0: [ReturnStmt] return ... +# 69| 0: [MethodAccess] getExtDelegated(...) +# 69| -1: [TypeAccess] DelegatedPropertiesKt +# 69| 0: [VarAccess] this. +# 69| -1: [ThisAccess] this +# 69| 4: [Method] invoke +# 69| 5: [BlockStmt] { ... } +# 69| 0: [ReturnStmt] return ... +# 69| 0: [MethodAccess] get(...) +# 69| -1: [ThisAccess] this +# 69| 5: [Method] set #-----| 4: (Parameters) -# 67| 0: [Parameter] a0 -# 67| 5: [BlockStmt] { ... } -# 67| 0: [ReturnStmt] return ... -# 67| 0: [MethodAccess] get(...) -# 67| -1: [ThisAccess] this -# 67| 0: [VarAccess] a0 -# 67| 1: [Method] set -#-----| 4: (Parameters) -# 67| 0: [Parameter] a0 -# 67| 1: [Parameter] a1 -# 67| 5: [BlockStmt] { ... } -# 67| 0: [ReturnStmt] return ... -# 67| 0: [MethodAccess] setMemberInt(...) -# 67| -1: [VarAccess] a0 -# 67| 0: [VarAccess] a1 -# 67| -3: [TypeAccess] KMutableProperty1 -# 67| 0: [TypeAccess] MyClass -# 67| 1: [TypeAccess] Integer -# 69| 13: [Method] getDelegatedToExtMember1 +# 69| 0: [Parameter] a0 +# 69| 5: [BlockStmt] { ... } +# 69| 0: [ReturnStmt] return ... +# 69| 0: [MethodAccess] setExtDelegated(...) +# 69| -1: [TypeAccess] DelegatedPropertiesKt +# 69| 0: [VarAccess] this. +# 69| -1: [ThisAccess] this +# 69| 1: [VarAccess] a0 +# 69| -3: [TypeAccess] KMutableProperty0 +# 69| 0: [TypeAccess] Integer +# 69| 0: [ThisAccess] MyClass.this +# 69| 0: [TypeAccess] MyClass +# 69| 14: [Method] getDelegatedToExtMember1 # 69| 3: [TypeAccess] int # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... @@ -1152,14 +1195,14 @@ delegatedProperties.kt: # 69| 1: [Constructor] # 69| 5: [BlockStmt] { ... } # 69| 0: [SuperConstructorInvocationStmt] super(...) -# 69| 1: [Method] get +# 69| 2: [Method] get #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] getDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 -# 69| 1: [Method] invoke +# 69| 3: [Method] invoke #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } @@ -1167,7 +1210,7 @@ delegatedProperties.kt: # 69| 0: [MethodAccess] get(...) # 69| -1: [ThisAccess] this # 69| 0: [VarAccess] a0 -# 69| 1: [Method] set +# 69| 4: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 1: [Parameter] a1 @@ -1179,7 +1222,7 @@ delegatedProperties.kt: # 69| -3: [TypeAccess] KMutableProperty1 # 69| 0: [TypeAccess] MyClass # 69| 1: [TypeAccess] Integer -# 69| 13: [Method] setDelegatedToExtMember1 +# 69| 15: [Method] setDelegatedToExtMember1 # 69| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 69| 0: [Parameter] @@ -1197,14 +1240,14 @@ delegatedProperties.kt: # 69| 1: [Constructor] # 69| 5: [BlockStmt] { ... } # 69| 0: [SuperConstructorInvocationStmt] super(...) -# 69| 1: [Method] get +# 69| 2: [Method] get #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } # 69| 0: [ReturnStmt] return ... # 69| 0: [MethodAccess] getDelegatedToExtMember1(...) # 69| -1: [VarAccess] a0 -# 69| 1: [Method] invoke +# 69| 3: [Method] invoke #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 5: [BlockStmt] { ... } @@ -1212,7 +1255,7 @@ delegatedProperties.kt: # 69| 0: [MethodAccess] get(...) # 69| -1: [ThisAccess] this # 69| 0: [VarAccess] a0 -# 69| 1: [Method] set +# 69| 4: [Method] set #-----| 4: (Parameters) # 69| 0: [Parameter] a0 # 69| 1: [Parameter] a1 @@ -1225,50 +1268,45 @@ delegatedProperties.kt: # 69| 0: [TypeAccess] MyClass # 69| 1: [TypeAccess] Integer # 69| 3: [VarAccess] -# 69| 13: [FieldDeclaration] KMutableProperty0 delegatedToExtMember1$delegate; -# 69| -1: [TypeAccess] KMutableProperty0 -# 69| 0: [TypeAccess] Integer -# 69| 0: [PropertyRefExpr] ...::... -# 69| -4: [AnonymousClass] new KMutableProperty0(...) { ... } -# 69| 1: [Constructor] +# 70| 16: [FieldDeclaration] KMutableProperty1 delegatedToExtMember2$delegate; +# 70| -1: [TypeAccess] KMutableProperty1 +# 70| 0: [TypeAccess] MyClass +# 70| 1: [TypeAccess] Integer +# 70| 0: [PropertyRefExpr] ...::... +# 70| -4: [AnonymousClass] new KMutableProperty1(...) { ... } +# 70| 1: [Constructor] +# 70| 5: [BlockStmt] { ... } +# 70| 0: [SuperConstructorInvocationStmt] super(...) +# 70| 2: [Method] get #-----| 4: (Parameters) -# 69| 0: [Parameter] -# 69| 5: [BlockStmt] { ... } -# 69| 0: [SuperConstructorInvocationStmt] super(...) -# 69| 1: [ExprStmt] ; -# 69| 0: [AssignExpr] ...=... -# 69| 0: [VarAccess] this. -# 69| -1: [ThisAccess] this -# 69| 1: [VarAccess] -# 69| 1: [FieldDeclaration] MyClass ; -# 69| -1: [TypeAccess] MyClass -# 69| 1: [Method] get -# 69| 5: [BlockStmt] { ... } -# 69| 0: [ReturnStmt] return ... -# 69| 0: [MethodAccess] getExtDelegated(...) -# 69| -1: [TypeAccess] DelegatedPropertiesKt -# 69| 0: [VarAccess] this. -# 69| -1: [ThisAccess] this -# 69| 1: [Method] invoke -# 69| 5: [BlockStmt] { ... } -# 69| 0: [ReturnStmt] return ... -# 69| 0: [MethodAccess] get(...) -# 69| -1: [ThisAccess] this -# 69| 1: [Method] set +# 70| 0: [Parameter] a0 +# 70| 5: [BlockStmt] { ... } +# 70| 0: [ReturnStmt] return ... +# 70| 0: [MethodAccess] getExtDelegated(...) +# 70| -1: [TypeAccess] DelegatedPropertiesKt +# 70| 0: [VarAccess] a0 +# 70| 3: [Method] invoke #-----| 4: (Parameters) -# 69| 0: [Parameter] a0 -# 69| 5: [BlockStmt] { ... } -# 69| 0: [ReturnStmt] return ... -# 69| 0: [MethodAccess] setExtDelegated(...) -# 69| -1: [TypeAccess] DelegatedPropertiesKt -# 69| 0: [VarAccess] this. -# 69| -1: [ThisAccess] this -# 69| 1: [VarAccess] a0 -# 69| -3: [TypeAccess] KMutableProperty0 -# 69| 0: [TypeAccess] Integer -# 69| 0: [ThisAccess] MyClass.this -# 69| 0: [TypeAccess] MyClass -# 70| 16: [Method] getDelegatedToExtMember2 +# 70| 0: [Parameter] a0 +# 70| 5: [BlockStmt] { ... } +# 70| 0: [ReturnStmt] return ... +# 70| 0: [MethodAccess] get(...) +# 70| -1: [ThisAccess] this +# 70| 0: [VarAccess] a0 +# 70| 4: [Method] set +#-----| 4: (Parameters) +# 70| 0: [Parameter] a0 +# 70| 1: [Parameter] a1 +# 70| 5: [BlockStmt] { ... } +# 70| 0: [ReturnStmt] return ... +# 70| 0: [MethodAccess] setExtDelegated(...) +# 70| -1: [TypeAccess] DelegatedPropertiesKt +# 70| 0: [VarAccess] a0 +# 70| 1: [VarAccess] a1 +# 70| -3: [TypeAccess] KMutableProperty1 +# 70| 0: [TypeAccess] MyClass +# 70| 1: [TypeAccess] Integer +# 70| 17: [Method] getDelegatedToExtMember2 # 70| 3: [TypeAccess] int # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... @@ -1284,14 +1322,14 @@ delegatedProperties.kt: # 70| 1: [Constructor] # 70| 5: [BlockStmt] { ... } # 70| 0: [SuperConstructorInvocationStmt] super(...) -# 70| 1: [Method] get +# 70| 2: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 -# 70| 1: [Method] invoke +# 70| 3: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } @@ -1299,7 +1337,7 @@ delegatedProperties.kt: # 70| 0: [MethodAccess] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 -# 70| 1: [Method] set +# 70| 4: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 @@ -1311,7 +1349,7 @@ delegatedProperties.kt: # 70| -3: [TypeAccess] KMutableProperty1 # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer -# 70| 16: [Method] setDelegatedToExtMember2 +# 70| 18: [Method] setDelegatedToExtMember2 # 70| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 70| 0: [Parameter] @@ -1330,14 +1368,14 @@ delegatedProperties.kt: # 70| 1: [Constructor] # 70| 5: [BlockStmt] { ... } # 70| 0: [SuperConstructorInvocationStmt] super(...) -# 70| 1: [Method] get +# 70| 2: [Method] get #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getDelegatedToExtMember2(...) # 70| -1: [VarAccess] a0 -# 70| 1: [Method] invoke +# 70| 3: [Method] invoke #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 5: [BlockStmt] { ... } @@ -1345,7 +1383,7 @@ delegatedProperties.kt: # 70| 0: [MethodAccess] get(...) # 70| -1: [ThisAccess] this # 70| 0: [VarAccess] a0 -# 70| 1: [Method] set +# 70| 4: [Method] set #-----| 4: (Parameters) # 70| 0: [Parameter] a0 # 70| 1: [Parameter] a1 @@ -1358,77 +1396,6 @@ delegatedProperties.kt: # 70| 0: [TypeAccess] MyClass # 70| 1: [TypeAccess] Integer # 70| 3: [VarAccess] -# 70| 16: [FieldDeclaration] KMutableProperty1 delegatedToExtMember2$delegate; -# 70| -1: [TypeAccess] KMutableProperty1 -# 70| 0: [TypeAccess] MyClass -# 70| 1: [TypeAccess] Integer -# 70| 0: [PropertyRefExpr] ...::... -# 70| -4: [AnonymousClass] new KMutableProperty1(...) { ... } -# 70| 1: [Constructor] -# 70| 5: [BlockStmt] { ... } -# 70| 0: [SuperConstructorInvocationStmt] super(...) -# 70| 1: [Method] get -#-----| 4: (Parameters) -# 70| 0: [Parameter] a0 -# 70| 5: [BlockStmt] { ... } -# 70| 0: [ReturnStmt] return ... -# 70| 0: [MethodAccess] getExtDelegated(...) -# 70| -1: [TypeAccess] DelegatedPropertiesKt -# 70| 0: [VarAccess] a0 -# 70| 1: [Method] invoke -#-----| 4: (Parameters) -# 70| 0: [Parameter] a0 -# 70| 5: [BlockStmt] { ... } -# 70| 0: [ReturnStmt] return ... -# 70| 0: [MethodAccess] get(...) -# 70| -1: [ThisAccess] this -# 70| 0: [VarAccess] a0 -# 70| 1: [Method] set -#-----| 4: (Parameters) -# 70| 0: [Parameter] a0 -# 70| 1: [Parameter] a1 -# 70| 5: [BlockStmt] { ... } -# 70| 0: [ReturnStmt] return ... -# 70| 0: [MethodAccess] setExtDelegated(...) -# 70| -1: [TypeAccess] DelegatedPropertiesKt -# 70| 0: [VarAccess] a0 -# 70| 1: [VarAccess] a1 -# 70| -3: [TypeAccess] KMutableProperty1 -# 70| 0: [TypeAccess] MyClass -# 70| 1: [TypeAccess] Integer -# 72| 19: [Method] getDelegatedToBaseClass1 -# 72| 3: [TypeAccess] int -# 72| 5: [BlockStmt] { ... } -# 72| 0: [ReturnStmt] return ... -# 72| 0: [MethodAccess] getValue(...) -# 72| -2: [TypeAccess] Integer -# 72| -1: [TypeAccess] PropertyReferenceDelegatesKt -# 72| 0: [VarAccess] this.delegatedToBaseClass1$delegate -# 72| -1: [ThisAccess] this -# 1| 1: [ThisAccess] this -# 72| 2: [PropertyRefExpr] ...::... -# 72| -4: [AnonymousClass] new KProperty1(...) { ... } -# 72| 1: [Constructor] -# 72| 5: [BlockStmt] { ... } -# 72| 0: [SuperConstructorInvocationStmt] super(...) -# 72| 1: [Method] get -#-----| 4: (Parameters) -# 72| 0: [Parameter] a0 -# 72| 5: [BlockStmt] { ... } -# 72| 0: [ReturnStmt] return ... -# 72| 0: [MethodAccess] getDelegatedToBaseClass1(...) -# 72| -1: [VarAccess] a0 -# 72| 1: [Method] invoke -#-----| 4: (Parameters) -# 72| 0: [Parameter] a0 -# 72| 5: [BlockStmt] { ... } -# 72| 0: [ReturnStmt] return ... -# 72| 0: [MethodAccess] get(...) -# 72| -1: [ThisAccess] this -# 72| 0: [VarAccess] a0 -# 72| -3: [TypeAccess] KProperty1 -# 72| 0: [TypeAccess] MyClass -# 72| 1: [TypeAccess] Integer # 72| 19: [FieldDeclaration] KProperty0 delegatedToBaseClass1$delegate; # 72| -1: [TypeAccess] KProperty0 # 72| 0: [TypeAccess] Integer @@ -1444,15 +1411,15 @@ delegatedProperties.kt: # 72| 0: [VarAccess] this. # 72| -1: [ThisAccess] this # 72| 1: [VarAccess] -# 72| 1: [FieldDeclaration] MyClass ; +# 72| 2: [FieldDeclaration] MyClass ; # 72| -1: [TypeAccess] MyClass -# 72| 1: [Method] get +# 72| 3: [Method] get # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] getBaseClassInt(...) # 72| -1: [VarAccess] this. # 72| -1: [ThisAccess] this -# 72| 1: [Method] invoke +# 72| 4: [Method] invoke # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] get(...) @@ -1461,7 +1428,67 @@ delegatedProperties.kt: # 72| 0: [TypeAccess] Integer # 72| 0: [ThisAccess] MyClass.this # 72| 0: [TypeAccess] MyClass -# 73| 21: [Method] getDelegatedToBaseClass2 +# 72| 20: [Method] getDelegatedToBaseClass1 +# 72| 3: [TypeAccess] int +# 72| 5: [BlockStmt] { ... } +# 72| 0: [ReturnStmt] return ... +# 72| 0: [MethodAccess] getValue(...) +# 72| -2: [TypeAccess] Integer +# 72| -1: [TypeAccess] PropertyReferenceDelegatesKt +# 72| 0: [VarAccess] this.delegatedToBaseClass1$delegate +# 72| -1: [ThisAccess] this +# 1| 1: [ThisAccess] this +# 72| 2: [PropertyRefExpr] ...::... +# 72| -4: [AnonymousClass] new KProperty1(...) { ... } +# 72| 1: [Constructor] +# 72| 5: [BlockStmt] { ... } +# 72| 0: [SuperConstructorInvocationStmt] super(...) +# 72| 2: [Method] get +#-----| 4: (Parameters) +# 72| 0: [Parameter] a0 +# 72| 5: [BlockStmt] { ... } +# 72| 0: [ReturnStmt] return ... +# 72| 0: [MethodAccess] getDelegatedToBaseClass1(...) +# 72| -1: [VarAccess] a0 +# 72| 3: [Method] invoke +#-----| 4: (Parameters) +# 72| 0: [Parameter] a0 +# 72| 5: [BlockStmt] { ... } +# 72| 0: [ReturnStmt] return ... +# 72| 0: [MethodAccess] get(...) +# 72| -1: [ThisAccess] this +# 72| 0: [VarAccess] a0 +# 72| -3: [TypeAccess] KProperty1 +# 72| 0: [TypeAccess] MyClass +# 72| 1: [TypeAccess] Integer +# 73| 21: [FieldDeclaration] KProperty1 delegatedToBaseClass2$delegate; +# 73| -1: [TypeAccess] KProperty1 +# 73| 0: [TypeAccess] Base +# 73| 1: [TypeAccess] Integer +# 73| 0: [PropertyRefExpr] ...::... +# 73| -4: [AnonymousClass] new KProperty1(...) { ... } +# 73| 1: [Constructor] +# 73| 5: [BlockStmt] { ... } +# 73| 0: [SuperConstructorInvocationStmt] super(...) +# 73| 2: [Method] get +#-----| 4: (Parameters) +# 73| 0: [Parameter] a0 +# 73| 5: [BlockStmt] { ... } +# 73| 0: [ReturnStmt] return ... +# 73| 0: [MethodAccess] getBaseClassInt(...) +# 73| -1: [VarAccess] a0 +# 73| 3: [Method] invoke +#-----| 4: (Parameters) +# 73| 0: [Parameter] a0 +# 73| 5: [BlockStmt] { ... } +# 73| 0: [ReturnStmt] return ... +# 73| 0: [MethodAccess] get(...) +# 73| -1: [ThisAccess] this +# 73| 0: [VarAccess] a0 +# 73| -3: [TypeAccess] KProperty1 +# 73| 0: [TypeAccess] Base +# 73| 1: [TypeAccess] Integer +# 73| 22: [Method] getDelegatedToBaseClass2 # 73| 3: [TypeAccess] int # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... @@ -1477,14 +1504,14 @@ delegatedProperties.kt: # 73| 1: [Constructor] # 73| 5: [BlockStmt] { ... } # 73| 0: [SuperConstructorInvocationStmt] super(...) -# 73| 1: [Method] get +# 73| 2: [Method] get #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } # 73| 0: [ReturnStmt] return ... # 73| 0: [MethodAccess] getDelegatedToBaseClass2(...) # 73| -1: [VarAccess] a0 -# 73| 1: [Method] invoke +# 73| 3: [Method] invoke #-----| 4: (Parameters) # 73| 0: [Parameter] a0 # 73| 5: [BlockStmt] { ... } @@ -1495,66 +1522,6 @@ delegatedProperties.kt: # 73| -3: [TypeAccess] KProperty1 # 73| 0: [TypeAccess] MyClass # 73| 1: [TypeAccess] Integer -# 73| 21: [FieldDeclaration] KProperty1 delegatedToBaseClass2$delegate; -# 73| -1: [TypeAccess] KProperty1 -# 73| 0: [TypeAccess] Base -# 73| 1: [TypeAccess] Integer -# 73| 0: [PropertyRefExpr] ...::... -# 73| -4: [AnonymousClass] new KProperty1(...) { ... } -# 73| 1: [Constructor] -# 73| 5: [BlockStmt] { ... } -# 73| 0: [SuperConstructorInvocationStmt] super(...) -# 73| 1: [Method] get -#-----| 4: (Parameters) -# 73| 0: [Parameter] a0 -# 73| 5: [BlockStmt] { ... } -# 73| 0: [ReturnStmt] return ... -# 73| 0: [MethodAccess] getBaseClassInt(...) -# 73| -1: [VarAccess] a0 -# 73| 1: [Method] invoke -#-----| 4: (Parameters) -# 73| 0: [Parameter] a0 -# 73| 5: [BlockStmt] { ... } -# 73| 0: [ReturnStmt] return ... -# 73| 0: [MethodAccess] get(...) -# 73| -1: [ThisAccess] this -# 73| 0: [VarAccess] a0 -# 73| -3: [TypeAccess] KProperty1 -# 73| 0: [TypeAccess] Base -# 73| 1: [TypeAccess] Integer -# 75| 23: [Method] getDelegatedToAnotherClass1 -# 75| 3: [TypeAccess] int -# 75| 5: [BlockStmt] { ... } -# 75| 0: [ReturnStmt] return ... -# 75| 0: [MethodAccess] getValue(...) -# 75| -2: [TypeAccess] Integer -# 75| -1: [TypeAccess] PropertyReferenceDelegatesKt -# 75| 0: [VarAccess] this.delegatedToAnotherClass1$delegate -# 75| -1: [ThisAccess] this -# 1| 1: [ThisAccess] this -# 75| 2: [PropertyRefExpr] ...::... -# 75| -4: [AnonymousClass] new KProperty1(...) { ... } -# 75| 1: [Constructor] -# 75| 5: [BlockStmt] { ... } -# 75| 0: [SuperConstructorInvocationStmt] super(...) -# 75| 1: [Method] get -#-----| 4: (Parameters) -# 75| 0: [Parameter] a0 -# 75| 5: [BlockStmt] { ... } -# 75| 0: [ReturnStmt] return ... -# 75| 0: [MethodAccess] getDelegatedToAnotherClass1(...) -# 75| -1: [VarAccess] a0 -# 75| 1: [Method] invoke -#-----| 4: (Parameters) -# 75| 0: [Parameter] a0 -# 75| 5: [BlockStmt] { ... } -# 75| 0: [ReturnStmt] return ... -# 75| 0: [MethodAccess] get(...) -# 75| -1: [ThisAccess] this -# 75| 0: [VarAccess] a0 -# 75| -3: [TypeAccess] KProperty1 -# 75| 0: [TypeAccess] MyClass -# 75| 1: [TypeAccess] Integer # 75| 23: [FieldDeclaration] KProperty0 delegatedToAnotherClass1$delegate; # 75| -1: [TypeAccess] KProperty0 # 75| 0: [TypeAccess] Integer @@ -1570,15 +1537,15 @@ delegatedProperties.kt: # 75| 0: [VarAccess] this. # 75| -1: [ThisAccess] this # 75| 1: [VarAccess] -# 75| 1: [FieldDeclaration] ClassWithDelegate ; +# 75| 2: [FieldDeclaration] ClassWithDelegate ; # 75| -1: [TypeAccess] ClassWithDelegate -# 75| 1: [Method] get +# 75| 3: [Method] get # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] getAnotherClassInt(...) # 75| -1: [VarAccess] this. # 75| -1: [ThisAccess] this -# 75| 1: [Method] invoke +# 75| 4: [Method] invoke # 75| 5: [BlockStmt] { ... } # 75| 0: [ReturnStmt] return ... # 75| 0: [MethodAccess] get(...) @@ -1588,7 +1555,68 @@ delegatedProperties.kt: # 75| 0: [MethodAccess] getAnotherClassInstance(...) # 75| -1: [ThisAccess] MyClass.this # 75| 0: [TypeAccess] MyClass -# 77| 25: [Method] getDelegatedToTopLevel +# 75| 24: [Method] getDelegatedToAnotherClass1 +# 75| 3: [TypeAccess] int +# 75| 5: [BlockStmt] { ... } +# 75| 0: [ReturnStmt] return ... +# 75| 0: [MethodAccess] getValue(...) +# 75| -2: [TypeAccess] Integer +# 75| -1: [TypeAccess] PropertyReferenceDelegatesKt +# 75| 0: [VarAccess] this.delegatedToAnotherClass1$delegate +# 75| -1: [ThisAccess] this +# 1| 1: [ThisAccess] this +# 75| 2: [PropertyRefExpr] ...::... +# 75| -4: [AnonymousClass] new KProperty1(...) { ... } +# 75| 1: [Constructor] +# 75| 5: [BlockStmt] { ... } +# 75| 0: [SuperConstructorInvocationStmt] super(...) +# 75| 2: [Method] get +#-----| 4: (Parameters) +# 75| 0: [Parameter] a0 +# 75| 5: [BlockStmt] { ... } +# 75| 0: [ReturnStmt] return ... +# 75| 0: [MethodAccess] getDelegatedToAnotherClass1(...) +# 75| -1: [VarAccess] a0 +# 75| 3: [Method] invoke +#-----| 4: (Parameters) +# 75| 0: [Parameter] a0 +# 75| 5: [BlockStmt] { ... } +# 75| 0: [ReturnStmt] return ... +# 75| 0: [MethodAccess] get(...) +# 75| -1: [ThisAccess] this +# 75| 0: [VarAccess] a0 +# 75| -3: [TypeAccess] KProperty1 +# 75| 0: [TypeAccess] MyClass +# 75| 1: [TypeAccess] Integer +# 77| 25: [FieldDeclaration] KMutableProperty0 delegatedToTopLevel$delegate; +# 77| -1: [TypeAccess] KMutableProperty0 +# 77| 0: [TypeAccess] Integer +# 77| 0: [PropertyRefExpr] ...::... +# 77| -4: [AnonymousClass] new KMutableProperty0(...) { ... } +# 77| 1: [Constructor] +# 77| 5: [BlockStmt] { ... } +# 77| 0: [SuperConstructorInvocationStmt] super(...) +# 77| 2: [Method] get +# 77| 5: [BlockStmt] { ... } +# 77| 0: [ReturnStmt] return ... +# 77| 0: [MethodAccess] getTopLevelInt(...) +# 77| -1: [TypeAccess] DelegatedPropertiesKt +# 77| 3: [Method] invoke +# 77| 5: [BlockStmt] { ... } +# 77| 0: [ReturnStmt] return ... +# 77| 0: [MethodAccess] get(...) +# 77| -1: [ThisAccess] this +# 77| 4: [Method] set +#-----| 4: (Parameters) +# 77| 0: [Parameter] a0 +# 77| 5: [BlockStmt] { ... } +# 77| 0: [ReturnStmt] return ... +# 77| 0: [MethodAccess] setTopLevelInt(...) +# 77| -1: [TypeAccess] DelegatedPropertiesKt +# 77| 0: [VarAccess] a0 +# 77| -3: [TypeAccess] KMutableProperty0 +# 77| 0: [TypeAccess] Integer +# 77| 26: [Method] getDelegatedToTopLevel # 77| 3: [TypeAccess] int # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... @@ -1603,14 +1631,14 @@ delegatedProperties.kt: # 77| 1: [Constructor] # 77| 5: [BlockStmt] { ... } # 77| 0: [SuperConstructorInvocationStmt] super(...) -# 77| 1: [Method] get +# 77| 2: [Method] get #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] getDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 -# 77| 1: [Method] invoke +# 77| 3: [Method] invoke #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } @@ -1618,7 +1646,7 @@ delegatedProperties.kt: # 77| 0: [MethodAccess] get(...) # 77| -1: [ThisAccess] this # 77| 0: [VarAccess] a0 -# 77| 1: [Method] set +# 77| 4: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 1: [Parameter] a1 @@ -1630,7 +1658,7 @@ delegatedProperties.kt: # 77| -3: [TypeAccess] KMutableProperty1 # 77| 0: [TypeAccess] MyClass # 77| 1: [TypeAccess] Integer -# 77| 25: [Method] setDelegatedToTopLevel +# 77| 27: [Method] setDelegatedToTopLevel # 77| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 77| 0: [Parameter] @@ -1648,14 +1676,14 @@ delegatedProperties.kt: # 77| 1: [Constructor] # 77| 5: [BlockStmt] { ... } # 77| 0: [SuperConstructorInvocationStmt] super(...) -# 77| 1: [Method] get +# 77| 2: [Method] get #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } # 77| 0: [ReturnStmt] return ... # 77| 0: [MethodAccess] getDelegatedToTopLevel(...) # 77| -1: [VarAccess] a0 -# 77| 1: [Method] invoke +# 77| 3: [Method] invoke #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 5: [BlockStmt] { ... } @@ -1663,7 +1691,7 @@ delegatedProperties.kt: # 77| 0: [MethodAccess] get(...) # 77| -1: [ThisAccess] this # 77| 0: [VarAccess] a0 -# 77| 1: [Method] set +# 77| 4: [Method] set #-----| 4: (Parameters) # 77| 0: [Parameter] a0 # 77| 1: [Parameter] a1 @@ -1676,35 +1704,26 @@ delegatedProperties.kt: # 77| 0: [TypeAccess] MyClass # 77| 1: [TypeAccess] Integer # 77| 3: [VarAccess] -# 77| 25: [FieldDeclaration] KMutableProperty0 delegatedToTopLevel$delegate; -# 77| -1: [TypeAccess] KMutableProperty0 -# 77| 0: [TypeAccess] Integer -# 77| 0: [PropertyRefExpr] ...::... -# 77| -4: [AnonymousClass] new KMutableProperty0(...) { ... } -# 77| 1: [Constructor] -# 77| 5: [BlockStmt] { ... } -# 77| 0: [SuperConstructorInvocationStmt] super(...) -# 77| 1: [Method] get -# 77| 5: [BlockStmt] { ... } -# 77| 0: [ReturnStmt] return ... -# 77| 0: [MethodAccess] getTopLevelInt(...) -# 77| -1: [TypeAccess] DelegatedPropertiesKt -# 77| 1: [Method] invoke -# 77| 5: [BlockStmt] { ... } -# 77| 0: [ReturnStmt] return ... -# 77| 0: [MethodAccess] get(...) -# 77| -1: [ThisAccess] this -# 77| 1: [Method] set -#-----| 4: (Parameters) -# 77| 0: [Parameter] a0 -# 77| 5: [BlockStmt] { ... } -# 77| 0: [ReturnStmt] return ... -# 77| 0: [MethodAccess] setTopLevelInt(...) -# 77| -1: [TypeAccess] DelegatedPropertiesKt -# 77| 0: [VarAccess] a0 -# 77| -3: [TypeAccess] KMutableProperty0 -# 77| 0: [TypeAccess] Integer -# 79| 28: [Method] getMax +# 79| 28: [FieldDeclaration] KProperty0 max$delegate; +# 79| -1: [TypeAccess] KProperty0 +# 79| 0: [TypeAccess] Integer +# 79| 0: [PropertyRefExpr] ...::... +# 79| -4: [AnonymousClass] new KProperty0(...) { ... } +# 79| 1: [Constructor] +# 79| 5: [BlockStmt] { ... } +# 79| 0: [SuperConstructorInvocationStmt] super(...) +# 79| 2: [Method] get +# 79| 5: [BlockStmt] { ... } +# 79| 0: [ReturnStmt] return ... +# 79| 0: [VarAccess] MAX_VALUE +# 79| 3: [Method] invoke +# 79| 5: [BlockStmt] { ... } +# 79| 0: [ReturnStmt] return ... +# 79| 0: [MethodAccess] get(...) +# 79| -1: [ThisAccess] this +# 79| -3: [TypeAccess] KProperty0 +# 79| 0: [TypeAccess] Integer +# 79| 29: [Method] getMax # 79| 3: [TypeAccess] int # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... @@ -1719,14 +1738,14 @@ delegatedProperties.kt: # 79| 1: [Constructor] # 79| 5: [BlockStmt] { ... } # 79| 0: [SuperConstructorInvocationStmt] super(...) -# 79| 1: [Method] get +# 79| 2: [Method] get #-----| 4: (Parameters) # 79| 0: [Parameter] a0 # 79| 5: [BlockStmt] { ... } # 79| 0: [ReturnStmt] return ... # 79| 0: [MethodAccess] getMax(...) # 79| -1: [VarAccess] a0 -# 79| 1: [Method] invoke +# 79| 3: [Method] invoke #-----| 4: (Parameters) # 79| 0: [Parameter] a0 # 79| 5: [BlockStmt] { ... } @@ -1737,25 +1756,6 @@ delegatedProperties.kt: # 79| -3: [TypeAccess] KProperty1 # 79| 0: [TypeAccess] MyClass # 79| 1: [TypeAccess] Integer -# 79| 28: [FieldDeclaration] KProperty0 max$delegate; -# 79| -1: [TypeAccess] KProperty0 -# 79| 0: [TypeAccess] Integer -# 79| 0: [PropertyRefExpr] ...::... -# 79| -4: [AnonymousClass] new KProperty0(...) { ... } -# 79| 1: [Constructor] -# 79| 5: [BlockStmt] { ... } -# 79| 0: [SuperConstructorInvocationStmt] super(...) -# 79| 1: [Method] get -# 79| 5: [BlockStmt] { ... } -# 79| 0: [ReturnStmt] return ... -# 79| 0: [VarAccess] MAX_VALUE -# 79| 1: [Method] invoke -# 79| 5: [BlockStmt] { ... } -# 79| 0: [ReturnStmt] return ... -# 79| 0: [MethodAccess] get(...) -# 79| -1: [ThisAccess] this -# 79| -3: [TypeAccess] KProperty0 -# 79| 0: [TypeAccess] Integer # 81| 30: [Method] fn # 81| 3: [TypeAccess] Unit # 81| 5: [BlockStmt] { ... } @@ -1774,20 +1774,20 @@ delegatedProperties.kt: # 82| 0: [VarAccess] this. # 82| -1: [ThisAccess] this # 82| 1: [VarAccess] -# 82| 1: [FieldDeclaration] MyClass ; +# 82| 2: [FieldDeclaration] MyClass ; # 82| -1: [TypeAccess] MyClass -# 82| 1: [Method] get +# 82| 3: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] getMemberInt(...) # 82| -1: [VarAccess] this. # 82| -1: [ThisAccess] this -# 82| 1: [Method] invoke +# 82| 4: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] get(...) # 82| -1: [ThisAccess] this -# 82| 1: [Method] set +# 82| 5: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } @@ -1804,7 +1804,7 @@ delegatedProperties.kt: # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) -# 82| 1: [Method] +# 82| 2: [Method] # 82| 3: [TypeAccess] int # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... @@ -1818,18 +1818,18 @@ delegatedProperties.kt: # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) -# 82| 1: [Method] get +# 82| 2: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object -# 82| 1: [Method] invoke +# 82| 3: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] get(...) # 82| -1: [ThisAccess] this -# 82| 1: [Method] set +# 82| 4: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } @@ -1845,7 +1845,7 @@ delegatedProperties.kt: # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) -# 82| 1: [Method] +# 82| 2: [Method] # 82| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 82| 0: [Parameter] value @@ -1862,18 +1862,18 @@ delegatedProperties.kt: # 82| 1: [Constructor] # 82| 5: [BlockStmt] { ... } # 82| 0: [SuperConstructorInvocationStmt] super(...) -# 82| 1: [Method] get +# 82| 2: [Method] get # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] (...) # 82| -1: [ClassInstanceExpr] new (...) # 82| -3: [TypeAccess] Object -# 82| 1: [Method] invoke +# 82| 3: [Method] invoke # 82| 5: [BlockStmt] { ... } # 82| 0: [ReturnStmt] return ... # 82| 0: [MethodAccess] get(...) # 82| -1: [ThisAccess] this -# 82| 1: [Method] set +# 82| 4: [Method] set #-----| 4: (Parameters) # 82| 0: [Parameter] a0 # 82| 5: [BlockStmt] { ... } @@ -2849,7 +2849,7 @@ exprs.kt: # 142| 0: [ReturnStmt] return ... # 142| 0: [VarAccess] this.n # 142| -1: [ThisAccess] this -# 142| 2: [FieldDeclaration] int n; +# 142| 3: [FieldDeclaration] int n; # 142| -1: [TypeAccess] int # 142| 0: [VarAccess] n # 143| 4: [Method] foo @@ -2875,14 +2875,14 @@ exprs.kt: # 148| 0: [SuperConstructorInvocationStmt] super(...) # 148| 1: [BlockStmt] { ... } # 168| 6: [Class] Direction -# 0| 1: [Method] values -# 0| 3: [TypeAccess] Direction[] -# 0| 0: [TypeAccess] Direction -# 0| 1: [Method] valueOf +# 0| 2: [Method] valueOf # 0| 3: [TypeAccess] Direction #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String +# 0| 3: [Method] values +# 0| 3: [TypeAccess] Direction[] +# 0| 0: [TypeAccess] Direction # 168| 4: [Constructor] Direction # 168| 5: [BlockStmt] { ... } # 168| 0: [ExprStmt] ; @@ -2907,14 +2907,14 @@ exprs.kt: # 169| 0: [ClassInstanceExpr] new Direction(...) # 169| -3: [TypeAccess] Direction # 172| 7: [Class] Color -# 0| 1: [Method] values -# 0| 3: [TypeAccess] Color[] -# 0| 0: [TypeAccess] Color -# 0| 1: [Method] valueOf +# 0| 2: [Method] valueOf # 0| 3: [TypeAccess] Color #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String +# 0| 3: [Method] values +# 0| 3: [TypeAccess] Color[] +# 0| 0: [TypeAccess] Color # 172| 4: [Constructor] Color #-----| 4: (Parameters) # 172| 0: [Parameter] rgb @@ -2934,7 +2934,7 @@ exprs.kt: # 172| 0: [ReturnStmt] return ... # 172| 0: [VarAccess] this.rgb # 172| -1: [ThisAccess] this -# 172| 5: [FieldDeclaration] int rgb; +# 172| 6: [FieldDeclaration] int rgb; # 172| -1: [TypeAccess] int # 172| 0: [VarAccess] rgb # 173| 7: [FieldDeclaration] Color RED; @@ -2967,7 +2967,7 @@ exprs.kt: # 186| 0: [ReturnStmt] return ... # 186| 0: [VarAccess] this.a1 # 186| -1: [ThisAccess] this -# 186| 2: [FieldDeclaration] int a1; +# 186| 3: [FieldDeclaration] int a1; # 186| -1: [TypeAccess] int # 186| 0: [IntegerLiteral] 1 # 187| 4: [Method] getObject @@ -2988,12 +2988,6 @@ exprs.kt: # 190| 0: [ExprStmt] ; # 190| 0: [KtInitializerAssignExpr] ...=... # 190| 0: [VarAccess] a3 -# 190| 2: [Method] getA3 -# 190| 3: [TypeAccess] String -# 190| 5: [BlockStmt] { ... } -# 190| 0: [ReturnStmt] return ... -# 190| 0: [VarAccess] this.a3 -# 190| -1: [ThisAccess] this # 190| 2: [FieldDeclaration] String a3; # 190| -1: [TypeAccess] String # 190| 0: [MethodAccess] toString(...) @@ -3001,6 +2995,12 @@ exprs.kt: # 190| 0: [MethodAccess] getA1(...) # 190| -1: [ThisAccess] this # 190| 1: [VarAccess] a2 +# 190| 3: [Method] getA3 +# 190| 3: [TypeAccess] String +# 190| 5: [BlockStmt] { ... } +# 190| 0: [ReturnStmt] return ... +# 190| 0: [VarAccess] this.a3 +# 190| -1: [ThisAccess] this # 189| 1: [ExprStmt] ; # 189| 0: [ClassInstanceExpr] new (...) # 189| -3: [TypeAccess] Interface1 @@ -3494,7 +3494,7 @@ funcExprs.kt: # 22| 1: [Constructor] # 22| 5: [BlockStmt] { ... } # 22| 0: [SuperConstructorInvocationStmt] super(...) -# 22| 1: [Method] invoke +# 22| 2: [Method] invoke # 22| 3: [TypeAccess] int # 22| 5: [BlockStmt] { ... } # 22| 0: [ReturnStmt] return ... @@ -3509,7 +3509,7 @@ funcExprs.kt: # 23| 1: [Constructor] # 23| 5: [BlockStmt] { ... } # 23| 0: [SuperConstructorInvocationStmt] super(...) -# 23| 1: [Method] invoke +# 23| 2: [Method] invoke # 23| 3: [TypeAccess] Object # 23| 5: [BlockStmt] { ... } # 23| 0: [ReturnStmt] return ... @@ -3524,7 +3524,7 @@ funcExprs.kt: # 24| 1: [Constructor] # 24| 5: [BlockStmt] { ... } # 24| 0: [SuperConstructorInvocationStmt] super(...) -# 24| 1: [Method] invoke +# 24| 2: [Method] invoke # 24| 3: [TypeAccess] Object # 24| 5: [BlockStmt] { ... } # 24| 0: [ReturnStmt] return ... @@ -3540,7 +3540,7 @@ funcExprs.kt: # 25| 1: [Constructor] # 25| 5: [BlockStmt] { ... } # 25| 0: [SuperConstructorInvocationStmt] super(...) -# 25| 1: [Method] invoke +# 25| 2: [Method] invoke # 25| 3: [TypeAccess] int #-----| 4: (Parameters) # 25| 0: [Parameter] a @@ -3560,7 +3560,7 @@ funcExprs.kt: # 26| 1: [Constructor] # 26| 5: [BlockStmt] { ... } # 26| 0: [SuperConstructorInvocationStmt] super(...) -# 26| 1: [Method] invoke +# 26| 2: [Method] invoke # 26| 3: [TypeAccess] int #-----| 4: (Parameters) # 26| 0: [Parameter] it @@ -3580,7 +3580,7 @@ funcExprs.kt: # 27| 1: [Constructor] # 27| 5: [BlockStmt] { ... } # 27| 0: [SuperConstructorInvocationStmt] super(...) -# 27| 1: [Method] invoke +# 27| 2: [Method] invoke # 27| 3: [TypeAccess] int #-----| 4: (Parameters) # 27| 0: [Parameter] @@ -3606,7 +3606,7 @@ funcExprs.kt: # 29| 1: [Constructor] # 29| 5: [BlockStmt] { ... } # 29| 0: [SuperConstructorInvocationStmt] super(...) -# 29| 1: [Method] invoke +# 29| 2: [Method] invoke # 29| 3: [TypeAccess] Object #-----| 4: (Parameters) # 29| 0: [Parameter] a @@ -3626,7 +3626,7 @@ funcExprs.kt: # 30| 1: [Constructor] # 30| 5: [BlockStmt] { ... } # 30| 0: [SuperConstructorInvocationStmt] super(...) -# 30| 1: [Method] invoke +# 30| 2: [Method] invoke # 30| 3: [TypeAccess] int #-----| 4: (Parameters) # 30| 0: [Parameter] @@ -3649,7 +3649,7 @@ funcExprs.kt: # 31| 1: [Constructor] # 31| 5: [BlockStmt] { ... } # 31| 0: [SuperConstructorInvocationStmt] super(...) -# 31| 1: [Method] invoke +# 31| 2: [Method] invoke # 31| 3: [TypeAccess] int #-----| 4: (Parameters) # 31| 0: [Parameter] @@ -3672,7 +3672,7 @@ funcExprs.kt: # 32| 1: [Constructor] # 32| 5: [BlockStmt] { ... } # 32| 0: [SuperConstructorInvocationStmt] super(...) -# 32| 1: [ExtensionMethod] invoke +# 32| 2: [ExtensionMethod] invoke # 32| 3: [TypeAccess] int #-----| 4: (Parameters) # 32| 0: [Parameter] $this$functionExpression3 @@ -3697,7 +3697,7 @@ funcExprs.kt: # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) -# 33| 1: [Method] invoke +# 33| 2: [Method] invoke # 33| 3: [TypeAccess] Function1 # 33| 0: [TypeAccess] Integer # 33| 1: [TypeAccess] Double @@ -3711,7 +3711,7 @@ funcExprs.kt: # 33| 1: [Constructor] # 33| 5: [BlockStmt] { ... } # 33| 0: [SuperConstructorInvocationStmt] super(...) -# 33| 1: [Method] invoke +# 33| 2: [Method] invoke # 33| 3: [TypeAccess] double #-----| 4: (Parameters) # 33| 0: [Parameter] b @@ -3736,7 +3736,7 @@ funcExprs.kt: # 35| 1: [Constructor] # 35| 5: [BlockStmt] { ... } # 35| 0: [SuperConstructorInvocationStmt] super(...) -# 35| 1: [Method] invoke +# 35| 2: [Method] invoke # 35| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 35| 0: [Parameter] a0 @@ -3821,7 +3821,7 @@ funcExprs.kt: # 36| 1: [Constructor] # 36| 5: [BlockStmt] { ... } # 36| 0: [SuperConstructorInvocationStmt] super(...) -# 36| 1: [Method] invoke +# 36| 2: [Method] invoke # 36| 3: [TypeAccess] String #-----| 4: (Parameters) # 36| 0: [Parameter] a0 @@ -3873,7 +3873,7 @@ funcExprs.kt: # 36| 5: [BlockStmt] { ... } # 36| 0: [ReturnStmt] return ... # 36| 0: [StringLiteral] -# 36| 1: [Method] invoke +# 36| 2: [Method] invoke #-----| 4: (Parameters) # 36| 0: [Parameter] a0 # 36| 5: [BlockStmt] { ... } @@ -4012,14 +4012,14 @@ funcExprs.kt: # 38| 0: [VarAccess] this. # 38| -1: [ThisAccess] this # 38| 1: [VarAccess] -# 38| 1: [Method] invoke +# 38| 2: [FieldDeclaration] FuncRef ; +# 38| -1: [TypeAccess] FuncRef +# 38| 3: [Method] invoke # 38| 5: [BlockStmt] { ... } # 38| 0: [ReturnStmt] return ... # 38| 0: [MethodAccess] f0(...) # 38| -1: [VarAccess] this. # 38| -1: [ThisAccess] this -# 38| 1: [FieldDeclaration] FuncRef ; -# 38| -1: [TypeAccess] FuncRef # 38| -3: [TypeAccess] Function0 # 38| 0: [TypeAccess] Integer # 38| 0: [ClassInstanceExpr] new FuncRef(...) @@ -4039,14 +4039,14 @@ funcExprs.kt: # 39| 0: [VarAccess] this. # 39| -1: [ThisAccess] this # 39| 1: [VarAccess] -# 39| 1: [Method] invoke +# 39| 2: [FieldDeclaration] Companion ; +# 39| -1: [TypeAccess] Companion +# 39| 3: [Method] invoke # 39| 5: [BlockStmt] { ... } # 39| 0: [ReturnStmt] return ... # 39| 0: [MethodAccess] f0(...) # 39| -1: [VarAccess] this. # 39| -1: [ThisAccess] this -# 39| 1: [FieldDeclaration] Companion ; -# 39| -1: [TypeAccess] Companion # 39| -3: [TypeAccess] Function0 # 39| 0: [TypeAccess] Integer # 39| 0: [VarAccess] Companion @@ -4066,7 +4066,9 @@ funcExprs.kt: # 40| 0: [VarAccess] this. # 40| -1: [ThisAccess] this # 40| 1: [VarAccess] -# 40| 1: [Method] invoke +# 40| 2: [FieldDeclaration] FuncRef ; +# 40| -1: [TypeAccess] FuncRef +# 40| 3: [Method] invoke #-----| 4: (Parameters) # 40| 0: [Parameter] a0 # 40| 5: [BlockStmt] { ... } @@ -4075,8 +4077,6 @@ funcExprs.kt: # 40| -1: [VarAccess] this. # 40| -1: [ThisAccess] this # 40| 0: [VarAccess] a0 -# 40| 1: [FieldDeclaration] FuncRef ; -# 40| -1: [TypeAccess] FuncRef # 40| -3: [TypeAccess] Function1 # 40| 0: [TypeAccess] Integer # 40| 1: [TypeAccess] Integer @@ -4091,7 +4091,7 @@ funcExprs.kt: # 41| 1: [Constructor] # 41| 5: [BlockStmt] { ... } # 41| 0: [SuperConstructorInvocationStmt] super(...) -# 41| 1: [Method] invoke +# 41| 2: [Method] invoke #-----| 4: (Parameters) # 41| 0: [Parameter] a0 # 41| 1: [Parameter] a1 @@ -4120,7 +4120,9 @@ funcExprs.kt: # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] -# 42| 1: [Method] invoke +# 42| 2: [FieldDeclaration] int ; +# 42| -1: [TypeAccess] int +# 42| 3: [Method] invoke #-----| 4: (Parameters) # 42| 0: [Parameter] a0 # 42| 5: [BlockStmt] { ... } @@ -4130,8 +4132,6 @@ funcExprs.kt: # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] a0 -# 42| 1: [FieldDeclaration] int ; -# 42| -1: [TypeAccess] int # 42| -3: [TypeAccess] Function1 # 42| 0: [TypeAccess] Integer # 42| 1: [TypeAccess] Integer @@ -4145,7 +4145,7 @@ funcExprs.kt: # 43| 1: [Constructor] # 43| 5: [BlockStmt] { ... } # 43| 0: [SuperConstructorInvocationStmt] super(...) -# 43| 1: [Method] invoke +# 43| 2: [Method] invoke #-----| 4: (Parameters) # 43| 0: [Parameter] a0 # 43| 1: [Parameter] a1 @@ -4175,7 +4175,9 @@ funcExprs.kt: # 44| 0: [VarAccess] this. # 44| -1: [ThisAccess] this # 44| 1: [VarAccess] -# 44| 1: [Method] invoke +# 44| 2: [FieldDeclaration] FuncRef ; +# 44| -1: [TypeAccess] FuncRef +# 44| 3: [Method] invoke #-----| 4: (Parameters) # 44| 0: [Parameter] a0 # 44| 1: [Parameter] a1 @@ -4226,8 +4228,6 @@ funcExprs.kt: # 44| 19: [VarAccess] a19 # 44| 20: [VarAccess] a20 # 44| 21: [VarAccess] a21 -# 44| 1: [FieldDeclaration] FuncRef ; -# 44| -1: [TypeAccess] FuncRef # 44| -3: [TypeAccess] Function22 # 44| 0: [TypeAccess] Integer # 44| 1: [TypeAccess] Integer @@ -4270,7 +4270,9 @@ funcExprs.kt: # 45| 0: [VarAccess] this. # 45| -1: [ThisAccess] this # 45| 1: [VarAccess] -# 45| 1: [Method] invoke +# 45| 2: [FieldDeclaration] FuncRef ; +# 45| -1: [TypeAccess] FuncRef +# 45| 3: [Method] invoke #-----| 4: (Parameters) # 45| 0: [Parameter] a0 # 45| 5: [BlockStmt] { ... } @@ -4393,8 +4395,6 @@ funcExprs.kt: # 45| 1: [ArrayAccess] ...[...] # 45| 0: [VarAccess] a0 # 45| 1: [IntegerLiteral] 22 -# 45| 1: [FieldDeclaration] FuncRef ; -# 45| -1: [TypeAccess] FuncRef # 45| -3: [TypeAccess] FunctionN # 45| 0: [TypeAccess] String # 45| 0: [ClassInstanceExpr] new FuncRef(...) @@ -4408,7 +4408,7 @@ funcExprs.kt: # 46| 1: [Constructor] # 46| 5: [BlockStmt] { ... } # 46| 0: [SuperConstructorInvocationStmt] super(...) -# 46| 1: [Method] invoke +# 46| 2: [Method] invoke #-----| 4: (Parameters) # 46| 0: [Parameter] a0 # 46| 5: [BlockStmt] { ... } @@ -4541,7 +4541,7 @@ funcExprs.kt: # 48| 1: [Constructor] # 48| 5: [BlockStmt] { ... } # 48| 0: [SuperConstructorInvocationStmt] super(...) -# 48| 1: [Method] local +# 48| 2: [Method] local # 48| 3: [TypeAccess] int # 48| 5: [BlockStmt] { ... } # 48| 0: [ReturnStmt] return ... @@ -4554,7 +4554,7 @@ funcExprs.kt: # 49| 1: [Constructor] # 49| 5: [BlockStmt] { ... } # 49| 0: [SuperConstructorInvocationStmt] super(...) -# 49| 1: [Method] invoke +# 49| 2: [Method] invoke # 49| 5: [BlockStmt] { ... } # 49| 0: [ReturnStmt] return ... # 49| 0: [MethodAccess] local(...) @@ -4571,7 +4571,7 @@ funcExprs.kt: # 51| 1: [Constructor] # 51| 5: [BlockStmt] { ... } # 51| 0: [SuperConstructorInvocationStmt] super(...) -# 51| 1: [Method] invoke +# 51| 2: [Method] invoke # 51| 5: [BlockStmt] { ... } # 51| 0: [ReturnStmt] return ... # 51| 0: [ClassInstanceExpr] new FuncRef(...) @@ -4755,7 +4755,7 @@ funcExprs.kt: # 75| 1: [Constructor] # 75| 5: [BlockStmt] { ... } # 75| 0: [SuperConstructorInvocationStmt] super(...) -# 75| 1: [Method] invoke +# 75| 2: [Method] invoke # 75| 3: [TypeAccess] String #-----| 4: (Parameters) # 75| 0: [Parameter] a @@ -4813,7 +4813,9 @@ kFunctionInvoke.kt: # 8| 0: [VarAccess] this. # 8| -1: [ThisAccess] this # 8| 1: [VarAccess] -# 8| 1: [Method] invoke +# 8| 2: [FieldDeclaration] A ; +# 8| -1: [TypeAccess] A +# 8| 3: [Method] invoke #-----| 4: (Parameters) # 8| 0: [Parameter] a0 # 8| 5: [BlockStmt] { ... } @@ -4822,8 +4824,6 @@ kFunctionInvoke.kt: # 8| -1: [VarAccess] this. # 8| -1: [ThisAccess] this # 8| 0: [VarAccess] a0 -# 8| 1: [FieldDeclaration] A ; -# 8| -1: [TypeAccess] A # 8| -3: [TypeAccess] Function1 # 8| 0: [TypeAccess] String # 8| 1: [TypeAccess] Unit @@ -4857,7 +4857,7 @@ localFunctionCalls.kt: # 5| 1: [Constructor] # 5| 5: [BlockStmt] { ... } # 5| 0: [SuperConstructorInvocationStmt] super(...) -# 5| 1: [Method] a +# 5| 2: [Method] a #-----| 2: (Generic Parameters) # 5| 0: [TypeVariable] T # 5| 3: [TypeAccess] int @@ -4890,7 +4890,7 @@ localFunctionCalls.kt: # 9| 1: [Constructor] # 9| 5: [BlockStmt] { ... } # 9| 0: [SuperConstructorInvocationStmt] super(...) -# 9| 1: [ExtensionMethod] f1 +# 9| 2: [ExtensionMethod] f1 #-----| 2: (Generic Parameters) # 9| 0: [TypeVariable] T1 # 9| 3: [TypeAccess] int @@ -4957,7 +4957,11 @@ samConversion.kt: # 2| 0: [VarAccess] this. # 2| -1: [ThisAccess] this # 2| 1: [VarAccess] -# 2| 1: [Method] accept +# 2| 2: [FieldDeclaration] Function1 ; +# 2| -1: [TypeAccess] Function1 +# 2| 0: [TypeAccess] Integer +# 2| 1: [TypeAccess] Boolean +# 2| 3: [Method] accept # 2| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 2| 0: [Parameter] i @@ -4967,17 +4971,13 @@ samConversion.kt: # 2| 0: [MethodAccess] invoke(...) # 2| -1: [VarAccess] # 2| 0: [VarAccess] i -# 2| 1: [FieldDeclaration] Function1 ; -# 2| -1: [TypeAccess] Function1 -# 2| 0: [TypeAccess] Integer -# 2| 1: [TypeAccess] Boolean # 2| -3: [TypeAccess] IntPredicate # 2| 0: [LambdaExpr] ...->... # 2| -4: [AnonymousClass] new Function1(...) { ... } # 2| 1: [Constructor] # 2| 5: [BlockStmt] { ... } # 2| 0: [SuperConstructorInvocationStmt] super(...) -# 2| 1: [Method] invoke +# 2| 2: [Method] invoke # 2| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 2| 0: [Parameter] it @@ -5008,7 +5008,12 @@ samConversion.kt: # 4| 0: [VarAccess] this. # 4| -1: [ThisAccess] this # 4| 1: [VarAccess] -# 4| 1: [Method] fn1 +# 4| 2: [FieldDeclaration] Function2 ; +# 4| -1: [TypeAccess] Function2 +# 4| 0: [TypeAccess] Integer +# 4| 1: [TypeAccess] Integer +# 4| 2: [TypeAccess] Unit +# 4| 3: [Method] fn1 # 4| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 4| 0: [Parameter] i @@ -5021,18 +5026,13 @@ samConversion.kt: # 4| -1: [VarAccess] # 4| 0: [VarAccess] i # 4| 1: [VarAccess] j -# 4| 1: [FieldDeclaration] Function2 ; -# 4| -1: [TypeAccess] Function2 -# 4| 0: [TypeAccess] Integer -# 4| 1: [TypeAccess] Integer -# 4| 2: [TypeAccess] Unit # 4| -3: [TypeAccess] InterfaceFn1 # 4| 0: [LambdaExpr] ...->... # 4| -4: [AnonymousClass] new Function2(...) { ... } # 4| 1: [Constructor] # 4| 5: [BlockStmt] { ... } # 4| 0: [SuperConstructorInvocationStmt] super(...) -# 4| 1: [Method] invoke +# 4| 2: [Method] invoke # 4| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 4| 0: [Parameter] a @@ -5062,7 +5062,12 @@ samConversion.kt: # 5| 0: [VarAccess] this. # 5| -1: [ThisAccess] this # 5| 1: [VarAccess] -# 5| 1: [Method] fn1 +# 5| 2: [FieldDeclaration] Function2 ; +# 5| -1: [TypeAccess] Function2 +# 5| 0: [TypeAccess] Integer +# 5| 1: [TypeAccess] Integer +# 5| 2: [TypeAccess] Unit +# 5| 3: [Method] fn1 # 5| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 5| 0: [Parameter] i @@ -5075,18 +5080,13 @@ samConversion.kt: # 5| -1: [VarAccess] # 5| 0: [VarAccess] i # 5| 1: [VarAccess] j -# 5| 1: [FieldDeclaration] Function2 ; -# 5| -1: [TypeAccess] Function2 -# 5| 0: [TypeAccess] Integer -# 5| 1: [TypeAccess] Integer -# 5| 2: [TypeAccess] Unit # 5| -3: [TypeAccess] InterfaceFn1 # 5| 0: [MemberRefExpr] ...::... # 5| -4: [AnonymousClass] new Function2(...) { ... } # 5| 1: [Constructor] # 5| 5: [BlockStmt] { ... } # 5| 0: [SuperConstructorInvocationStmt] super(...) -# 5| 1: [Method] invoke +# 5| 2: [Method] invoke #-----| 4: (Parameters) # 5| 0: [Parameter] a0 # 5| 1: [Parameter] a1 @@ -5116,7 +5116,12 @@ samConversion.kt: # 7| 0: [VarAccess] this. # 7| -1: [ThisAccess] this # 7| 1: [VarAccess] -# 7| 1: [ExtensionMethod] ext +# 7| 2: [FieldDeclaration] Function2 ; +# 7| -1: [TypeAccess] Function2 +# 7| 0: [TypeAccess] String +# 7| 1: [TypeAccess] Integer +# 7| 2: [TypeAccess] Boolean +# 7| 3: [ExtensionMethod] ext # 7| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 7| 0: [Parameter] @@ -5129,18 +5134,13 @@ samConversion.kt: # 7| -1: [VarAccess] # 7| 0: [ExtensionReceiverAccess] this # 7| 1: [VarAccess] i -# 7| 1: [FieldDeclaration] Function2 ; -# 7| -1: [TypeAccess] Function2 -# 7| 0: [TypeAccess] String -# 7| 1: [TypeAccess] Integer -# 7| 2: [TypeAccess] Boolean # 7| -3: [TypeAccess] InterfaceFnExt1 # 7| 0: [LambdaExpr] ...->... # 7| -4: [AnonymousClass] new Function2(...) { ... } # 7| 1: [Constructor] # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) -# 7| 1: [ExtensionMethod] invoke +# 7| 2: [ExtensionMethod] invoke # 7| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 7| 0: [Parameter] $this$InterfaceFnExt1 @@ -5172,7 +5172,11 @@ samConversion.kt: # 9| 0: [VarAccess] this. # 9| -1: [ThisAccess] this # 9| 1: [VarAccess] -# 9| 1: [Method] accept +# 9| 2: [FieldDeclaration] Function1 ; +# 9| -1: [TypeAccess] Function1 +# 9| 0: [TypeAccess] Integer +# 9| 1: [TypeAccess] Boolean +# 9| 3: [Method] accept # 9| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 9| 0: [Parameter] i @@ -5182,10 +5186,6 @@ samConversion.kt: # 9| 0: [MethodAccess] invoke(...) # 9| -1: [VarAccess] # 9| 0: [VarAccess] i -# 9| 1: [FieldDeclaration] Function1 ; -# 9| -1: [TypeAccess] Function1 -# 9| 0: [TypeAccess] Integer -# 9| 1: [TypeAccess] Boolean # 9| -3: [TypeAccess] IntPredicate # 9| 0: [WhenExpr] when ... # 9| 0: [WhenBranch] ... -> ... @@ -5196,7 +5196,7 @@ samConversion.kt: # 9| 1: [Constructor] # 9| 5: [BlockStmt] { ... } # 9| 0: [SuperConstructorInvocationStmt] super(...) -# 9| 1: [Method] invoke +# 9| 2: [Method] invoke # 9| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 10| 0: [Parameter] j @@ -5219,7 +5219,7 @@ samConversion.kt: # 11| 1: [Constructor] # 11| 5: [BlockStmt] { ... } # 11| 0: [SuperConstructorInvocationStmt] super(...) -# 11| 1: [Method] invoke +# 11| 2: [Method] invoke # 11| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 12| 0: [Parameter] j @@ -5307,7 +5307,7 @@ samConversion.kt: # 41| 1: [Constructor] # 41| 5: [BlockStmt] { ... } # 41| 0: [SuperConstructorInvocationStmt] super(...) -# 41| 1: [Method] invoke +# 41| 2: [Method] invoke #-----| 4: (Parameters) # 41| 0: [Parameter] a0 # 41| 5: [BlockStmt] { ... } @@ -5447,7 +5447,10 @@ samConversion.kt: # 42| 0: [VarAccess] this. # 42| -1: [ThisAccess] this # 42| 1: [VarAccess] -# 42| 1: [Method] accept +# 42| 2: [FieldDeclaration] FunctionN ; +# 42| -1: [TypeAccess] FunctionN +# 42| 0: [TypeAccess] Boolean +# 42| 3: [Method] accept # 42| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 42| 0: [Parameter] i0 @@ -5527,9 +5530,6 @@ samConversion.kt: # 42| 22: [VarAccess] i22 # 42| -1: [TypeAccess] Object # 42| 0: [IntegerLiteral] 23 -# 42| 1: [FieldDeclaration] FunctionN ; -# 42| -1: [TypeAccess] FunctionN -# 42| 0: [TypeAccess] Boolean # 42| -3: [TypeAccess] BigArityPredicate # 42| 0: [VarAccess] a # 43| 2: [LocalVariableDeclStmt] var ...; @@ -5548,7 +5548,10 @@ samConversion.kt: # 43| 0: [VarAccess] this. # 43| -1: [ThisAccess] this # 43| 1: [VarAccess] -# 43| 1: [Method] accept +# 43| 2: [FieldDeclaration] FunctionN ; +# 43| -1: [TypeAccess] FunctionN +# 43| 0: [TypeAccess] Boolean +# 43| 3: [Method] accept # 43| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 43| 0: [Parameter] i0 @@ -5628,16 +5631,13 @@ samConversion.kt: # 43| 22: [VarAccess] i22 # 43| -1: [TypeAccess] Object # 43| 0: [IntegerLiteral] 23 -# 43| 1: [FieldDeclaration] FunctionN ; -# 43| -1: [TypeAccess] FunctionN -# 43| 0: [TypeAccess] Boolean # 43| -3: [TypeAccess] BigArityPredicate # 43| 0: [LambdaExpr] ...->... # 43| -4: [AnonymousClass] new FunctionN(...) { ... } # 43| 1: [Constructor] # 43| 5: [BlockStmt] { ... } # 43| 0: [SuperConstructorInvocationStmt] super(...) -# 43| 1: [Method] invoke +# 43| 2: [Method] invoke # 43| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 43| 0: [Parameter] i0 @@ -5689,7 +5689,7 @@ samConversion.kt: # 45| 5: [BlockStmt] { ... } # 45| 0: [ReturnStmt] return ... # 45| 0: [BooleanLiteral] true -# 43| 1: [Method] invoke +# 43| 2: [Method] invoke #-----| 4: (Parameters) # 43| 0: [Parameter] a0 # 43| 5: [BlockStmt] { ... } @@ -5830,7 +5830,11 @@ samConversion.kt: # 46| 0: [VarAccess] this. # 46| -1: [ThisAccess] this # 46| 1: [VarAccess] -# 46| 1: [Method] fn +# 46| 2: [FieldDeclaration] Function1 ; +# 46| -1: [TypeAccess] Function1 +# 46| 0: [TypeAccess] Integer +# 46| 1: [TypeAccess] Boolean +# 46| 3: [Method] fn # 46| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 46| 0: [Parameter] i @@ -5840,10 +5844,6 @@ samConversion.kt: # 46| 0: [MethodAccess] invoke(...) # 46| -1: [VarAccess] # 46| 0: [VarAccess] i -# 46| 1: [FieldDeclaration] Function1 ; -# 46| -1: [TypeAccess] Function1 -# 46| 0: [TypeAccess] Integer -# 46| 1: [TypeAccess] Boolean # 46| -3: [TypeAccess] SomePredicate # 46| 0: [TypeAccess] Integer # 46| 0: [LambdaExpr] ...->... @@ -5851,7 +5851,7 @@ samConversion.kt: # 46| 1: [Constructor] # 46| 5: [BlockStmt] { ... } # 46| 0: [SuperConstructorInvocationStmt] super(...) -# 46| 1: [Method] invoke +# 46| 2: [Method] invoke # 46| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 46| 0: [Parameter] a diff --git a/java/ql/test/kotlin/library-tests/exprs_typeaccess/PrintAst.expected b/java/ql/test/kotlin/library-tests/exprs_typeaccess/PrintAst.expected index ae2d5911e7e..a3ed7a0d3a0 100644 --- a/java/ql/test/kotlin/library-tests/exprs_typeaccess/PrintAst.expected +++ b/java/ql/test/kotlin/library-tests/exprs_typeaccess/PrintAst.expected @@ -34,7 +34,7 @@ A.kt: # 13| 0: [ReturnStmt] return ... # 13| 0: [VarAccess] this.prop # 13| -1: [ThisAccess] this -# 13| 6: [FieldDeclaration] int prop; +# 13| 7: [FieldDeclaration] int prop; # 13| -1: [TypeAccess] int # 13| 0: [MethodAccess] fn(...) # 13| -1: [ThisAccess] A.this @@ -74,14 +74,14 @@ A.kt: # 20| 0: [VarAccess] B.x # 20| -1: [TypeAccess] B # 23| 11: [Class] Enu -# 0| 1: [Method] values -# 0| 3: [TypeAccess] Enu[] -# 0| 0: [TypeAccess] Enu -# 0| 1: [Method] valueOf +# 0| 2: [Method] valueOf # 0| 3: [TypeAccess] Enu #-----| 4: (Parameters) # 0| 0: [Parameter] value # 0| 0: [TypeAccess] String +# 0| 3: [Method] values +# 0| 3: [TypeAccess] Enu[] +# 0| 0: [TypeAccess] Enu # 23| 4: [Constructor] Enu # 23| 5: [BlockStmt] { ... } # 23| 0: [ExprStmt] ; diff --git a/java/ql/test/kotlin/library-tests/for-array-iterators/test.expected b/java/ql/test/kotlin/library-tests/for-array-iterators/test.expected new file mode 100644 index 00000000000..ac5821044ff --- /dev/null +++ b/java/ql/test/kotlin/library-tests/for-array-iterators/test.expected @@ -0,0 +1,9 @@ +| test.kt:5:14:5:14 | hasNext(...) | +| test.kt:5:14:5:14 | iterator(...) | +| test.kt:5:14:5:14 | next(...) | +| test.kt:6:14:6:14 | hasNext(...) | +| test.kt:6:14:6:14 | iterator(...) | +| test.kt:6:14:6:14 | next(...) | +| test.kt:7:14:7:14 | hasNext(...) | +| test.kt:7:14:7:14 | iterator(...) | +| test.kt:7:14:7:14 | next(...) | diff --git a/java/ql/test/kotlin/library-tests/for-array-iterators/test.kt b/java/ql/test/kotlin/library-tests/for-array-iterators/test.kt new file mode 100644 index 00000000000..2da3a6e1e0e --- /dev/null +++ b/java/ql/test/kotlin/library-tests/for-array-iterators/test.kt @@ -0,0 +1,11 @@ +fun test(x: Array, y: Array<*>, z: IntArray): Int { + + var ret = 0 + + for (el in x) { ret += 1 } + for (el in y) { ret += 1 } + for (el in z) { ret += 1 } + + return ret + +} diff --git a/java/ql/test/kotlin/library-tests/for-array-iterators/test.ql b/java/ql/test/kotlin/library-tests/for-array-iterators/test.ql new file mode 100644 index 00000000000..ab60ba2525d --- /dev/null +++ b/java/ql/test/kotlin/library-tests/for-array-iterators/test.ql @@ -0,0 +1,4 @@ +import java + +from MethodAccess ma +select ma diff --git a/java/ql/test/kotlin/library-tests/generic-instance-methods/test.expected b/java/ql/test/kotlin/library-tests/generic-instance-methods/test.expected index 13c5c19bd68..b80b1311a64 100644 --- a/java/ql/test/kotlin/library-tests/generic-instance-methods/test.expected +++ b/java/ql/test/kotlin/library-tests/generic-instance-methods/test.expected @@ -14,8 +14,8 @@ calls | test.kt:22:15:22:33 | setter(...) | test.kt:12:1:25:1 | user | test.kt:0:0:0:0 | TestKt | file:///!unknown-binary-location/Generic.class:0:0:0:0 | setter | file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic | | test.kt:23:15:23:22 | getter(...) | test.kt:12:1:25:1 | user | test.kt:0:0:0:0 | TestKt | file:///!unknown-binary-location/Generic.class:0:0:0:0 | getter | file:///!unknown-binary-location/Generic.class:0:0:0:0 | Generic | constructors -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | Generic2 | Generic2(java.lang.String) | ? extends String | void | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | Generic2 | Generic2(java.lang.Object) | ? super String | void | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | Generic2 | Generic2() | | void | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | Generic2 | Generic2(java.lang.String) | String | void | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | | Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | Generic2 | Generic2(java.lang.String) | String | void | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | Generic2(java.lang.Object) | T | void | Test.java:1:7:1:14 | Generic2 | Test.java:3:10:3:17 | Generic2 | | Test.java:14:14:14:17 | Test | Test.java:14:14:14:17 | Test | Test() | No parameters | void | Test.java:14:14:14:17 | Test | Test.java:14:14:14:17 | Test | @@ -34,14 +34,14 @@ refTypes | test.kt:1:1:10:1 | Generic | | test.kt:1:15:1:15 | T | #select -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | getter | getter() | No parameters | ? extends String | Test.java:1:7:1:14 | Generic2 | Test.java:9:5:9:10 | getter | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity | identity(java.lang.String) | ? extends String | ? extends String | Test.java:1:7:1:14 | Generic2 | Test.java:8:5:8:12 | identity | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity2 | identity2(java.lang.String) | ? extends String | ? extends String | Test.java:1:7:1:14 | Generic2 | Test.java:7:5:7:13 | identity2 | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | setter | setter(java.lang.String) | ? extends String | void | Test.java:1:7:1:14 | Generic2 | Test.java:10:8:10:13 | setter | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | getter | getter() | No parameters | ? super String | Test.java:1:7:1:14 | Generic2 | Test.java:9:5:9:10 | getter | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity | identity(java.lang.Object) | ? super String | ? super String | Test.java:1:7:1:14 | Generic2 | Test.java:8:5:8:12 | identity | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity2 | identity2(java.lang.Object) | ? super String | ? super String | Test.java:1:7:1:14 | Generic2 | Test.java:7:5:7:13 | identity2 | -| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | setter | setter(java.lang.Object) | ? super String | void | Test.java:1:7:1:14 | Generic2 | Test.java:10:8:10:13 | setter | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | getter | getter() | No parameters | String | Test.java:1:7:1:14 | Generic2 | Test.java:9:5:9:10 | getter | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity | identity() | | String | Test.java:1:7:1:14 | Generic2 | Test.java:8:5:8:12 | identity | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity2 | identity2() | | String | Test.java:1:7:1:14 | Generic2 | Test.java:7:5:7:13 | identity2 | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | setter | setter() | | void | Test.java:1:7:1:14 | Generic2 | Test.java:10:8:10:13 | setter | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | getter | getter() | No parameters | Object | Test.java:1:7:1:14 | Generic2 | Test.java:9:5:9:10 | getter | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity | identity(java.lang.String) | String | Object | Test.java:1:7:1:14 | Generic2 | Test.java:8:5:8:12 | identity | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity2 | identity2(java.lang.String) | String | Object | Test.java:1:7:1:14 | Generic2 | Test.java:7:5:7:13 | identity2 | +| Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | setter | setter(java.lang.String) | String | void | Test.java:1:7:1:14 | Generic2 | Test.java:10:8:10:13 | setter | | Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | getter | getter() | No parameters | String | Test.java:1:7:1:14 | Generic2 | Test.java:9:5:9:10 | getter | | Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity | identity(java.lang.String) | String | String | Test.java:1:7:1:14 | Generic2 | Test.java:8:5:8:12 | identity | | Generic2.class:0:0:0:0 | Generic2 | Generic2.class:0:0:0:0 | identity2 | identity2(java.lang.String) | String | String | Test.java:1:7:1:14 | Generic2 | Test.java:7:5:7:13 | identity2 | diff --git a/java/ql/test/kotlin/library-tests/generics/PrintAst.expected b/java/ql/test/kotlin/library-tests/generics/PrintAst.expected index 37f27bdb483..619ba5f3bcc 100644 --- a/java/ql/test/kotlin/library-tests/generics/PrintAst.expected +++ b/java/ql/test/kotlin/library-tests/generics/PrintAst.expected @@ -98,15 +98,15 @@ generics.kt: # 13| 0: [ExprStmt] ; # 13| 0: [KtInitializerAssignExpr] ...=... # 13| 0: [VarAccess] t -# 13| 2: [Method] getT +# 13| 2: [FieldDeclaration] T t; +# 13| -1: [TypeAccess] T +# 13| 0: [VarAccess] t +# 13| 3: [Method] getT # 13| 3: [TypeAccess] T # 13| 5: [BlockStmt] { ... } # 13| 0: [ReturnStmt] return ... # 13| 0: [VarAccess] this.t # 13| -1: [ThisAccess] this -# 13| 2: [FieldDeclaration] T t; -# 13| -1: [TypeAccess] T -# 13| 0: [VarAccess] t # 14| 4: [Method] f1 # 14| 3: [TypeAccess] Unit #-----| 4: (Parameters) diff --git a/java/ql/test/kotlin/library-tests/internal-public-alias/User.java b/java/ql/test/kotlin/library-tests/internal-public-alias/User.java new file mode 100644 index 00000000000..d249e1d36f2 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/internal-public-alias/User.java @@ -0,0 +1,11 @@ +public class User { + + public static int test(Test t) { + + t.setInternalVar$main(t.getInternalVal$main()); + + return t.internalFun$main(); + + } + +} diff --git a/java/ql/test/kotlin/library-tests/internal-public-alias/test.expected b/java/ql/test/kotlin/library-tests/internal-public-alias/test.expected new file mode 100644 index 00000000000..77a06cf7310 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/internal-public-alias/test.expected @@ -0,0 +1,6 @@ +| User.java:3:21:3:24 | test | +| test.kt:3:12:3:30 | getInternalVal$main | +| test.kt:6:3:6:36 | getInternalVal | +| test.kt:8:12:8:30 | getInternalVar$main | +| test.kt:8:12:8:30 | setInternalVar$main | +| test.kt:10:12:10:32 | internalFun$main | diff --git a/java/ql/test/kotlin/library-tests/internal-public-alias/test.kt b/java/ql/test/kotlin/library-tests/internal-public-alias/test.kt new file mode 100644 index 00000000000..e79e6d2f907 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/internal-public-alias/test.kt @@ -0,0 +1,12 @@ +public class Test { + + internal val internalVal = 1 + + // Would clash with the internal val's getter without name mangling and provoke a database inconsistency: + fun getInternalVal() = internalVal + + internal var internalVar = 2 + + internal fun internalFun() = 3 + +} diff --git a/java/ql/test/kotlin/library-tests/internal-public-alias/test.ql b/java/ql/test/kotlin/library-tests/internal-public-alias/test.ql new file mode 100644 index 00000000000..f1355df2e88 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/internal-public-alias/test.ql @@ -0,0 +1,5 @@ +import java + +from Method m +where m.fromSource() +select m diff --git a/java/ql/test/kotlin/library-tests/java-kotlin-collection-type-generic-methods/test.expected b/java/ql/test/kotlin/library-tests/java-kotlin-collection-type-generic-methods/test.expected index 417b8a22399..7995948aa78 100644 --- a/java/ql/test/kotlin/library-tests/java-kotlin-collection-type-generic-methods/test.expected +++ b/java/ql/test/kotlin/library-tests/java-kotlin-collection-type-generic-methods/test.expected @@ -54,7 +54,7 @@ methodWithDuplicate | AbstractList | set | int | | AbstractList | subList | int | | AbstractList | subListRangeCheck | int | -| AbstractMap | containsEntry | Entry | +| AbstractMap | containsEntry$kotlin_stdlib | Entry | | AbstractMap | containsKey | Object | | AbstractMap | containsValue | Object | | AbstractMap | equals | Object | @@ -79,7 +79,7 @@ methodWithDuplicate | AbstractMap | put | V | | AbstractMap | putAll | Map | | AbstractMap | remove | Object | -| AbstractMap | containsEntry | Entry | +| AbstractMap | containsEntry$kotlin_stdlib | Entry | | AbstractMap | containsKey | Object | | AbstractMap | containsValue | Object | | AbstractMap | equals | Object | diff --git a/java/ql/test/kotlin/library-tests/jvmstatic-annotation/JavaUser.java b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/JavaUser.java new file mode 100644 index 00000000000..fc079df1ba8 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/JavaUser.java @@ -0,0 +1,22 @@ +public class JavaUser { + + public static void test() { + + HasCompanion.staticMethod("1"); + HasCompanion.Companion.nonStaticMethod("2"); + HasCompanion.setStaticProp(HasCompanion.Companion.getNonStaticProp()); + HasCompanion.Companion.setNonStaticProp(HasCompanion.getStaticProp()); + HasCompanion.Companion.setPropWithStaticGetter(HasCompanion.Companion.getPropWithStaticSetter()); + HasCompanion.setPropWithStaticSetter(HasCompanion.getPropWithStaticGetter()); + + // These extract as static methods, since there is no proxy method in the non-companion object case. + NonCompanion.staticMethod("1"); + NonCompanion.INSTANCE.nonStaticMethod("2"); + NonCompanion.setStaticProp(NonCompanion.INSTANCE.getNonStaticProp()); + NonCompanion.INSTANCE.setNonStaticProp(NonCompanion.getStaticProp()); + NonCompanion.INSTANCE.setPropWithStaticGetter(NonCompanion.INSTANCE.getPropWithStaticSetter()); + NonCompanion.setPropWithStaticSetter(NonCompanion.getPropWithStaticGetter()); + + } + +} diff --git a/java/ql/test/kotlin/library-tests/jvmstatic-annotation/PrintAst.expected b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/PrintAst.expected new file mode 100644 index 00000000000..1376baa4f1d --- /dev/null +++ b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/PrintAst.expected @@ -0,0 +1,441 @@ +JavaUser.java: +# 0| [CompilationUnit] JavaUser +# 1| 1: [Class] JavaUser +# 3| 2: [Method] test +# 3| 3: [TypeAccess] void +# 3| 5: [BlockStmt] { ... } +# 5| 0: [ExprStmt] ; +# 5| 0: [MethodAccess] staticMethod(...) +# 5| -1: [TypeAccess] HasCompanion +# 5| 0: [StringLiteral] "1" +# 6| 1: [ExprStmt] ; +# 6| 0: [MethodAccess] nonStaticMethod(...) +# 6| -1: [VarAccess] HasCompanion.Companion +# 6| -1: [TypeAccess] HasCompanion +# 6| 0: [StringLiteral] "2" +# 7| 2: [ExprStmt] ; +# 7| 0: [MethodAccess] setStaticProp(...) +# 7| -1: [TypeAccess] HasCompanion +# 7| 0: [MethodAccess] getNonStaticProp(...) +# 7| -1: [VarAccess] HasCompanion.Companion +# 7| -1: [TypeAccess] HasCompanion +# 8| 3: [ExprStmt] ; +# 8| 0: [MethodAccess] setNonStaticProp(...) +# 8| -1: [VarAccess] HasCompanion.Companion +# 8| -1: [TypeAccess] HasCompanion +# 8| 0: [MethodAccess] getStaticProp(...) +# 8| -1: [TypeAccess] HasCompanion +# 9| 4: [ExprStmt] ; +# 9| 0: [MethodAccess] setPropWithStaticGetter(...) +# 9| -1: [VarAccess] HasCompanion.Companion +# 9| -1: [TypeAccess] HasCompanion +# 9| 0: [MethodAccess] getPropWithStaticSetter(...) +# 9| -1: [VarAccess] HasCompanion.Companion +# 9| -1: [TypeAccess] HasCompanion +# 10| 5: [ExprStmt] ; +# 10| 0: [MethodAccess] setPropWithStaticSetter(...) +# 10| -1: [TypeAccess] HasCompanion +# 10| 0: [MethodAccess] getPropWithStaticGetter(...) +# 10| -1: [TypeAccess] HasCompanion +# 13| 6: [ExprStmt] ; +# 13| 0: [MethodAccess] staticMethod(...) +# 13| -1: [TypeAccess] NonCompanion +# 13| 0: [StringLiteral] "1" +# 14| 7: [ExprStmt] ; +# 14| 0: [MethodAccess] nonStaticMethod(...) +# 14| -1: [VarAccess] NonCompanion.INSTANCE +# 14| -1: [TypeAccess] NonCompanion +# 14| 0: [StringLiteral] "2" +# 15| 8: [ExprStmt] ; +# 15| 0: [MethodAccess] setStaticProp(...) +# 15| -1: [TypeAccess] NonCompanion +# 15| 0: [MethodAccess] getNonStaticProp(...) +# 15| -1: [VarAccess] NonCompanion.INSTANCE +# 15| -1: [TypeAccess] NonCompanion +# 16| 9: [ExprStmt] ; +# 16| 0: [MethodAccess] setNonStaticProp(...) +# 16| -1: [VarAccess] NonCompanion.INSTANCE +# 16| -1: [TypeAccess] NonCompanion +# 16| 0: [MethodAccess] getStaticProp(...) +# 16| -1: [TypeAccess] NonCompanion +# 17| 10: [ExprStmt] ; +# 17| 0: [MethodAccess] setPropWithStaticGetter(...) +# 17| -1: [VarAccess] NonCompanion.INSTANCE +# 17| -1: [TypeAccess] NonCompanion +# 17| 0: [MethodAccess] getPropWithStaticSetter(...) +# 17| -1: [VarAccess] NonCompanion.INSTANCE +# 17| -1: [TypeAccess] NonCompanion +# 18| 11: [ExprStmt] ; +# 18| 0: [MethodAccess] setPropWithStaticSetter(...) +# 18| -1: [TypeAccess] NonCompanion +# 18| 0: [MethodAccess] getPropWithStaticGetter(...) +# 18| -1: [TypeAccess] NonCompanion +test.kt: +# 0| [CompilationUnit] test +# 0| 1: [Class] TestKt +# 49| 1: [Method] externalUser +# 49| 3: [TypeAccess] Unit +# 49| 5: [BlockStmt] { ... } +# 52| 0: [ExprStmt] ; +# 52| 0: [ImplicitCoercionToUnitExpr] +# 52| 0: [TypeAccess] Unit +# 52| 1: [MethodAccess] staticMethod(...) +# 52| -1: [VarAccess] Companion +# 52| 0: [StringLiteral] 1 +# 53| 1: [ExprStmt] ; +# 53| 0: [ImplicitCoercionToUnitExpr] +# 53| 0: [TypeAccess] Unit +# 53| 1: [MethodAccess] nonStaticMethod(...) +# 53| -1: [VarAccess] Companion +# 53| 0: [StringLiteral] 2 +# 54| 2: [ExprStmt] ; +# 54| 0: [MethodAccess] setStaticProp(...) +# 54| -1: [VarAccess] Companion +# 54| 0: [MethodAccess] getNonStaticProp(...) +# 54| -1: [VarAccess] Companion +# 55| 3: [ExprStmt] ; +# 55| 0: [MethodAccess] setNonStaticProp(...) +# 55| -1: [VarAccess] Companion +# 55| 0: [MethodAccess] getStaticProp(...) +# 55| -1: [VarAccess] Companion +# 56| 4: [ExprStmt] ; +# 56| 0: [MethodAccess] setPropWithStaticGetter(...) +# 56| -1: [VarAccess] Companion +# 56| 0: [MethodAccess] getPropWithStaticSetter(...) +# 56| -1: [VarAccess] Companion +# 57| 5: [ExprStmt] ; +# 57| 0: [MethodAccess] setPropWithStaticSetter(...) +# 57| -1: [VarAccess] Companion +# 57| 0: [MethodAccess] getPropWithStaticGetter(...) +# 57| -1: [VarAccess] Companion +# 60| 6: [ExprStmt] ; +# 60| 0: [ImplicitCoercionToUnitExpr] +# 60| 0: [TypeAccess] Unit +# 60| 1: [MethodAccess] staticMethod(...) +# 60| -1: [TypeAccess] NonCompanion +# 60| 0: [StringLiteral] 1 +# 61| 7: [ExprStmt] ; +# 61| 0: [ImplicitCoercionToUnitExpr] +# 61| 0: [TypeAccess] Unit +# 61| 1: [MethodAccess] nonStaticMethod(...) +# 61| -1: [VarAccess] INSTANCE +# 61| 0: [StringLiteral] 2 +# 62| 8: [ExprStmt] ; +# 62| 0: [MethodAccess] setStaticProp(...) +# 62| -1: [TypeAccess] NonCompanion +# 62| 0: [MethodAccess] getNonStaticProp(...) +# 62| -1: [VarAccess] INSTANCE +# 63| 9: [ExprStmt] ; +# 63| 0: [MethodAccess] setNonStaticProp(...) +# 63| -1: [VarAccess] INSTANCE +# 63| 0: [MethodAccess] getStaticProp(...) +# 63| -1: [TypeAccess] NonCompanion +# 64| 10: [ExprStmt] ; +# 64| 0: [MethodAccess] setPropWithStaticGetter(...) +# 64| -1: [VarAccess] INSTANCE +# 64| 0: [MethodAccess] getPropWithStaticSetter(...) +# 64| -1: [VarAccess] INSTANCE +# 65| 11: [ExprStmt] ; +# 65| 0: [MethodAccess] setPropWithStaticSetter(...) +# 65| -1: [TypeAccess] NonCompanion +# 65| 0: [MethodAccess] getPropWithStaticGetter(...) +# 65| -1: [TypeAccess] NonCompanion +# 9| 2: [Class] HasCompanion +#-----| -3: (Annotations) +# 9| 2: [Constructor] HasCompanion +# 9| 5: [BlockStmt] { ... } +# 9| 0: [SuperConstructorInvocationStmt] super(...) +# 9| 1: [BlockStmt] { ... } +# 11| 3: [Class] Companion +#-----| -3: (Annotations) +# 11| 1: [Constructor] Companion +# 11| 5: [BlockStmt] { ... } +# 11| 0: [SuperConstructorInvocationStmt] super(...) +# 11| 1: [BlockStmt] { ... } +# 16| 0: [ExprStmt] ; +# 16| 0: [KtInitializerAssignExpr] ...=... +# 16| 0: [VarAccess] staticProp +# 17| 1: [ExprStmt] ; +# 17| 0: [KtInitializerAssignExpr] ...=... +# 17| 0: [VarAccess] nonStaticProp +# 13| 2: [Method] staticMethod +#-----| 1: (Annotations) +# 13| 3: [TypeAccess] String +#-----| 4: (Parameters) +# 13| 0: [Parameter] s +#-----| -1: (Annotations) +# 13| 0: [TypeAccess] String +# 13| 5: [BlockStmt] { ... } +# 13| 0: [ReturnStmt] return ... +# 13| 0: [MethodAccess] nonStaticMethod(...) +# 13| -1: [ThisAccess] this +# 13| 0: [VarAccess] s +# 14| 3: [Method] nonStaticMethod +#-----| 1: (Annotations) +# 14| 3: [TypeAccess] String +#-----| 4: (Parameters) +# 14| 0: [Parameter] s +#-----| -1: (Annotations) +# 14| 0: [TypeAccess] String +# 14| 5: [BlockStmt] { ... } +# 14| 0: [ReturnStmt] return ... +# 14| 0: [MethodAccess] staticMethod(...) +# 14| -1: [ThisAccess] this +# 14| 0: [VarAccess] s +# 16| 4: [FieldDeclaration] String staticProp; +# 16| -1: [TypeAccess] String +# 16| 0: [StringLiteral] a +# 16| 5: [Method] getStaticProp +#-----| 1: (Annotations) +# 16| 3: [TypeAccess] String +# 16| 5: [BlockStmt] { ... } +# 16| 0: [ReturnStmt] return ... +# 16| 0: [VarAccess] this.staticProp +# 16| -1: [ThisAccess] this +# 16| 6: [Method] setStaticProp +# 16| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 16| 0: [Parameter] +#-----| -1: (Annotations) +# 16| 0: [TypeAccess] String +# 16| 5: [BlockStmt] { ... } +# 16| 0: [ExprStmt] ; +# 16| 0: [AssignExpr] ...=... +# 16| 0: [VarAccess] this.staticProp +# 16| -1: [ThisAccess] this +# 16| 1: [VarAccess] +# 17| 7: [FieldDeclaration] String nonStaticProp; +# 17| -1: [TypeAccess] String +# 17| 0: [StringLiteral] b +# 17| 8: [Method] getNonStaticProp +#-----| 1: (Annotations) +# 17| 3: [TypeAccess] String +# 17| 5: [BlockStmt] { ... } +# 17| 0: [ReturnStmt] return ... +# 17| 0: [VarAccess] this.nonStaticProp +# 17| -1: [ThisAccess] this +# 17| 9: [Method] setNonStaticProp +# 17| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 17| 0: [Parameter] +#-----| -1: (Annotations) +# 17| 0: [TypeAccess] String +# 17| 5: [BlockStmt] { ... } +# 17| 0: [ExprStmt] ; +# 17| 0: [AssignExpr] ...=... +# 17| 0: [VarAccess] this.nonStaticProp +# 17| -1: [ThisAccess] this +# 17| 1: [VarAccess] +# 20| 10: [Method] getPropWithStaticGetter +#-----| 1: (Annotations) +# 20| 3: [TypeAccess] String +# 20| 5: [BlockStmt] { ... } +# 20| 0: [ReturnStmt] return ... +# 20| 0: [MethodAccess] getPropWithStaticSetter(...) +# 20| -1: [ThisAccess] this +# 21| 11: [Method] setPropWithStaticGetter +# 21| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 21| 0: [Parameter] s +#-----| -1: (Annotations) +# 21| 0: [TypeAccess] String +# 21| 5: [BlockStmt] { ... } +# 21| 0: [ExprStmt] ; +# 21| 0: [MethodAccess] setPropWithStaticSetter(...) +# 21| -1: [ThisAccess] this +# 21| 0: [VarAccess] s +# 24| 12: [Method] getPropWithStaticSetter +#-----| 1: (Annotations) +# 24| 3: [TypeAccess] String +# 24| 5: [BlockStmt] { ... } +# 24| 0: [ReturnStmt] return ... +# 24| 0: [MethodAccess] getPropWithStaticGetter(...) +# 24| -1: [ThisAccess] this +# 25| 13: [Method] setPropWithStaticSetter +#-----| 1: (Annotations) +# 25| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 25| 0: [Parameter] s +#-----| -1: (Annotations) +# 25| 0: [TypeAccess] String +# 25| 5: [BlockStmt] { ... } +# 25| 0: [ExprStmt] ; +# 25| 0: [MethodAccess] setPropWithStaticGetter(...) +# 25| -1: [ThisAccess] this +# 25| 0: [VarAccess] s +# 13| 4: [Method] staticMethod +#-----| 1: (Annotations) +# 13| 3: [TypeAccess] String +#-----| 4: (Parameters) +# 13| 0: [Parameter] s +#-----| -1: (Annotations) +# 13| 0: [TypeAccess] String +# 13| 5: [BlockStmt] { ... } +# 13| 0: [ReturnStmt] return ... +# 13| 0: [MethodAccess] staticMethod(...) +# 13| -1: [VarAccess] HasCompanion.Companion +# 13| -1: [TypeAccess] HasCompanion +# 13| 0: [VarAccess] s +# 16| 5: [Method] getStaticProp +#-----| 1: (Annotations) +# 16| 3: [TypeAccess] String +# 16| 5: [BlockStmt] { ... } +# 16| 0: [ReturnStmt] return ... +# 16| 0: [MethodAccess] getStaticProp(...) +# 16| -1: [VarAccess] HasCompanion.Companion +# 16| -1: [TypeAccess] HasCompanion +# 16| 6: [Method] setStaticProp +# 16| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 16| 0: [Parameter] +#-----| -1: (Annotations) +# 16| 0: [TypeAccess] String +# 16| 5: [BlockStmt] { ... } +# 16| 0: [ReturnStmt] return ... +# 16| 0: [MethodAccess] setStaticProp(...) +# 16| -1: [VarAccess] HasCompanion.Companion +# 16| -1: [TypeAccess] HasCompanion +# 16| 0: [VarAccess] +# 20| 7: [Method] getPropWithStaticGetter +#-----| 1: (Annotations) +# 20| 3: [TypeAccess] String +# 20| 5: [BlockStmt] { ... } +# 20| 0: [ReturnStmt] return ... +# 20| 0: [MethodAccess] getPropWithStaticGetter(...) +# 20| -1: [VarAccess] HasCompanion.Companion +# 20| -1: [TypeAccess] HasCompanion +# 25| 8: [Method] setPropWithStaticSetter +#-----| 1: (Annotations) +# 25| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 25| 0: [Parameter] s +#-----| -1: (Annotations) +# 25| 0: [TypeAccess] String +# 25| 5: [BlockStmt] { ... } +# 25| 0: [ReturnStmt] return ... +# 25| 0: [MethodAccess] setPropWithStaticSetter(...) +# 25| -1: [VarAccess] HasCompanion.Companion +# 25| -1: [TypeAccess] HasCompanion +# 25| 0: [VarAccess] s +# 31| 3: [Class] NonCompanion +#-----| -3: (Annotations) +# 31| 2: [Constructor] NonCompanion +# 31| 5: [BlockStmt] { ... } +# 31| 0: [SuperConstructorInvocationStmt] super(...) +# 31| 1: [BlockStmt] { ... } +# 36| 0: [ExprStmt] ; +# 36| 0: [KtInitializerAssignExpr] ...=... +# 36| 0: [VarAccess] staticProp +# 37| 1: [ExprStmt] ; +# 37| 0: [KtInitializerAssignExpr] ...=... +# 37| 0: [VarAccess] nonStaticProp +# 33| 3: [Method] staticMethod +#-----| 1: (Annotations) +# 33| 3: [TypeAccess] String +#-----| 4: (Parameters) +# 33| 0: [Parameter] s +#-----| -1: (Annotations) +# 33| 0: [TypeAccess] String +# 33| 5: [BlockStmt] { ... } +# 33| 0: [ReturnStmt] return ... +# 33| 0: [MethodAccess] nonStaticMethod(...) +# 33| -1: [VarAccess] NonCompanion.INSTANCE +# 33| -1: [TypeAccess] NonCompanion +# 33| 0: [VarAccess] s +# 34| 4: [Method] nonStaticMethod +#-----| 1: (Annotations) +# 34| 3: [TypeAccess] String +#-----| 4: (Parameters) +# 34| 0: [Parameter] s +#-----| -1: (Annotations) +# 34| 0: [TypeAccess] String +# 34| 5: [BlockStmt] { ... } +# 34| 0: [ReturnStmt] return ... +# 34| 0: [MethodAccess] staticMethod(...) +# 34| -1: [TypeAccess] NonCompanion +# 34| 0: [VarAccess] s +# 36| 5: [FieldDeclaration] String staticProp; +# 36| -1: [TypeAccess] String +# 36| 0: [StringLiteral] a +# 36| 6: [Method] getStaticProp +#-----| 1: (Annotations) +# 36| 3: [TypeAccess] String +# 36| 5: [BlockStmt] { ... } +# 36| 0: [ReturnStmt] return ... +# 36| 0: [VarAccess] NonCompanion.INSTANCE.staticProp +# 36| -1: [VarAccess] NonCompanion.INSTANCE +# 36| -1: [TypeAccess] NonCompanion +# 36| 7: [Method] setStaticProp +# 36| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 36| 0: [Parameter] +#-----| -1: (Annotations) +# 36| 0: [TypeAccess] String +# 36| 5: [BlockStmt] { ... } +# 36| 0: [ExprStmt] ; +# 36| 0: [AssignExpr] ...=... +# 36| 0: [VarAccess] NonCompanion.INSTANCE.staticProp +# 36| -1: [VarAccess] NonCompanion.INSTANCE +# 36| -1: [TypeAccess] NonCompanion +# 36| 1: [VarAccess] +# 37| 8: [FieldDeclaration] String nonStaticProp; +# 37| -1: [TypeAccess] String +# 37| 0: [StringLiteral] b +# 37| 9: [Method] getNonStaticProp +#-----| 1: (Annotations) +# 37| 3: [TypeAccess] String +# 37| 5: [BlockStmt] { ... } +# 37| 0: [ReturnStmt] return ... +# 37| 0: [VarAccess] this.nonStaticProp +# 37| -1: [ThisAccess] this +# 37| 10: [Method] setNonStaticProp +# 37| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 37| 0: [Parameter] +#-----| -1: (Annotations) +# 37| 0: [TypeAccess] String +# 37| 5: [BlockStmt] { ... } +# 37| 0: [ExprStmt] ; +# 37| 0: [AssignExpr] ...=... +# 37| 0: [VarAccess] this.nonStaticProp +# 37| -1: [ThisAccess] this +# 37| 1: [VarAccess] +# 40| 11: [Method] getPropWithStaticGetter +#-----| 1: (Annotations) +# 40| 3: [TypeAccess] String +# 40| 5: [BlockStmt] { ... } +# 40| 0: [ReturnStmt] return ... +# 40| 0: [MethodAccess] getPropWithStaticSetter(...) +# 40| -1: [VarAccess] NonCompanion.INSTANCE +# 40| -1: [TypeAccess] NonCompanion +# 41| 12: [Method] setPropWithStaticGetter +# 41| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 41| 0: [Parameter] s +#-----| -1: (Annotations) +# 41| 0: [TypeAccess] String +# 41| 5: [BlockStmt] { ... } +# 41| 0: [ExprStmt] ; +# 41| 0: [MethodAccess] setPropWithStaticSetter(...) +# 41| -1: [TypeAccess] NonCompanion +# 41| 0: [VarAccess] s +# 44| 13: [Method] getPropWithStaticSetter +#-----| 1: (Annotations) +# 44| 3: [TypeAccess] String +# 44| 5: [BlockStmt] { ... } +# 44| 0: [ReturnStmt] return ... +# 44| 0: [MethodAccess] getPropWithStaticGetter(...) +# 44| -1: [TypeAccess] NonCompanion +# 45| 14: [Method] setPropWithStaticSetter +#-----| 1: (Annotations) +# 45| 3: [TypeAccess] Unit +#-----| 4: (Parameters) +# 45| 0: [Parameter] s +#-----| -1: (Annotations) +# 45| 0: [TypeAccess] String +# 45| 5: [BlockStmt] { ... } +# 45| 0: [ExprStmt] ; +# 45| 0: [MethodAccess] setPropWithStaticGetter(...) +# 45| -1: [VarAccess] NonCompanion.INSTANCE +# 45| -1: [TypeAccess] NonCompanion +# 45| 0: [VarAccess] s diff --git a/java/ql/test/kotlin/library-tests/jvmstatic-annotation/PrintAst.qlref b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/PrintAst.qlref new file mode 100644 index 00000000000..c7fd5faf239 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/PrintAst.qlref @@ -0,0 +1 @@ +semmle/code/java/PrintAst.ql \ No newline at end of file diff --git a/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.expected b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.expected new file mode 100644 index 00000000000..ae431e80343 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.expected @@ -0,0 +1,74 @@ +staticMembers +| JavaUser.java:1:14:1:21 | JavaUser | JavaUser.java:3:22:3:25 | test | Method | +| test.kt:0:0:0:0 | TestKt | test.kt:49:1:67:1 | externalUser | Method | +| test.kt:9:1:29:1 | HasCompanion | test.kt:11:3:27:3 | Companion | Class | +| test.kt:9:1:29:1 | HasCompanion | test.kt:11:3:27:3 | Companion | Field | +| test.kt:9:1:29:1 | HasCompanion | test.kt:13:16:13:71 | staticMethod | Method | +| test.kt:9:1:29:1 | HasCompanion | test.kt:16:16:16:43 | getStaticProp | Method | +| test.kt:9:1:29:1 | HasCompanion | test.kt:16:16:16:43 | setStaticProp | Method | +| test.kt:9:1:29:1 | HasCompanion | test.kt:20:18:20:45 | getPropWithStaticGetter | Method | +| test.kt:9:1:29:1 | HasCompanion | test.kt:25:18:25:60 | setPropWithStaticSetter | Method | +| test.kt:31:1:47:1 | NonCompanion | test.kt:31:1:47:1 | INSTANCE | Field | +| test.kt:31:1:47:1 | NonCompanion | test.kt:33:14:33:69 | staticMethod | Method | +| test.kt:31:1:47:1 | NonCompanion | test.kt:36:14:36:41 | getStaticProp | Method | +| test.kt:31:1:47:1 | NonCompanion | test.kt:36:14:36:41 | setStaticProp | Method | +| test.kt:31:1:47:1 | NonCompanion | test.kt:40:16:40:43 | getPropWithStaticGetter | Method | +| test.kt:31:1:47:1 | NonCompanion | test.kt:45:16:45:58 | setPropWithStaticSetter | Method | +#select +| test.kt:9:1:29:1 | HasCompanion | JavaUser.java:5:5:5:34 | staticMethod(...) | JavaUser.java:5:5:5:16 | HasCompanion | static | +| test.kt:9:1:29:1 | HasCompanion | JavaUser.java:7:5:7:73 | setStaticProp(...) | JavaUser.java:7:5:7:16 | HasCompanion | static | +| test.kt:9:1:29:1 | HasCompanion | JavaUser.java:8:45:8:72 | getStaticProp(...) | JavaUser.java:8:45:8:56 | HasCompanion | static | +| test.kt:9:1:29:1 | HasCompanion | JavaUser.java:10:5:10:80 | setPropWithStaticSetter(...) | JavaUser.java:10:5:10:16 | HasCompanion | static | +| test.kt:9:1:29:1 | HasCompanion | JavaUser.java:10:42:10:79 | getPropWithStaticGetter(...) | JavaUser.java:10:42:10:53 | HasCompanion | static | +| test.kt:11:3:27:3 | Companion | JavaUser.java:6:5:6:47 | nonStaticMethod(...) | JavaUser.java:6:5:6:26 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | JavaUser.java:7:32:7:72 | getNonStaticProp(...) | JavaUser.java:7:32:7:53 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | JavaUser.java:8:5:8:73 | setNonStaticProp(...) | JavaUser.java:8:5:8:26 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | JavaUser.java:9:5:9:100 | setPropWithStaticGetter(...) | JavaUser.java:9:5:9:26 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | JavaUser.java:9:52:9:99 | getPropWithStaticSetter(...) | JavaUser.java:9:52:9:73 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:13:16:13:71 | staticMethod(...) | test.kt:13:16:13:71 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:13:54:13:71 | nonStaticMethod(...) | test.kt:13:54:13:71 | this | instance | +| test.kt:11:3:27:3 | Companion | test.kt:14:46:14:60 | staticMethod(...) | test.kt:14:46:14:60 | this | instance | +| test.kt:11:3:27:3 | Companion | test.kt:16:16:16:43 | getStaticProp(...) | test.kt:16:16:16:43 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:16:16:16:43 | setStaticProp(...) | test.kt:16:16:16:43 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:20:18:20:45 | getPropWithStaticGetter(...) | test.kt:20:18:20:45 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:20:26:20:45 | getPropWithStaticSetter(...) | test.kt:20:26:20:45 | this | instance | +| test.kt:11:3:27:3 | Companion | test.kt:21:24:21:43 | setPropWithStaticSetter(...) | test.kt:21:24:21:43 | this | instance | +| test.kt:11:3:27:3 | Companion | test.kt:24:15:24:34 | getPropWithStaticGetter(...) | test.kt:24:15:24:34 | this | instance | +| test.kt:11:3:27:3 | Companion | test.kt:25:18:25:60 | setPropWithStaticSetter(...) | test.kt:25:18:25:60 | HasCompanion.Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:25:35:25:54 | setPropWithStaticGetter(...) | test.kt:25:35:25:54 | this | instance | +| test.kt:11:3:27:3 | Companion | test.kt:52:16:52:32 | staticMethod(...) | test.kt:52:3:52:14 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:53:16:53:35 | nonStaticMethod(...) | test.kt:53:3:53:14 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:54:3:54:25 | setStaticProp(...) | test.kt:54:3:54:14 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:54:42:54:54 | getNonStaticProp(...) | test.kt:54:29:54:40 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:55:3:55:28 | setNonStaticProp(...) | test.kt:55:3:55:14 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:55:45:55:54 | getStaticProp(...) | test.kt:55:32:55:43 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:56:3:56:35 | setPropWithStaticGetter(...) | test.kt:56:3:56:14 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:56:52:56:71 | getPropWithStaticSetter(...) | test.kt:56:39:56:50 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:57:3:57:35 | setPropWithStaticSetter(...) | test.kt:57:3:57:14 | Companion | instance | +| test.kt:11:3:27:3 | Companion | test.kt:57:52:57:71 | getPropWithStaticGetter(...) | test.kt:57:39:57:50 | Companion | instance | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:13:5:13:34 | staticMethod(...) | JavaUser.java:13:5:13:16 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:14:5:14:46 | nonStaticMethod(...) | JavaUser.java:14:5:14:25 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:15:5:15:72 | setStaticProp(...) | JavaUser.java:15:5:15:16 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:15:32:15:71 | getNonStaticProp(...) | JavaUser.java:15:32:15:52 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:16:5:16:72 | setNonStaticProp(...) | JavaUser.java:16:5:16:25 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:16:44:16:71 | getStaticProp(...) | JavaUser.java:16:44:16:55 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:17:5:17:98 | setPropWithStaticGetter(...) | JavaUser.java:17:5:17:25 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:17:51:17:97 | getPropWithStaticSetter(...) | JavaUser.java:17:51:17:71 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:18:5:18:80 | setPropWithStaticSetter(...) | JavaUser.java:18:5:18:16 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | JavaUser.java:18:42:18:79 | getPropWithStaticGetter(...) | JavaUser.java:18:42:18:53 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:33:52:33:69 | nonStaticMethod(...) | test.kt:33:52:33:69 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:34:44:34:58 | staticMethod(...) | test.kt:34:44:34:58 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:40:24:40:43 | getPropWithStaticSetter(...) | test.kt:40:24:40:43 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:41:22:41:41 | setPropWithStaticSetter(...) | test.kt:41:22:41:41 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:44:13:44:32 | getPropWithStaticGetter(...) | test.kt:44:13:44:32 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:45:33:45:52 | setPropWithStaticGetter(...) | test.kt:45:33:45:52 | NonCompanion.INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:60:16:60:32 | staticMethod(...) | test.kt:60:16:60:32 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:61:16:61:35 | nonStaticMethod(...) | test.kt:61:3:61:14 | INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:62:3:62:25 | setStaticProp(...) | test.kt:62:3:62:25 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:62:42:62:54 | getNonStaticProp(...) | test.kt:62:29:62:40 | INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:63:3:63:28 | setNonStaticProp(...) | test.kt:63:3:63:14 | INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:63:45:63:54 | getStaticProp(...) | test.kt:63:45:63:54 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:64:3:64:35 | setPropWithStaticGetter(...) | test.kt:64:3:64:14 | INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:64:52:64:71 | getPropWithStaticSetter(...) | test.kt:64:39:64:50 | INSTANCE | instance | +| test.kt:31:1:47:1 | NonCompanion | test.kt:65:3:65:35 | setPropWithStaticSetter(...) | test.kt:65:3:65:35 | NonCompanion | static | +| test.kt:31:1:47:1 | NonCompanion | test.kt:65:52:65:71 | getPropWithStaticGetter(...) | test.kt:65:52:65:71 | NonCompanion | static | diff --git a/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.kt b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.kt new file mode 100644 index 00000000000..cbf553725b4 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.kt @@ -0,0 +1,67 @@ +// Test both definining static members, and referring to an object's other static members, in companion object and non-companion object contexts. +// For the companion object all the references to other properties and methods should extract as ordinary instance calls and field read and writes, +// but those methods / getters / setters that are annotated static should get an additional static proxy method defined on the surrounding class-- +// for example, we should see (using Java notation) public static String HasCompanion.staticMethod(String s) { return Companion.staticMethod(s); }. +// For the non-companion object, the static-annotated methods should themselves be extracted as static members, and calls / gets / sets that use them +// should extract as static calls. Static members using non-static ones should extract like staticMethod(...) { INSTANCE.nonStaticMethod(...) }, +// where the reference to INSTANCE replaces what would normally be a `this` reference. + +public class HasCompanion { + + companion object { + + @JvmStatic fun staticMethod(s: String): String = nonStaticMethod(s) + fun nonStaticMethod(s: String): String = staticMethod(s) + + @JvmStatic var staticProp: String = "a" + var nonStaticProp: String = "b" + + var propWithStaticGetter: String + @JvmStatic get() = propWithStaticSetter + set(s: String) { propWithStaticSetter = s } + + var propWithStaticSetter: String + get() = propWithStaticGetter + @JvmStatic set(s: String) { propWithStaticGetter = s } + + } + +} + +object NonCompanion { + + @JvmStatic fun staticMethod(s: String): String = nonStaticMethod(s) + fun nonStaticMethod(s: String): String = staticMethod(s) + + @JvmStatic var staticProp: String = "a" + var nonStaticProp: String = "b" + + var propWithStaticGetter: String + @JvmStatic get() = propWithStaticSetter + set(s: String) { propWithStaticSetter = s } + + var propWithStaticSetter: String + get() = propWithStaticGetter + @JvmStatic set(s: String) { propWithStaticGetter = s } + +} + +fun externalUser() { + + // These all extract as instance calls (to HasCompanion.Companion), since a Kotlin caller won't use the static proxy methods generated by the @JvmStatic annotation. + HasCompanion.staticMethod("1") + HasCompanion.nonStaticMethod("2") + HasCompanion.staticProp = HasCompanion.nonStaticProp + HasCompanion.nonStaticProp = HasCompanion.staticProp + HasCompanion.propWithStaticGetter = HasCompanion.propWithStaticSetter + HasCompanion.propWithStaticSetter = HasCompanion.propWithStaticGetter + + // These extract as static methods, since there is no proxy method in the non-companion object case. + NonCompanion.staticMethod("1") + NonCompanion.nonStaticMethod("2") + NonCompanion.staticProp = NonCompanion.nonStaticProp + NonCompanion.nonStaticProp = NonCompanion.staticProp + NonCompanion.propWithStaticGetter = NonCompanion.propWithStaticSetter + NonCompanion.propWithStaticSetter = NonCompanion.propWithStaticGetter + +} diff --git a/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.ql b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.ql new file mode 100644 index 00000000000..725ba05a106 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/jvmstatic-annotation/test.ql @@ -0,0 +1,16 @@ +import java + +query predicate staticMembers(RefType declType, Member m, string kind) { + m.fromSource() and + m.isStatic() and + m.getDeclaringType() = declType and + kind = m.getAPrimaryQlClass() +} + +from Call call, Callable callable, RefType declType, Expr qualifier, string callType +where + call.getCallee() = callable and + declType = callable.getDeclaringType() and + qualifier = call.getQualifier() and + if callable.isStatic() then callType = "static" else callType = "instance" +select declType, call, qualifier, callType diff --git a/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.expected b/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.expected new file mode 100644 index 00000000000..52760d1a6be --- /dev/null +++ b/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.expected @@ -0,0 +1,2 @@ +| test.kt:3:20:3:32 | new KProperty1(...) { ... } | test.kt:3:20:3:32 | ...::... | +| test.kt:3:28:3:32 | new Function0(...) { ... } | test.kt:3:28:3:32 | ...->... | diff --git a/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.kt b/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.kt new file mode 100644 index 00000000000..2797b2f0fef --- /dev/null +++ b/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.kt @@ -0,0 +1,12 @@ +public class Test { + + val lazyVal: Int by lazy { 5 } + + // Both of these constructors will need to extract the implicit classes created by `lazyVal` and initialize it-- + // This test checks we don't introduce any inconsistency this way. + + constructor(x: Int) { } + + constructor(y: String) { } + +} diff --git a/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.ql b/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.ql new file mode 100644 index 00000000000..4e3af808af7 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/lazy-val-multiple-constructors/test.ql @@ -0,0 +1,4 @@ +import java + +from AnonymousClass ac +select ac, ac.getClassInstanceExpr() diff --git a/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.expected b/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.expected new file mode 100644 index 00000000000..39d4886b966 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.expected @@ -0,0 +1,2 @@ +| test.kt:1:100:1:109 | mutableIterator(...) | mutableIterator | +| test.kt:3:73:3:82 | iterator(...) | iterator | diff --git a/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.kt b/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.kt new file mode 100644 index 00000000000..93b035e24ee --- /dev/null +++ b/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.kt @@ -0,0 +1,3 @@ +fun getIter(m: MutableMap): MutableIterator> = m.iterator() + +fun getIter2(m: Map): Iterator> = m.iterator() diff --git a/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.ql b/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.ql new file mode 100644 index 00000000000..257b3344501 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/maps-iterator-overloads/test.ql @@ -0,0 +1,4 @@ +import java + +from MethodAccess ma +select ma, ma.getCallee().toString() diff --git a/java/ql/test/kotlin/library-tests/methods/clinit.expected b/java/ql/test/kotlin/library-tests/methods/clinit.expected index 8e4a65ab39a..ea5b5392d82 100644 --- a/java/ql/test/kotlin/library-tests/methods/clinit.expected +++ b/java/ql/test/kotlin/library-tests/methods/clinit.expected @@ -1 +1,2 @@ | clinit.kt:0:0:0:0 | | file://:0:0:0:0 | void | +| enumClass.kt:0:0:0:0 | | file://:0:0:0:0 | void | diff --git a/java/ql/test/kotlin/library-tests/methods/dataClass.kt b/java/ql/test/kotlin/library-tests/methods/dataClass.kt new file mode 100644 index 00000000000..c960238ca3a --- /dev/null +++ b/java/ql/test/kotlin/library-tests/methods/dataClass.kt @@ -0,0 +1 @@ +data class DataClass(val x: Int, var y: String) diff --git a/java/ql/test/kotlin/library-tests/methods/delegates.kt b/java/ql/test/kotlin/library-tests/methods/delegates.kt new file mode 100644 index 00000000000..cd475a51cec --- /dev/null +++ b/java/ql/test/kotlin/library-tests/methods/delegates.kt @@ -0,0 +1,12 @@ +import kotlin.properties.Delegates + +class MyClass { + val lazyProp by lazy { + 5 + } + + var observableProp: String by Delegates.observable("") { + prop, old, new -> + println("Was $old, now $new") + } +} diff --git a/java/ql/test/kotlin/library-tests/methods/enumClass.kt b/java/ql/test/kotlin/library-tests/methods/enumClass.kt new file mode 100644 index 00000000000..89568c0d5f4 --- /dev/null +++ b/java/ql/test/kotlin/library-tests/methods/enumClass.kt @@ -0,0 +1,4 @@ +enum class EnumClass(val v: Int) { + enum1(1), + enum2(1) +} diff --git a/java/ql/test/kotlin/library-tests/methods/exprs.expected b/java/ql/test/kotlin/library-tests/methods/exprs.expected index a08c7cda44e..b0a7e618de8 100644 --- a/java/ql/test/kotlin/library-tests/methods/exprs.expected +++ b/java/ql/test/kotlin/library-tests/methods/exprs.expected @@ -12,6 +12,218 @@ | clinit.kt:3:1:3:24 | int | TypeAccess | | clinit.kt:3:1:3:24 | int | TypeAccess | | clinit.kt:3:24:3:24 | 0 | IntegerLiteral | +| dataClass.kt:0:0:0:0 | 31 | IntegerLiteral | +| dataClass.kt:0:0:0:0 | "..." | StringTemplateExpr | +| dataClass.kt:0:0:0:0 | (...)... | CastExpr | +| dataClass.kt:0:0:0:0 | ) | StringLiteral | +| dataClass.kt:0:0:0:0 | , | StringLiteral | +| dataClass.kt:0:0:0:0 | ... !is ... | NotInstanceOfExpr | +| dataClass.kt:0:0:0:0 | ... (value not-equals) ... | ValueNEExpr | +| dataClass.kt:0:0:0:0 | ... (value not-equals) ... | ValueNEExpr | +| dataClass.kt:0:0:0:0 | ... == ... | EQExpr | +| dataClass.kt:0:0:0:0 | ...=... | AssignExpr | +| dataClass.kt:0:0:0:0 | DataClass | TypeAccess | +| dataClass.kt:0:0:0:0 | DataClass | TypeAccess | +| dataClass.kt:0:0:0:0 | DataClass | TypeAccess | +| dataClass.kt:0:0:0:0 | DataClass | TypeAccess | +| dataClass.kt:0:0:0:0 | DataClass( | StringLiteral | +| dataClass.kt:0:0:0:0 | Object | TypeAccess | +| dataClass.kt:0:0:0:0 | String | TypeAccess | +| dataClass.kt:0:0:0:0 | String | TypeAccess | +| dataClass.kt:0:0:0:0 | boolean | TypeAccess | +| dataClass.kt:0:0:0:0 | false | BooleanLiteral | +| dataClass.kt:0:0:0:0 | false | BooleanLiteral | +| dataClass.kt:0:0:0:0 | false | BooleanLiteral | +| dataClass.kt:0:0:0:0 | hashCode(...) | MethodAccess | +| dataClass.kt:0:0:0:0 | hashCode(...) | MethodAccess | +| dataClass.kt:0:0:0:0 | int | TypeAccess | +| dataClass.kt:0:0:0:0 | int | TypeAccess | +| dataClass.kt:0:0:0:0 | new DataClass(...) | ClassInstanceExpr | +| dataClass.kt:0:0:0:0 | other | VarAccess | +| dataClass.kt:0:0:0:0 | other | VarAccess | +| dataClass.kt:0:0:0:0 | other | VarAccess | +| dataClass.kt:0:0:0:0 | plus(...) | MethodAccess | +| dataClass.kt:0:0:0:0 | result | LocalVariableDeclExpr | +| dataClass.kt:0:0:0:0 | result | VarAccess | +| dataClass.kt:0:0:0:0 | result | VarAccess | +| dataClass.kt:0:0:0:0 | result | VarAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this | ThisAccess | +| dataClass.kt:0:0:0:0 | this.x | VarAccess | +| dataClass.kt:0:0:0:0 | this.x | VarAccess | +| dataClass.kt:0:0:0:0 | this.x | VarAccess | +| dataClass.kt:0:0:0:0 | this.x | VarAccess | +| dataClass.kt:0:0:0:0 | this.y | VarAccess | +| dataClass.kt:0:0:0:0 | this.y | VarAccess | +| dataClass.kt:0:0:0:0 | this.y | VarAccess | +| dataClass.kt:0:0:0:0 | this.y | VarAccess | +| dataClass.kt:0:0:0:0 | times(...) | MethodAccess | +| dataClass.kt:0:0:0:0 | tmp0_other_with_cast | LocalVariableDeclExpr | +| dataClass.kt:0:0:0:0 | tmp0_other_with_cast | VarAccess | +| dataClass.kt:0:0:0:0 | tmp0_other_with_cast | VarAccess | +| dataClass.kt:0:0:0:0 | tmp0_other_with_cast.x | VarAccess | +| dataClass.kt:0:0:0:0 | tmp0_other_with_cast.y | VarAccess | +| dataClass.kt:0:0:0:0 | true | BooleanLiteral | +| dataClass.kt:0:0:0:0 | true | BooleanLiteral | +| dataClass.kt:0:0:0:0 | when ... | WhenExpr | +| dataClass.kt:0:0:0:0 | when ... | WhenExpr | +| dataClass.kt:0:0:0:0 | when ... | WhenExpr | +| dataClass.kt:0:0:0:0 | when ... | WhenExpr | +| dataClass.kt:0:0:0:0 | x | VarAccess | +| dataClass.kt:0:0:0:0 | x= | StringLiteral | +| dataClass.kt:0:0:0:0 | y | VarAccess | +| dataClass.kt:0:0:0:0 | y= | StringLiteral | +| dataClass.kt:1:22:1:31 | ...=... | KtInitializerAssignExpr | +| dataClass.kt:1:22:1:31 | int | TypeAccess | +| dataClass.kt:1:22:1:31 | int | TypeAccess | +| dataClass.kt:1:22:1:31 | int | TypeAccess | +| dataClass.kt:1:22:1:31 | int | TypeAccess | +| dataClass.kt:1:22:1:31 | this | ThisAccess | +| dataClass.kt:1:22:1:31 | this.x | VarAccess | +| dataClass.kt:1:22:1:31 | x | VarAccess | +| dataClass.kt:1:22:1:31 | x | VarAccess | +| dataClass.kt:1:34:1:46 | ...=... | AssignExpr | +| dataClass.kt:1:34:1:46 | ...=... | KtInitializerAssignExpr | +| dataClass.kt:1:34:1:46 | | VarAccess | +| dataClass.kt:1:34:1:46 | String | TypeAccess | +| dataClass.kt:1:34:1:46 | String | TypeAccess | +| dataClass.kt:1:34:1:46 | String | TypeAccess | +| dataClass.kt:1:34:1:46 | String | TypeAccess | +| dataClass.kt:1:34:1:46 | String | TypeAccess | +| dataClass.kt:1:34:1:46 | Unit | TypeAccess | +| dataClass.kt:1:34:1:46 | this | ThisAccess | +| dataClass.kt:1:34:1:46 | this | ThisAccess | +| dataClass.kt:1:34:1:46 | this.y | VarAccess | +| dataClass.kt:1:34:1:46 | this.y | VarAccess | +| dataClass.kt:1:34:1:46 | y | VarAccess | +| dataClass.kt:1:34:1:46 | y | VarAccess | +| delegates.kt:1:9:1:12 | this | ThisAccess | +| delegates.kt:1:9:1:12 | this | ThisAccess | +| delegates.kt:1:9:1:12 | this | ThisAccess | +| delegates.kt:4:18:6:5 | ...::... | PropertyRefExpr | +| delegates.kt:4:18:6:5 | ...=... | KtInitializerAssignExpr | +| delegates.kt:4:18:6:5 | Integer | TypeAccess | +| delegates.kt:4:18:6:5 | Integer | TypeAccess | +| delegates.kt:4:18:6:5 | KProperty1 | TypeAccess | +| delegates.kt:4:18:6:5 | Lazy | TypeAccess | +| delegates.kt:4:18:6:5 | MyClass | TypeAccess | +| delegates.kt:4:18:6:5 | a0 | VarAccess | +| delegates.kt:4:18:6:5 | a0 | VarAccess | +| delegates.kt:4:18:6:5 | get(...) | MethodAccess | +| delegates.kt:4:18:6:5 | getLazyProp(...) | MethodAccess | +| delegates.kt:4:18:6:5 | int | TypeAccess | +| delegates.kt:4:18:6:5 | lazyProp$delegate | VarAccess | +| delegates.kt:4:18:6:5 | this | ThisAccess | +| delegates.kt:4:18:6:5 | this | ThisAccess | +| delegates.kt:4:18:6:5 | this.lazyProp$delegate | VarAccess | +| delegates.kt:4:21:6:5 | Integer | TypeAccess | +| delegates.kt:4:21:6:5 | Integer | TypeAccess | +| delegates.kt:4:21:6:5 | LazyKt | TypeAccess | +| delegates.kt:4:21:6:5 | LazyKt | TypeAccess | +| delegates.kt:4:21:6:5 | getValue(...) | MethodAccess | +| delegates.kt:4:21:6:5 | lazy(...) | MethodAccess | +| delegates.kt:4:26:6:5 | ...->... | LambdaExpr | +| delegates.kt:4:26:6:5 | Function0 | TypeAccess | +| delegates.kt:4:26:6:5 | Integer | TypeAccess | +| delegates.kt:4:26:6:5 | int | TypeAccess | +| delegates.kt:5:9:5:9 | 5 | IntegerLiteral | +| delegates.kt:8:32:11:5 | ...::... | PropertyRefExpr | +| delegates.kt:8:32:11:5 | ...::... | PropertyRefExpr | +| delegates.kt:8:32:11:5 | ...=... | KtInitializerAssignExpr | +| delegates.kt:8:32:11:5 | KMutableProperty1 | TypeAccess | +| delegates.kt:8:32:11:5 | KMutableProperty1 | TypeAccess | +| delegates.kt:8:32:11:5 | MyClass | TypeAccess | +| delegates.kt:8:32:11:5 | MyClass | TypeAccess | +| delegates.kt:8:32:11:5 | Object | TypeAccess | +| delegates.kt:8:32:11:5 | ReadWriteProperty | TypeAccess | +| delegates.kt:8:32:11:5 | String | TypeAccess | +| delegates.kt:8:32:11:5 | String | TypeAccess | +| delegates.kt:8:32:11:5 | String | TypeAccess | +| delegates.kt:8:32:11:5 | String | TypeAccess | +| delegates.kt:8:32:11:5 | String | TypeAccess | +| delegates.kt:8:32:11:5 | Unit | TypeAccess | +| delegates.kt:8:32:11:5 | a0 | VarAccess | +| delegates.kt:8:32:11:5 | a0 | VarAccess | +| delegates.kt:8:32:11:5 | a0 | VarAccess | +| delegates.kt:8:32:11:5 | a0 | VarAccess | +| delegates.kt:8:32:11:5 | a0 | VarAccess | +| delegates.kt:8:32:11:5 | a0 | VarAccess | +| delegates.kt:8:32:11:5 | a1 | VarAccess | +| delegates.kt:8:32:11:5 | a1 | VarAccess | +| delegates.kt:8:32:11:5 | get(...) | MethodAccess | +| delegates.kt:8:32:11:5 | get(...) | MethodAccess | +| delegates.kt:8:32:11:5 | getObservableProp(...) | MethodAccess | +| delegates.kt:8:32:11:5 | getObservableProp(...) | MethodAccess | +| delegates.kt:8:32:11:5 | observableProp$delegate | VarAccess | +| delegates.kt:8:32:11:5 | setObservableProp(...) | MethodAccess | +| delegates.kt:8:32:11:5 | setObservableProp(...) | MethodAccess | +| delegates.kt:8:32:11:5 | this | ThisAccess | +| delegates.kt:8:32:11:5 | this | ThisAccess | +| delegates.kt:8:32:11:5 | this | ThisAccess | +| delegates.kt:8:32:11:5 | this | ThisAccess | +| delegates.kt:8:32:11:5 | this.observableProp$delegate | VarAccess | +| delegates.kt:8:32:11:5 | this.observableProp$delegate | VarAccess | +| delegates.kt:8:35:8:43 | INSTANCE | VarAccess | +| delegates.kt:8:35:11:5 | | VarAccess | +| delegates.kt:8:35:11:5 | getValue(...) | MethodAccess | +| delegates.kt:8:35:11:5 | setValue(...) | MethodAccess | +| delegates.kt:8:45:11:5 | String | TypeAccess | +| delegates.kt:8:45:11:5 | observable(...) | MethodAccess | +| delegates.kt:8:57:8:62 | | StringLiteral | +| delegates.kt:8:66:11:5 | ...->... | LambdaExpr | +| delegates.kt:8:66:11:5 | Function3,String,String,Unit> | TypeAccess | +| delegates.kt:8:66:11:5 | KProperty | TypeAccess | +| delegates.kt:8:66:11:5 | String | TypeAccess | +| delegates.kt:8:66:11:5 | String | TypeAccess | +| delegates.kt:8:66:11:5 | Unit | TypeAccess | +| delegates.kt:8:66:11:5 | Unit | TypeAccess | +| delegates.kt:9:9:9:12 | ? ... | WildcardTypeAccess | +| delegates.kt:9:9:9:12 | KProperty | TypeAccess | +| delegates.kt:9:15:9:17 | String | TypeAccess | +| delegates.kt:9:20:9:22 | String | TypeAccess | +| delegates.kt:10:9:10:37 | ConsoleKt | TypeAccess | +| delegates.kt:10:9:10:37 | println(...) | MethodAccess | +| delegates.kt:10:17:10:36 | "..." | StringTemplateExpr | +| delegates.kt:10:18:10:21 | Was | StringLiteral | +| delegates.kt:10:23:10:25 | old | VarAccess | +| delegates.kt:10:26:10:31 | , now | StringLiteral | +| delegates.kt:10:33:10:35 | new | VarAccess | +| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumClass | TypeAccess | +| enumClass.kt:0:0:0:0 | EnumClass[] | TypeAccess | +| enumClass.kt:0:0:0:0 | String | TypeAccess | +| enumClass.kt:1:1:4:1 | EnumClass | TypeAccess | +| enumClass.kt:1:1:4:1 | Unit | TypeAccess | +| enumClass.kt:1:1:4:1 | new Enum(...) | ClassInstanceExpr | +| enumClass.kt:1:22:1:31 | ...=... | KtInitializerAssignExpr | +| enumClass.kt:1:22:1:31 | int | TypeAccess | +| enumClass.kt:1:22:1:31 | int | TypeAccess | +| enumClass.kt:1:22:1:31 | int | TypeAccess | +| enumClass.kt:1:22:1:31 | this | ThisAccess | +| enumClass.kt:1:22:1:31 | this.v | VarAccess | +| enumClass.kt:1:22:1:31 | v | VarAccess | +| enumClass.kt:1:22:1:31 | v | VarAccess | +| enumClass.kt:2:5:2:13 | ...=... | KtInitializerAssignExpr | +| enumClass.kt:2:5:2:13 | EnumClass | TypeAccess | +| enumClass.kt:2:5:2:13 | EnumClass | TypeAccess | +| enumClass.kt:2:5:2:13 | EnumClass | TypeAccess | +| enumClass.kt:2:5:2:13 | EnumClass.enum1 | VarAccess | +| enumClass.kt:2:5:2:13 | new EnumClass(...) | ClassInstanceExpr | +| enumClass.kt:2:11:2:11 | 1 | IntegerLiteral | +| enumClass.kt:3:5:3:12 | ...=... | KtInitializerAssignExpr | +| enumClass.kt:3:5:3:12 | EnumClass | TypeAccess | +| enumClass.kt:3:5:3:12 | EnumClass | TypeAccess | +| enumClass.kt:3:5:3:12 | EnumClass | TypeAccess | +| enumClass.kt:3:5:3:12 | EnumClass.enum2 | VarAccess | +| enumClass.kt:3:5:3:12 | new EnumClass(...) | ClassInstanceExpr | +| enumClass.kt:3:11:3:11 | 1 | IntegerLiteral | | methods2.kt:4:1:5:1 | Unit | TypeAccess | | methods2.kt:4:26:4:31 | int | TypeAccess | | methods2.kt:4:34:4:39 | int | TypeAccess | @@ -84,3 +296,4 @@ | methods.kt:16:13:16:31 | Unit | TypeAccess | | methods.kt:17:14:17:33 | Unit | TypeAccess | | methods.kt:18:5:18:36 | Unit | TypeAccess | +| methods.kt:19:12:19:29 | Unit | TypeAccess | diff --git a/java/ql/test/kotlin/library-tests/methods/methods.expected b/java/ql/test/kotlin/library-tests/methods/methods.expected index 87832f2ed87..8067838d889 100644 --- a/java/ql/test/kotlin/library-tests/methods/methods.expected +++ b/java/ql/test/kotlin/library-tests/methods/methods.expected @@ -1,24 +1,59 @@ methods -| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:0:0:0:0 | | () | | -| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | getTopLevelInt | getTopLevelInt() | public, static | -| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | setTopLevelInt | setTopLevelInt(int) | public, static | -| methods2.kt:0:0:0:0 | Methods2Kt | methods2.kt:4:1:5:1 | fooBarTopLevelMethod | fooBarTopLevelMethod(int,int) | public, static | -| methods2.kt:7:1:10:1 | Class2 | methods2.kt:8:5:9:5 | fooBarClassMethod | fooBarClassMethod(int,int) | public | -| methods3.kt:0:0:0:0 | Methods3Kt | methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public, static | -| methods3.kt:5:1:7:1 | Class3 | methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public | -| methods4.kt:5:3:9:3 | InsideNestedTest | methods4.kt:7:5:7:34 | m | m(foo.bar.NestedTest.InsideNestedTest) | public | -| methods5.kt:0:0:0:0 | Methods5Kt | methods5.kt:3:1:11:1 | x | x() | public, static | -| methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | a | a(int) | public | -| methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | f1 | f1(foo.bar.C1,int) | public | -| methods.kt:0:0:0:0 | MethodsKt | methods.kt:2:1:3:1 | topLevelMethod | topLevelMethod(int,int) | public, static | -| methods.kt:5:1:19:1 | Class | methods.kt:6:5:7:5 | classMethod | classMethod(int,int) | public | -| methods.kt:5:1:19:1 | Class | methods.kt:9:5:12:5 | anotherClassMethod | anotherClassMethod(int,int) | public | -| methods.kt:5:1:19:1 | Class | methods.kt:14:12:14:29 | publicFun | publicFun() | public | -| methods.kt:5:1:19:1 | Class | methods.kt:15:15:15:35 | protectedFun | protectedFun() | protected | -| methods.kt:5:1:19:1 | Class | methods.kt:16:13:16:31 | privateFun | privateFun() | private | -| methods.kt:5:1:19:1 | Class | methods.kt:17:14:17:33 | internalFun | internalFun() | internal | -| methods.kt:5:1:19:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public | +| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:0:0:0:0 | | () | | Compiler generated | +| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | getTopLevelInt | getTopLevelInt() | public, static | Compiler generated | +| clinit.kt:0:0:0:0 | ClinitKt | clinit.kt:3:1:3:24 | setTopLevelInt | setTopLevelInt(int) | public, static | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | component1 | component1() | public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | component2 | component2() | public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | copy | copy(int,java.lang.String) | public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | equals | equals(java.lang.Object) | override, public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | hashCode | hashCode() | override, public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:0:0:0:0 | toString | toString() | override, public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:22:1:31 | getX | getX() | public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:34:1:46 | getY | getY() | public | Compiler generated | +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:34:1:46 | setY | setY(java.lang.String) | public | Compiler generated | +| delegates.kt:3:1:12:1 | MyClass | delegates.kt:4:18:6:5 | getLazyProp | getLazyProp() | public | Compiler generated | +| delegates.kt:3:1:12:1 | MyClass | delegates.kt:8:32:11:5 | getObservableProp | getObservableProp() | public | Compiler generated | +| delegates.kt:3:1:12:1 | MyClass | delegates.kt:8:32:11:5 | setObservableProp | setObservableProp(java.lang.String) | public | Compiler generated | +| delegates.kt:4:18:6:5 | new KProperty1(...) { ... } | delegates.kt:4:18:6:5 | get | get(MyClass) | override, public | | +| delegates.kt:4:18:6:5 | new KProperty1(...) { ... } | delegates.kt:4:18:6:5 | invoke | invoke(MyClass) | override, public | | +| delegates.kt:4:26:6:5 | new Function0(...) { ... } | delegates.kt:4:26:6:5 | invoke | invoke() | override, public | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | get | get(MyClass) | override, public | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | get | get(MyClass) | override, public | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | invoke | invoke(MyClass) | override, public | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | invoke | invoke(MyClass) | override, public | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | set | set(MyClass,java.lang.String) | override, public | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | set | set(MyClass,java.lang.String) | override, public | | +| delegates.kt:8:66:11:5 | new Function3,String,String,Unit>(...) { ... } | delegates.kt:8:66:11:5 | invoke | invoke(kotlin.reflect.KProperty,java.lang.String,java.lang.String) | override, public | | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | | () | | Compiler generated | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | valueOf | valueOf(java.lang.String) | public, static | Compiler generated | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:0:0:0:0 | values | values() | public, static | Compiler generated | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:22:1:31 | getV | getV() | public | Compiler generated | +| methods2.kt:0:0:0:0 | Methods2Kt | methods2.kt:4:1:5:1 | fooBarTopLevelMethod | fooBarTopLevelMethod(int,int) | public, static | | +| methods2.kt:7:1:10:1 | Class2 | methods2.kt:8:5:9:5 | fooBarClassMethod | fooBarClassMethod(int,int) | public | | +| methods3.kt:0:0:0:0 | Methods3Kt | methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public, static | | +| methods3.kt:5:1:7:1 | Class3 | methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | fooBarTopLevelMethodExt(int,int) | public | | +| methods4.kt:5:3:9:3 | InsideNestedTest | methods4.kt:7:5:7:34 | m | m(foo.bar.NestedTest.InsideNestedTest) | public | | +| methods5.kt:0:0:0:0 | Methods5Kt | methods5.kt:3:1:11:1 | x | x() | public, static | | +| methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | a | a(int) | public | | +| methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | f1 | f1(foo.bar.C1,int) | public | | +| methods.kt:0:0:0:0 | MethodsKt | methods.kt:2:1:3:1 | topLevelMethod | topLevelMethod(int,int) | public, static | | +| methods.kt:5:1:20:1 | Class | methods.kt:6:5:7:5 | classMethod | classMethod(int,int) | public | | +| methods.kt:5:1:20:1 | Class | methods.kt:9:5:12:5 | anotherClassMethod | anotherClassMethod(int,int) | public | | +| methods.kt:5:1:20:1 | Class | methods.kt:14:12:14:29 | publicFun | publicFun() | public | | +| methods.kt:5:1:20:1 | Class | methods.kt:15:15:15:35 | protectedFun | protectedFun() | protected | | +| methods.kt:5:1:20:1 | Class | methods.kt:16:13:16:31 | privateFun | privateFun() | private | | +| methods.kt:5:1:20:1 | Class | methods.kt:17:14:17:33 | internalFun$main | internalFun$main() | internal | | +| methods.kt:5:1:20:1 | Class | methods.kt:18:5:18:36 | noExplicitVisibilityFun | noExplicitVisibilityFun() | public | | +| methods.kt:5:1:20:1 | Class | methods.kt:19:12:19:29 | inlineFun | inlineFun() | inline, public | | constructors +| dataClass.kt:1:1:1:47 | DataClass | dataClass.kt:1:6:1:47 | DataClass | DataClass(int,java.lang.String) | +| delegates.kt:3:1:12:1 | MyClass | delegates.kt:3:1:12:1 | MyClass | MyClass() | +| delegates.kt:4:18:6:5 | new KProperty1(...) { ... } | delegates.kt:4:18:6:5 | | | +| delegates.kt:4:26:6:5 | new Function0(...) { ... } | delegates.kt:4:26:6:5 | | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | | | +| delegates.kt:8:32:11:5 | new KMutableProperty1(...) { ... } | delegates.kt:8:32:11:5 | | | +| delegates.kt:8:66:11:5 | new Function3,String,String,Unit>(...) { ... } | delegates.kt:8:66:11:5 | | | +| enumClass.kt:1:1:4:1 | EnumClass | enumClass.kt:1:6:4:1 | EnumClass | EnumClass(int) | | methods2.kt:7:1:10:1 | Class2 | methods2.kt:7:1:10:1 | Class2 | Class2() | | methods3.kt:5:1:7:1 | Class3 | methods3.kt:5:1:7:1 | Class3 | Class3() | | methods4.kt:3:1:11:1 | NestedTest | methods4.kt:3:1:11:1 | NestedTest | NestedTest() | @@ -26,7 +61,7 @@ constructors | methods5.kt:5:3:5:27 | | methods5.kt:5:3:5:27 | | | | methods5.kt:9:3:9:32 | | methods5.kt:9:3:9:32 | | | | methods5.kt:13:1:13:14 | C1 | methods5.kt:13:1:13:14 | C1 | C1() | -| methods.kt:5:1:19:1 | Class | methods.kt:5:1:19:1 | Class | Class() | +| methods.kt:5:1:20:1 | Class | methods.kt:5:1:20:1 | Class | Class() | extensions | methods3.kt:3:1:3:42 | fooBarTopLevelMethodExt | file://:0:0:0:0 | int | | methods3.kt:6:5:6:46 | fooBarTopLevelMethodExt | file://:0:0:0:0 | int | diff --git a/java/ql/test/kotlin/library-tests/methods/methods.kt b/java/ql/test/kotlin/library-tests/methods/methods.kt index b59937bc861..48f480f8748 100644 --- a/java/ql/test/kotlin/library-tests/methods/methods.kt +++ b/java/ql/test/kotlin/library-tests/methods/methods.kt @@ -16,5 +16,6 @@ class Class { private fun privateFun() {} internal fun internalFun() {} fun noExplicitVisibilityFun() {} + inline fun inlineFun() {} } diff --git a/java/ql/test/kotlin/library-tests/methods/methods.ql b/java/ql/test/kotlin/library-tests/methods/methods.ql index 12526711da1..365d41ff1ee 100644 --- a/java/ql/test/kotlin/library-tests/methods/methods.ql +++ b/java/ql/test/kotlin/library-tests/methods/methods.ql @@ -1,10 +1,15 @@ import java -query predicate methods(RefType declType, Method m, string signature, string modifiers) { +query predicate methods( + RefType declType, Method m, string signature, string modifiers, string compilerGenerated +) { m.fromSource() and declType = m.getDeclaringType() and signature = m.getSignature() and - modifiers = concat(string s | m.hasModifier(s) | s, ", ") + modifiers = concat(string s | m.hasModifier(s) | s, ", ") and + if m.isCompilerGenerated() + then compilerGenerated = "Compiler generated" + else compilerGenerated = "" } query predicate constructors(RefType declType, Constructor c, string signature) { diff --git a/java/ql/test/kotlin/library-tests/methods/parameters.expected b/java/ql/test/kotlin/library-tests/methods/parameters.expected index 3e34c2c3b86..2b35e69e502 100644 --- a/java/ql/test/kotlin/library-tests/methods/parameters.expected +++ b/java/ql/test/kotlin/library-tests/methods/parameters.expected @@ -1,4 +1,23 @@ | clinit.kt:3:1:3:24 | setTopLevelInt | clinit.kt:3:1:3:24 | | 0 | +| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:22:1:31 | x | 0 | +| dataClass.kt:0:0:0:0 | copy | dataClass.kt:1:34:1:46 | y | 1 | +| dataClass.kt:0:0:0:0 | equals | dataClass.kt:0:0:0:0 | other | 0 | +| dataClass.kt:1:34:1:46 | setY | dataClass.kt:1:34:1:46 | | 0 | +| delegates.kt:4:18:6:5 | get | delegates.kt:4:18:6:5 | a0 | 0 | +| delegates.kt:4:18:6:5 | invoke | delegates.kt:4:18:6:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | get | delegates.kt:8:32:11:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | get | delegates.kt:8:32:11:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | invoke | delegates.kt:8:32:11:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | invoke | delegates.kt:8:32:11:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a0 | 0 | +| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a1 | 1 | +| delegates.kt:8:32:11:5 | set | delegates.kt:8:32:11:5 | a1 | 1 | +| delegates.kt:8:32:11:5 | setObservableProp | delegates.kt:8:32:11:5 | | 0 | +| delegates.kt:8:66:11:5 | invoke | delegates.kt:9:9:9:12 | prop | 0 | +| delegates.kt:8:66:11:5 | invoke | delegates.kt:9:15:9:17 | old | 1 | +| delegates.kt:8:66:11:5 | invoke | delegates.kt:9:20:9:22 | new | 2 | +| enumClass.kt:0:0:0:0 | valueOf | enumClass.kt:0:0:0:0 | value | 0 | | methods2.kt:4:1:5:1 | fooBarTopLevelMethod | methods2.kt:4:26:4:31 | x | 0 | | methods2.kt:4:1:5:1 | fooBarTopLevelMethod | methods2.kt:4:34:4:39 | y | 1 | | methods2.kt:8:5:9:5 | fooBarClassMethod | methods2.kt:8:27:8:32 | x | 0 | diff --git a/java/ql/test/kotlin/library-tests/modifiers/modifiers.expected b/java/ql/test/kotlin/library-tests/modifiers/modifiers.expected index 70345c576b0..14b5124b7ae 100644 --- a/java/ql/test/kotlin/library-tests/modifiers/modifiers.expected +++ b/java/ql/test/kotlin/library-tests/modifiers/modifiers.expected @@ -11,7 +11,7 @@ | modifiers.kt:4:5:4:22 | c | Field | final | | modifiers.kt:4:5:4:22 | c | Field | private | | modifiers.kt:4:5:4:22 | c | Property | internal | -| modifiers.kt:4:14:4:22 | getC | Method | internal | +| modifiers.kt:4:14:4:22 | getC$main | Method | internal | | modifiers.kt:5:5:5:34 | d | Field | final | | modifiers.kt:5:5:5:34 | d | Field | private | | modifiers.kt:5:5:5:34 | d | Property | public | diff --git a/java/ql/test/kotlin/library-tests/properties/properties.expected b/java/ql/test/kotlin/library-tests/properties/properties.expected index 05870c7b6e1..7bbe706923c 100644 --- a/java/ql/test/kotlin/library-tests/properties/properties.expected +++ b/java/ql/test/kotlin/library-tests/properties/properties.expected @@ -45,7 +45,7 @@ fieldDeclarations | properties.kt:35:5:35:32 | privateProp | properties.kt:35:13:35:32 | getPrivateProp$private | file://:0:0:0:0 | | properties.kt:35:5:35:32 | privateProp | private | | properties.kt:36:5:36:36 | protectedProp | properties.kt:36:15:36:36 | getProtectedProp | file://:0:0:0:0 | | properties.kt:36:5:36:36 | protectedProp | protected | | properties.kt:37:5:37:30 | publicProp | properties.kt:37:12:37:30 | getPublicProp | file://:0:0:0:0 | | properties.kt:37:5:37:30 | publicProp | public | -| properties.kt:38:5:38:34 | internalProp | properties.kt:38:14:38:34 | getInternalProp | file://:0:0:0:0 | | properties.kt:38:5:38:34 | internalProp | internal | +| properties.kt:38:5:38:34 | internalProp | properties.kt:38:14:38:34 | getInternalProp$main | file://:0:0:0:0 | | properties.kt:38:5:38:34 | internalProp | internal | | properties.kt:67:1:67:23 | constVal | properties.kt:67:7:67:23 | getConstVal | file://:0:0:0:0 | | properties.kt:67:1:67:23 | constVal | public | | properties.kt:70:5:70:16 | prop | properties.kt:70:5:70:16 | getProp | file://:0:0:0:0 | | properties.kt:70:5:70:16 | prop | public | | properties.kt:78:1:79:13 | x | properties.kt:79:5:79:13 | getX | file://:0:0:0:0 | | file://:0:0:0:0 | | public | diff --git a/java/ql/test/kotlin/library-tests/reflection/PrintAst.expected b/java/ql/test/kotlin/library-tests/reflection/PrintAst.expected index c29df0de6ef..b1da7cdcee2 100644 --- a/java/ql/test/kotlin/library-tests/reflection/PrintAst.expected +++ b/java/ql/test/kotlin/library-tests/reflection/PrintAst.expected @@ -8,7 +8,7 @@ reflection.kt: # 46| 0: [TypeAccess] String # 47| 5: [BlockStmt] { ... } # 47| 0: [ReturnStmt] return ... -# 47| 0: [MethodAccess] get(...) +# 47| 0: [MethodAccess] charAt(...) # 47| -1: [ExtensionReceiverAccess] this # 47| 0: [SubExpr] ... - ... # 47| 0: [MethodAccess] length(...) @@ -26,7 +26,7 @@ reflection.kt: # 50| 1: [Constructor] # 50| 5: [BlockStmt] { ... } # 50| 0: [SuperConstructorInvocationStmt] super(...) -# 50| 1: [Method] get +# 50| 2: [Method] get #-----| 4: (Parameters) # 50| 0: [Parameter] a0 # 50| 5: [BlockStmt] { ... } @@ -34,7 +34,7 @@ reflection.kt: # 50| 0: [MethodAccess] getLastChar(...) # 50| -1: [TypeAccess] ReflectionKt # 50| 0: [VarAccess] a0 -# 50| 1: [Method] invoke +# 50| 3: [Method] invoke #-----| 4: (Parameters) # 50| 0: [Parameter] a0 # 50| 5: [BlockStmt] { ... } @@ -62,16 +62,16 @@ reflection.kt: # 51| 0: [VarAccess] this. # 51| -1: [ThisAccess] this # 51| 1: [VarAccess] -# 51| 1: [FieldDeclaration] String ; +# 51| 2: [FieldDeclaration] String ; # 51| -1: [TypeAccess] String -# 51| 1: [Method] get +# 51| 3: [Method] get # 51| 5: [BlockStmt] { ... } # 51| 0: [ReturnStmt] return ... # 51| 0: [MethodAccess] getLastChar(...) # 51| -1: [TypeAccess] ReflectionKt # 51| 0: [VarAccess] this. # 51| -1: [ThisAccess] this -# 51| 1: [Method] invoke +# 51| 4: [Method] invoke # 51| 5: [BlockStmt] { ... } # 51| 0: [ReturnStmt] return ... # 51| 0: [MethodAccess] get(...) @@ -124,7 +124,7 @@ reflection.kt: # 97| 1: [Constructor] # 97| 5: [BlockStmt] { ... } # 97| 0: [SuperConstructorInvocationStmt] super(...) -# 97| 1: [Method] invoke +# 97| 2: [Method] invoke #-----| 4: (Parameters) # 97| 0: [Parameter] a0 # 97| 5: [BlockStmt] { ... } @@ -148,7 +148,7 @@ reflection.kt: # 98| 1: [Constructor] # 98| 5: [BlockStmt] { ... } # 98| 0: [SuperConstructorInvocationStmt] super(...) -# 98| 1: [Method] invoke +# 98| 2: [Method] invoke #-----| 4: (Parameters) # 98| 0: [Parameter] a0 # 98| 5: [BlockStmt] { ... } @@ -180,7 +180,10 @@ reflection.kt: # 99| 0: [VarAccess] this. # 99| -1: [ThisAccess] this # 99| 1: [VarAccess] -# 99| 1: [Method] invoke +# 99| 2: [FieldDeclaration] Class2 ; +# 99| -1: [TypeAccess] Class2 +# 99| 0: [TypeAccess] Integer +# 99| 3: [Method] invoke #-----| 4: (Parameters) # 99| 0: [Parameter] a0 # 99| 5: [BlockStmt] { ... } @@ -191,9 +194,6 @@ reflection.kt: # 99| -2: [VarAccess] this. # 99| -1: [ThisAccess] this # 99| 0: [VarAccess] a0 -# 99| 1: [FieldDeclaration] Class2 ; -# 99| -1: [TypeAccess] Class2 -# 99| 0: [TypeAccess] Integer # 99| -3: [TypeAccess] Function1> # 99| 0: [TypeAccess] String # 99| 1: [TypeAccess] Inner @@ -260,7 +260,7 @@ reflection.kt: # 126| 1: [Constructor] # 126| 5: [BlockStmt] { ... } # 126| 0: [SuperConstructorInvocationStmt] super(...) -# 126| 1: [Method] fn1 +# 126| 2: [Method] fn1 # 126| 3: [TypeAccess] Unit # 126| 5: [BlockStmt] { ... } # 126| 0: [ExprStmt] ; @@ -274,7 +274,7 @@ reflection.kt: # 126| 1: [Constructor] # 126| 5: [BlockStmt] { ... } # 126| 0: [SuperConstructorInvocationStmt] super(...) -# 126| 1: [Method] invoke +# 126| 2: [Method] invoke # 126| 5: [BlockStmt] { ... } # 126| 0: [ReturnStmt] return ... # 126| 0: [MethodAccess] fn1(...) @@ -296,7 +296,7 @@ reflection.kt: # 7| 1: [Constructor] # 7| 5: [BlockStmt] { ... } # 7| 0: [SuperConstructorInvocationStmt] super(...) -# 7| 1: [Method] invoke +# 7| 2: [Method] invoke #-----| 4: (Parameters) # 7| 0: [Parameter] a0 # 7| 1: [Parameter] a1 @@ -321,14 +321,14 @@ reflection.kt: # 10| 1: [Constructor] # 10| 5: [BlockStmt] { ... } # 10| 0: [SuperConstructorInvocationStmt] super(...) -# 10| 1: [Method] get +# 10| 2: [Method] get #-----| 4: (Parameters) # 10| 0: [Parameter] a0 # 10| 5: [BlockStmt] { ... } # 10| 0: [ReturnStmt] return ... # 10| 0: [MethodAccess] getP0(...) # 10| -1: [VarAccess] a0 -# 10| 1: [Method] invoke +# 10| 3: [Method] invoke #-----| 4: (Parameters) # 10| 0: [Parameter] a0 # 10| 5: [BlockStmt] { ... } @@ -367,7 +367,11 @@ reflection.kt: # 14| 0: [VarAccess] this. # 14| -1: [ThisAccess] this # 14| 1: [VarAccess] -# 14| 1: [Method] invoke +# 14| 2: [FieldDeclaration] KProperty1 ; +# 14| -1: [TypeAccess] KProperty1 +# 14| 0: [TypeAccess] C +# 14| 1: [TypeAccess] Integer +# 14| 3: [Method] invoke #-----| 4: (Parameters) # 14| 0: [Parameter] a0 # 14| 5: [BlockStmt] { ... } @@ -376,10 +380,6 @@ reflection.kt: # 14| -1: [VarAccess] this. # 14| -1: [ThisAccess] this # 14| 0: [VarAccess] a0 -# 14| 1: [FieldDeclaration] KProperty1 ; -# 14| -1: [TypeAccess] KProperty1 -# 14| 0: [TypeAccess] C -# 14| 1: [TypeAccess] Integer # 14| -3: [TypeAccess] Function1 # 14| 0: [TypeAccess] C # 14| 1: [TypeAccess] Integer @@ -398,15 +398,15 @@ reflection.kt: # 15| 0: [VarAccess] this. # 15| -1: [ThisAccess] this # 15| 1: [VarAccess] -# 15| 1: [FieldDeclaration] C ; +# 15| 2: [FieldDeclaration] C ; # 15| -1: [TypeAccess] C -# 15| 1: [Method] get +# 15| 3: [Method] get # 15| 5: [BlockStmt] { ... } # 15| 0: [ReturnStmt] return ... # 15| 0: [MethodAccess] getP0(...) # 15| -1: [VarAccess] this. # 15| -1: [ThisAccess] this -# 15| 1: [Method] invoke +# 15| 4: [Method] invoke # 15| 5: [BlockStmt] { ... } # 15| 0: [ReturnStmt] return ... # 15| 0: [MethodAccess] get(...) @@ -422,14 +422,14 @@ reflection.kt: # 17| 1: [Constructor] # 17| 5: [BlockStmt] { ... } # 17| 0: [SuperConstructorInvocationStmt] super(...) -# 17| 1: [Method] get +# 17| 2: [Method] get #-----| 4: (Parameters) # 17| 0: [Parameter] a0 # 17| 5: [BlockStmt] { ... } # 17| 0: [ReturnStmt] return ... # 17| 0: [MethodAccess] getP1(...) # 17| -1: [VarAccess] a0 -# 17| 1: [Method] invoke +# 17| 3: [Method] invoke #-----| 4: (Parameters) # 17| 0: [Parameter] a0 # 17| 5: [BlockStmt] { ... } @@ -437,7 +437,7 @@ reflection.kt: # 17| 0: [MethodAccess] get(...) # 17| -1: [ThisAccess] this # 17| 0: [VarAccess] a0 -# 17| 1: [Method] set +# 17| 4: [Method] set #-----| 4: (Parameters) # 17| 0: [Parameter] a0 # 17| 1: [Parameter] a1 @@ -478,7 +478,11 @@ reflection.kt: # 21| 0: [VarAccess] this. # 21| -1: [ThisAccess] this # 21| 1: [VarAccess] -# 21| 1: [Method] invoke +# 21| 2: [FieldDeclaration] KMutableProperty1 ; +# 21| -1: [TypeAccess] KMutableProperty1 +# 21| 0: [TypeAccess] C +# 21| 1: [TypeAccess] Integer +# 21| 3: [Method] invoke #-----| 4: (Parameters) # 21| 0: [Parameter] a0 # 21| 1: [Parameter] a1 @@ -489,10 +493,6 @@ reflection.kt: # 21| -1: [ThisAccess] this # 21| 0: [VarAccess] a0 # 21| 1: [VarAccess] a1 -# 21| 1: [FieldDeclaration] KMutableProperty1 ; -# 21| -1: [TypeAccess] KMutableProperty1 -# 21| 0: [TypeAccess] C -# 21| 1: [TypeAccess] Integer # 21| -3: [TypeAccess] Function2 # 21| 0: [TypeAccess] C # 21| 1: [TypeAccess] Integer @@ -512,20 +512,20 @@ reflection.kt: # 22| 0: [VarAccess] this. # 22| -1: [ThisAccess] this # 22| 1: [VarAccess] -# 22| 1: [FieldDeclaration] C ; +# 22| 2: [FieldDeclaration] C ; # 22| -1: [TypeAccess] C -# 22| 1: [Method] get +# 22| 3: [Method] get # 22| 5: [BlockStmt] { ... } # 22| 0: [ReturnStmt] return ... # 22| 0: [MethodAccess] getP1(...) # 22| -1: [VarAccess] this. # 22| -1: [ThisAccess] this -# 22| 1: [Method] invoke +# 22| 4: [Method] invoke # 22| 5: [BlockStmt] { ... } # 22| 0: [ReturnStmt] return ... # 22| 0: [MethodAccess] get(...) # 22| -1: [ThisAccess] this -# 22| 1: [Method] set +# 22| 5: [Method] set #-----| 4: (Parameters) # 22| 0: [Parameter] a0 # 22| 5: [BlockStmt] { ... } @@ -556,7 +556,7 @@ reflection.kt: # 24| 1: [Constructor] # 24| 5: [BlockStmt] { ... } # 24| 0: [SuperConstructorInvocationStmt] super(...) -# 24| 1: [Method] invoke +# 24| 2: [Method] invoke # 24| 3: [TypeAccess] boolean #-----| 4: (Parameters) # 24| 0: [Parameter] it @@ -608,7 +608,7 @@ reflection.kt: # 33| 0: [ReturnStmt] return ... # 33| 0: [VarAccess] this.p0 # 33| -1: [ThisAccess] this -# 33| 2: [FieldDeclaration] int p0; +# 33| 3: [FieldDeclaration] int p0; # 33| -1: [TypeAccess] int # 33| 0: [IntegerLiteral] 1 # 34| 4: [Method] getP1 @@ -617,7 +617,10 @@ reflection.kt: # 34| 0: [ReturnStmt] return ... # 34| 0: [VarAccess] this.p1 # 34| -1: [ThisAccess] this -# 34| 4: [Method] setP1 +# 34| 5: [FieldDeclaration] int p1; +# 34| -1: [TypeAccess] int +# 34| 0: [IntegerLiteral] 2 +# 34| 6: [Method] setP1 # 34| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 34| 0: [Parameter] @@ -628,9 +631,6 @@ reflection.kt: # 34| 0: [VarAccess] this.p1 # 34| -1: [ThisAccess] this # 34| 1: [VarAccess] -# 34| 4: [FieldDeclaration] int p1; -# 34| -1: [TypeAccess] int -# 34| 0: [IntegerLiteral] 2 # 36| 7: [Method] getP2 # 36| 3: [TypeAccess] int # 36| 5: [BlockStmt] { ... } @@ -678,7 +678,7 @@ reflection.kt: # 60| 1: [Constructor] # 60| 5: [BlockStmt] { ... } # 60| 0: [SuperConstructorInvocationStmt] super(...) -# 60| 1: [Method] invoke +# 60| 2: [Method] invoke #-----| 4: (Parameters) # 60| 0: [Parameter] a0 # 60| 1: [Parameter] a1 @@ -707,7 +707,10 @@ reflection.kt: # 61| 0: [VarAccess] this. # 61| -1: [ThisAccess] this # 61| 1: [VarAccess] -# 61| 1: [Method] invoke +# 61| 2: [FieldDeclaration] Generic ; +# 61| -1: [TypeAccess] Generic +# 61| 0: [TypeAccess] Integer +# 61| 3: [Method] invoke #-----| 4: (Parameters) # 61| 0: [Parameter] a0 # 61| 5: [BlockStmt] { ... } @@ -716,9 +719,6 @@ reflection.kt: # 61| -1: [VarAccess] this. # 61| -1: [ThisAccess] this # 61| 0: [VarAccess] a0 -# 61| 1: [FieldDeclaration] Generic ; -# 61| -1: [TypeAccess] Generic -# 61| 0: [TypeAccess] Integer # 61| -3: [TypeAccess] Function1 # 61| 0: [TypeAccess] Integer # 61| 1: [TypeAccess] String @@ -733,7 +733,7 @@ reflection.kt: # 62| 1: [Constructor] # 62| 5: [BlockStmt] { ... } # 62| 0: [SuperConstructorInvocationStmt] super(...) -# 62| 1: [Method] invoke +# 62| 2: [Method] invoke #-----| 4: (Parameters) # 62| 0: [Parameter] a0 # 62| 5: [BlockStmt] { ... } @@ -761,7 +761,10 @@ reflection.kt: # 63| 0: [VarAccess] this. # 63| -1: [ThisAccess] this # 63| 1: [VarAccess] -# 63| 1: [Method] invoke +# 63| 2: [FieldDeclaration] Generic ; +# 63| -1: [TypeAccess] Generic +# 63| 0: [TypeAccess] Integer +# 63| 3: [Method] invoke # 63| 5: [BlockStmt] { ... } # 63| 0: [ReturnStmt] return ... # 63| 0: [MethodAccess] ext1(...) @@ -769,9 +772,6 @@ reflection.kt: # 63| -1: [TypeAccess] ReflectionKt # 63| 0: [VarAccess] this. # 63| -1: [ThisAccess] this -# 63| 1: [FieldDeclaration] Generic ; -# 63| -1: [TypeAccess] Generic -# 63| 0: [TypeAccess] Integer # 63| -3: [TypeAccess] Function0 # 63| 0: [TypeAccess] String # 63| 0: [ClassInstanceExpr] new Generic(...) @@ -785,7 +785,7 @@ reflection.kt: # 64| 1: [Constructor] # 64| 5: [BlockStmt] { ... } # 64| 0: [SuperConstructorInvocationStmt] super(...) -# 64| 1: [Method] invoke +# 64| 2: [Method] invoke #-----| 4: (Parameters) # 64| 0: [Parameter] a0 # 64| 5: [BlockStmt] { ... } @@ -812,16 +812,16 @@ reflection.kt: # 65| 0: [VarAccess] this. # 65| -1: [ThisAccess] this # 65| 1: [VarAccess] -# 65| 1: [Method] invoke +# 65| 2: [FieldDeclaration] Generic ; +# 65| -1: [TypeAccess] Generic +# 65| 0: [TypeAccess] Integer +# 65| 3: [Method] invoke # 65| 5: [BlockStmt] { ... } # 65| 0: [ReturnStmt] return ... # 65| 0: [MethodAccess] ext2(...) # 65| -1: [TypeAccess] ReflectionKt # 65| 0: [VarAccess] this. # 65| -1: [ThisAccess] this -# 65| 1: [FieldDeclaration] Generic ; -# 65| -1: [TypeAccess] Generic -# 65| 0: [TypeAccess] Integer # 65| -3: [TypeAccess] Function0 # 65| 0: [TypeAccess] String # 65| 0: [ClassInstanceExpr] new Generic(...) @@ -835,14 +835,14 @@ reflection.kt: # 67| 1: [Constructor] # 67| 5: [BlockStmt] { ... } # 67| 0: [SuperConstructorInvocationStmt] super(...) -# 67| 1: [Method] get +# 67| 2: [Method] get #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } # 67| 0: [ReturnStmt] return ... # 67| 0: [MethodAccess] getP2(...) # 67| -1: [VarAccess] a0 -# 67| 1: [Method] invoke +# 67| 3: [Method] invoke #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 5: [BlockStmt] { ... } @@ -850,7 +850,7 @@ reflection.kt: # 67| 0: [MethodAccess] get(...) # 67| -1: [ThisAccess] this # 67| 0: [VarAccess] a0 -# 67| 1: [Method] set +# 67| 4: [Method] set #-----| 4: (Parameters) # 67| 0: [Parameter] a0 # 67| 1: [Parameter] a1 @@ -878,21 +878,21 @@ reflection.kt: # 68| 0: [VarAccess] this. # 68| -1: [ThisAccess] this # 68| 1: [VarAccess] -# 68| 1: [FieldDeclaration] Generic ; +# 68| 2: [FieldDeclaration] Generic ; # 68| -1: [TypeAccess] Generic # 68| 0: [TypeAccess] Integer -# 68| 1: [Method] get +# 68| 3: [Method] get # 68| 5: [BlockStmt] { ... } # 68| 0: [ReturnStmt] return ... # 68| 0: [MethodAccess] getP2(...) # 68| -1: [VarAccess] this. # 68| -1: [ThisAccess] this -# 68| 1: [Method] invoke +# 68| 4: [Method] invoke # 68| 5: [BlockStmt] { ... } # 68| 0: [ReturnStmt] return ... # 68| 0: [MethodAccess] get(...) # 68| -1: [ThisAccess] this -# 68| 1: [Method] set +# 68| 5: [Method] set #-----| 4: (Parameters) # 68| 0: [Parameter] a0 # 68| 5: [BlockStmt] { ... } @@ -921,15 +921,15 @@ reflection.kt: # 70| 0: [VarAccess] this. # 70| -1: [ThisAccess] this # 70| 1: [VarAccess] -# 70| 1: [FieldDeclaration] IntCompanionObject ; +# 70| 2: [FieldDeclaration] IntCompanionObject ; # 70| -1: [TypeAccess] IntCompanionObject -# 70| 1: [Method] get +# 70| 3: [Method] get # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] getMAX_VALUE(...) # 70| -1: [VarAccess] this. # 70| -1: [ThisAccess] this -# 70| 1: [Method] invoke +# 70| 4: [Method] invoke # 70| 5: [BlockStmt] { ... } # 70| 0: [ReturnStmt] return ... # 70| 0: [MethodAccess] get(...) @@ -945,11 +945,11 @@ reflection.kt: # 71| 1: [Constructor] # 71| 5: [BlockStmt] { ... } # 71| 0: [SuperConstructorInvocationStmt] super(...) -# 71| 1: [Method] get +# 71| 2: [Method] get # 71| 5: [BlockStmt] { ... } # 71| 0: [ReturnStmt] return ... # 71| 0: [VarAccess] MAX_VALUE -# 71| 1: [Method] invoke +# 71| 3: [Method] invoke # 71| 5: [BlockStmt] { ... } # 71| 0: [ReturnStmt] return ... # 71| 0: [MethodAccess] get(...) @@ -971,20 +971,20 @@ reflection.kt: # 72| 0: [VarAccess] this. # 72| -1: [ThisAccess] this # 72| 1: [VarAccess] -# 72| 1: [FieldDeclaration] Rectangle ; +# 72| 2: [FieldDeclaration] Rectangle ; # 72| -1: [TypeAccess] Rectangle -# 72| 1: [Method] get +# 72| 3: [Method] get # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [VarAccess] this..height # 72| -1: [VarAccess] this. # 72| -1: [ThisAccess] this -# 72| 1: [Method] invoke +# 72| 4: [Method] invoke # 72| 5: [BlockStmt] { ... } # 72| 0: [ReturnStmt] return ... # 72| 0: [MethodAccess] get(...) # 72| -1: [ThisAccess] this -# 72| 1: [Method] set +# 72| 5: [Method] set #-----| 4: (Parameters) # 72| 0: [Parameter] a0 # 72| 5: [BlockStmt] { ... } @@ -1040,15 +1040,15 @@ reflection.kt: # 83| 0: [ExprStmt] ; # 83| 0: [KtInitializerAssignExpr] ...=... # 83| 0: [VarAccess] value -# 83| 4: [Method] getValue +# 83| 4: [FieldDeclaration] T value; +# 83| -1: [TypeAccess] T +# 83| 0: [VarAccess] value +# 83| 5: [Method] getValue # 83| 3: [TypeAccess] T # 83| 5: [BlockStmt] { ... } # 83| 0: [ReturnStmt] return ... # 83| 0: [VarAccess] this.value # 83| -1: [ThisAccess] this -# 83| 4: [FieldDeclaration] T value; -# 83| -1: [TypeAccess] T -# 83| 0: [VarAccess] value # 85| 6: [Class,GenericType,ParameterizedType] Inner #-----| -2: (Generic Parameters) # 85| 0: [TypeVariable] T1 @@ -1082,7 +1082,10 @@ reflection.kt: # 90| 0: [VarAccess] this. # 90| -1: [ThisAccess] this # 90| 1: [VarAccess] -# 90| 1: [Method] invoke +# 90| 2: [FieldDeclaration] Class2 ; +# 90| -1: [TypeAccess] Class2 +# 90| 0: [TypeAccess] T +# 90| 3: [Method] invoke #-----| 4: (Parameters) # 90| 0: [Parameter] a0 # 90| 5: [BlockStmt] { ... } @@ -1093,9 +1096,6 @@ reflection.kt: # 90| -2: [VarAccess] this. # 90| -1: [ThisAccess] this # 90| 0: [VarAccess] a0 -# 90| 1: [FieldDeclaration] Class2 ; -# 90| -1: [TypeAccess] Class2 -# 90| 0: [TypeAccess] T # 90| -3: [TypeAccess] Function1> # 90| 0: [TypeAccess] String # 90| 1: [TypeAccess] Inner @@ -1118,7 +1118,10 @@ reflection.kt: # 105| 0: [ReturnStmt] return ... # 105| 0: [VarAccess] this.prop1 # 105| -1: [ThisAccess] this -# 105| 2: [Method] setProp1 +# 105| 3: [FieldDeclaration] int prop1; +# 105| -1: [TypeAccess] int +# 105| 0: [VarAccess] prop1 +# 105| 4: [Method] setProp1 # 105| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 105| 0: [Parameter] @@ -1129,9 +1132,6 @@ reflection.kt: # 105| 0: [VarAccess] this.prop1 # 105| -1: [ThisAccess] this # 105| 1: [VarAccess] -# 105| 2: [FieldDeclaration] int prop1; -# 105| -1: [TypeAccess] int -# 105| 0: [VarAccess] prop1 # 107| 7: [Class] Derived1 # 107| 1: [Constructor] Derived1 #-----| 4: (Parameters) @@ -1159,20 +1159,20 @@ reflection.kt: # 109| 0: [VarAccess] this. # 109| -1: [ThisAccess] this # 109| 1: [VarAccess] -# 109| 1: [FieldDeclaration] Derived1 ; +# 109| 2: [FieldDeclaration] Derived1 ; # 109| -1: [TypeAccess] Derived1 -# 109| 1: [Method] get +# 109| 3: [Method] get # 109| 5: [BlockStmt] { ... } # 109| 0: [ReturnStmt] return ... # 109| 0: [MethodAccess] getProp1(...) # 109| -1: [VarAccess] this. # 109| -1: [ThisAccess] this -# 109| 1: [Method] invoke +# 109| 4: [Method] invoke # 109| 5: [BlockStmt] { ... } # 109| 0: [ReturnStmt] return ... # 109| 0: [MethodAccess] get(...) # 109| -1: [ThisAccess] this -# 109| 1: [Method] set +# 109| 5: [Method] set #-----| 4: (Parameters) # 109| 0: [Parameter] a0 # 109| 5: [BlockStmt] { ... } @@ -1197,7 +1197,7 @@ reflection.kt: # 115| 1: [Constructor] # 115| 5: [BlockStmt] { ... } # 115| 0: [SuperConstructorInvocationStmt] super(...) -# 115| 1: [Method] fn1 +# 115| 2: [Method] fn1 # 115| 3: [TypeAccess] Unit #-----| 4: (Parameters) # 115| 0: [Parameter] i @@ -1210,7 +1210,7 @@ reflection.kt: # 116| 1: [Constructor] # 116| 5: [BlockStmt] { ... } # 116| 0: [SuperConstructorInvocationStmt] super(...) -# 116| 1: [Method] invoke +# 116| 2: [Method] invoke #-----| 4: (Parameters) # 116| 0: [Parameter] a0 # 116| 5: [BlockStmt] { ... } diff --git a/java/ql/test/kotlin/library-tests/reflection/reflection.expected b/java/ql/test/kotlin/library-tests/reflection/reflection.expected index 577130728ec..9b6899f4b6e 100644 --- a/java/ql/test/kotlin/library-tests/reflection/reflection.expected +++ b/java/ql/test/kotlin/library-tests/reflection/reflection.expected @@ -230,4 +230,15 @@ modifiers | reflection.kt:126:9:126:13 | ...::... | reflection.kt:126:9:126:13 | invoke | override | | reflection.kt:126:9:126:13 | ...::... | reflection.kt:126:9:126:13 | invoke | public | compGenerated +| file:///Class2.class:0:0:0:0 | getValue | 3 | +| file:///Class2.class:0:0:0:0 | getValue | 3 | +| file:///KTypeProjection.class:0:0:0:0 | contravariant | 8 | +| file:///KTypeProjection.class:0:0:0:0 | covariant | 8 | +| file:///KTypeProjection.class:0:0:0:0 | invariant | 8 | +| reflection.kt:33:9:33:23 | getP0 | 3 | +| reflection.kt:34:9:34:23 | getP1 | 3 | +| reflection.kt:34:9:34:23 | setP1 | 3 | +| reflection.kt:83:17:83:28 | getValue | 3 | +| reflection.kt:105:18:105:31 | getProp1 | 3 | +| reflection.kt:105:18:105:31 | setProp1 | 3 | | reflection.kt:126:9:126:13 | | 1 | diff --git a/java/ql/test/kotlin/library-tests/stmts/loops.expected b/java/ql/test/kotlin/library-tests/stmts/loops.expected index 57c59b35d3a..83fd4aa5072 100644 --- a/java/ql/test/kotlin/library-tests/stmts/loops.expected +++ b/java/ql/test/kotlin/library-tests/stmts/loops.expected @@ -1,7 +1,6 @@ breakLabel | stmts.kt:25:24:25:33 | break | loop | continueLabel -breakTarget +jumpTarget | stmts.kt:25:24:25:33 | break | stmts.kt:23:11:27:5 | while (...) | -continueTarget | stmts.kt:29:9:29:16 | continue | stmts.kt:28:5:29:16 | while (...) | diff --git a/java/ql/test/kotlin/library-tests/stmts/loops.ql b/java/ql/test/kotlin/library-tests/stmts/loops.ql index 87b88738125..6887d3409ba 100644 --- a/java/ql/test/kotlin/library-tests/stmts/loops.ql +++ b/java/ql/test/kotlin/library-tests/stmts/loops.ql @@ -4,6 +4,4 @@ query predicate breakLabel(BreakStmt s, string label) { s.getLabel() = label } query predicate continueLabel(ContinueStmt s, string label) { s.getLabel() = label } -query predicate breakTarget(KtBreakStmt s, KtLoopStmt l) { s.getLoopStmt() = l } - -query predicate continueTarget(KtContinueStmt s, KtLoopStmt l) { s.getLoopStmt() = l } +query predicate jumpTarget(JumpStmt s, StmtParent p) { s.getTarget() = p } diff --git a/java/ql/test/kotlin/library-tests/stmts/stmts.expected b/java/ql/test/kotlin/library-tests/stmts/stmts.expected index 20369683ba2..89dbb959287 100644 --- a/java/ql/test/kotlin/library-tests/stmts/stmts.expected +++ b/java/ql/test/kotlin/library-tests/stmts/stmts.expected @@ -1,3 +1,54 @@ +enclosing +| stmts.kt:3:5:6:5 | ; | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:3:8:4:5 | ... -> ... | stmts.kt:3:5:6:5 | ; | +| stmts.kt:3:15:4:5 | { ... } | stmts.kt:3:8:4:5 | ... -> ... | +| stmts.kt:4:15:5:5 | ... -> ... | stmts.kt:3:5:6:5 | ; | +| stmts.kt:4:22:5:5 | { ... } | stmts.kt:4:15:5:5 | ... -> ... | +| stmts.kt:5:12:6:5 | ... -> ... | stmts.kt:3:5:6:5 | ; | +| stmts.kt:5:12:6:5 | { ... } | stmts.kt:5:12:6:5 | ... -> ... | +| stmts.kt:7:5:8:16 | while (...) | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:8:9:8:16 | return ... | stmts.kt:7:5:8:16 | while (...) | +| stmts.kt:9:5:11:5 | while (...) | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:9:18:11:5 | { ... } | stmts.kt:9:5:11:5 | while (...) | +| stmts.kt:10:9:10:16 | return ... | stmts.kt:9:18:11:5 | { ... } | +| stmts.kt:12:5:14:18 | do ... while (...) | stmts.kt:12:5:14:18 | { ... } | +| stmts.kt:12:5:14:18 | { ... } | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:12:8:14:5 | { ... } | stmts.kt:12:5:14:18 | do ... while (...) | +| stmts.kt:13:9:13:16 | return ... | stmts.kt:12:8:14:5 | { ... } | +| stmts.kt:15:5:15:13 | var ...; | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:17:5:17:58 | var ...; | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:17:26:17:58 | ... -> ... | stmts.kt:17:5:17:58 | var ...; | +| stmts.kt:17:26:17:58 | ... -> ... | stmts.kt:17:5:17:58 | var ...; | +| stmts.kt:17:35:17:43 | { ... } | stmts.kt:17:26:17:58 | ... -> ... | +| stmts.kt:17:37:17:37 | ; | stmts.kt:17:35:17:43 | { ... } | +| stmts.kt:17:50:17:58 | { ... } | stmts.kt:17:26:17:58 | ... -> ... | +| stmts.kt:17:52:17:52 | ; | stmts.kt:17:50:17:58 | { ... } | +| stmts.kt:18:5:18:56 | var ...; | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:18:26:18:56 | ... -> ... | stmts.kt:18:5:18:56 | var ...; | +| stmts.kt:18:26:18:56 | ... -> ... | stmts.kt:18:5:18:56 | var ...; | +| stmts.kt:18:37:18:37 | ; | stmts.kt:18:26:18:56 | ... -> ... | +| stmts.kt:18:52:18:52 | ; | stmts.kt:18:26:18:56 | ... -> ... | +| stmts.kt:19:5:19:16 | return ... | stmts.kt:2:41:20:1 | { ... } | +| stmts.kt:23:11:27:5 |